Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only/idempotent/non-destructive profile, and the description adds substantial behavior beyond them: the downstream consent flow (submit_signup with agreement={versionId,accept:true}), the signing snapshot and organization audit trail, the hard rule never to check the box on the user's behalf, and version-conflict re-confirmation. This is exactly the extra context the annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.