Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only/idempotent safety profile, and the description adds real value beyond them: expected latency, poll cadence, the result.pins payload shape, and the scope boundary against get_generation_status. It only gestures at 'status is success' without enumerating failure/pending states or what to do if polling runs long, which is the one behavioral gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.