Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the annotations by disclosing the exact fields returned (subject, sender, destinations, SES tags, event timeline), the 500-event limit, the events_truncated flag, and the recommended paging mechanism. There is no contradiction with the readOnly/idempotent/non-destructive annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.