Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/idempotent/open-world safety, and the description adds genuinely non-structured context: the rate comes from a static table (staleness implication), the result includes the inverse, and it carries a signed receipt. It does not explain what the receipt is for or how it should be verified, leaving 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.