Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/idempotent annotations by disclosing the full status vocabulary (queued, rendering, ready, failed, expired, not_found), the 24-hour link expiry, the meaning of error_code, and that expired means files were deleted. This is the behavioral context an agent needs to poll and interpret results correctly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.