Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden: it does not say whether the call is idempotent on an already-completed task, whether it requires write permissions, whether it mutates only the status or also timestamps, or what is returned. 'Mark completed' implies mutation but discloses no behavioral traits beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.