Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, non-destructive, open-world behavior; the description adds genuinely new context: aggregation across 31 sources, per-story computed fields, a per-call price of USD 0.003, the x402/USDC-on-Base payment rail, and the fact that failed calls are not charged. That billing-on-failure detail is exactly the kind of trait annotations cannot express; only the payment mechanics (e.g. whether a payment header must be supplied) remain vague.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.