Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, so 'Read-only' is largely redundant, but the description adds genuine behavioral context by explaining the two coverage outcomes (pre_ranked shortlist vs live_sourced) and confirming it is side-effect free. It stops short of describing response shape or partial-match behavior, which with a rich output schema is a minor gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.