Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/openWorld/idempotent annotations, the description discloses real operational behavior: null means unknown rather than zero, one admitted call consumes one shared account request even on error, and there are no automatic retries. That quota and retry disclosure is exactly the kind of trait annotations cannot express.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.