Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so safety and determinism are structured. The description still adds real value with 'no storage' (nothing is persisted) and 'canonicalizes' (implying the same logical value yields the same hash), which are the key behavioral traits for citing a hash as evidence.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.