Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, the description discloses genuinely non-obvious behavior: committed markets settle automatically, corroborated receipts are required before SKIPPED/COMMITTED_SETTLED is reported, pending cases yield SKIPPED/NOT_CLAIMABLE_YET with claimed:false, and a zero amount is an unavailable placeholder rather than a real credited zero. It also explicitly states no transaction is submitted for a committed market, which resolves the main ambiguity for a read-only tool that discusses claiming.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.