Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description's burden is lighter. It usefully implies a structured rather than thrown result by mentioning a `reason` field, hinting at failure semantics, but it never says whether a failed verification returns an error or a populated reason, nor anything about signature/source requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.