Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes far beyond the annotations by disclosing that cancellation is best-effort and asynchronous: a queued run returns 'failed'/'cancelled' and never starts, a running run returns still 'running' and stops at its next step, credits are consumed only if data.result.operations is non-empty, and the project stays locked until settlement. It also names the 15-minute execution_timeout fallback.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.