Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, idempotentHint=false and openWorldHint=false, so the safety profile is covered. The description adds a genuine behavioral trait beyond that: the post-seal refusal rule and the accept_invoice_change escape hatch, which is exactly the kind of lifecycle constraint an agent cannot get from annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.