Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. 'Record' implies a write, but the description never says whether the write is idempotent, what happens on an unknown delivery_id, whether auth is required, or what receipt means on the server side. The USDC-transfer remark adds confusion rather than behavioral insight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.