Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite the readOnlyHint annotation, the description adds no behavioral context. It fails to disclose that the tool may return either payment instructions (when no payment_tx_hash is provided) or actual tariff data, nor does it explain response format or any dependence on payment state. The domain facts (20-year contracts, 0.020 USDC) are not behavioral.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.