Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and succeeds: it discloses the returned fields (price, latency, terms, argument schema, selection rule), the ranked matching behavior, and the intended invocation context. There is no ambiguity about side effects or read-only status because the description frames it as a discovery/query operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.