Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without relying on annotations, the description adds genuinely useful behavioral guarantees: output is deterministic, citations are attached, missing datapoints are surfaced as explicit gaps, and nothing is fabricated. What it omits is whether the compiled draft is persisted and what request_id/payment_ref imply (annotations mark it non-readOnly, non-idempotent), so side-effect behavior is left unclear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.