Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description substantially enriches the readOnly/idempotent annotations by disclosing exactly what the engine reads (metrics and sensory_tags, not notes), how bean age is computed (at pulled_at using the shot's own bean), and what output context is emitted (bean_context). This is meaningful behavioral information beyond the structured annotations, and there is no contradiction with the declared readOnlyHint, idempotentHint, or destructiveHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.