Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare the safety profile (not read-only, idempotent, non-destructive, closed-world), and the description adds real value on top: the order is created unpaid, the response is a checkout URL off-site on Stripe, and no print job is triggered until payment. That two-phase flow (order → external payment → production) is the key behavioral fact an agent needs. It does not say whether re-calling reuses or replaces an existing unpaid order, which matters given idempotentHint=true.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.