Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations give readOnlyHint=false, idempotentHint=true, destructiveHint=false, so safety and idempotency are covered structurally. The description adds real behavioral context: this is a partial record that does NOT complete the milestone or release payment, which is exactly the non-obvious trait an agent could misread.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.