Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations by disclosing concrete behavioral details: Polymarket as primary source, Kalshi as fallback, expiry tolerance relative to horizon, liquid-strike filtering, monotonicity enforcement, interpolation at spot, supported symbols, and null behavior when no market exists. No contradiction exists with the readOnly/destructive annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.