Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already cover safety because the tool is read-only, idempotent, open-world, and non-destructive. The description adds value beyond that: it explains the three possible outcomes, warns that 'unknown is not clean' and that 'no matches is not proof of safety', and discloses that cache misses send package identities and versions to OSV. This is genuine behavioral context an agent could not infer from the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.