Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=false and idempotentHint=false, but the description adds real substance beyond them: it discloses the authorization chain (verify stock, lock quote, authorize payment) and a hard security constraint ('Never send raw card numbers'). It stops short of stating irreversibility, charge semantics, or failure/rollback behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.