Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only flag idempotency and non-destructiveness; the description adds the real behavioural payload — this is an idempotent refund/compensation path, not a regeneration, and the refund trigger set is precisely bounded by HTTP status codes. The enumerated result states (reachable, unconfirmed, refund_pending, refunded) and the pointer to settlement for amounts give the agent the side effects it must anticipate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.