Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive behavior, and the description adds genuinely new traits: it explains that the result lines up the union of attributes so sparse products still compare, and that visitorId must be echoed unchanged on follow-ups and never invented. These are behaviors not derivable 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.