Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, so the description doesn't need to restate those. It adds useful behavioral context by calling the receipt 'permanent protocol proof,' implying immutability, and by explaining what event the receipt certifies. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.