Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate a non-read-only mutation (readOnlyHint=false). Description adds the state transition ('Flips the thread back to intake_pending') and the requirement to answer every question exactly once, which is useful beyond annotations. Could mention failure modes, but sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.