Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false), so the bar is lower. The description still earns credit by disclosing the non-obvious replacement semantics of `events` ('replaces the whole list rather than adding to it'), a behavioral trait not derivable from the schema. It does not state whether omitted fields are left unchanged, which is the one remaining gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.