Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), and the description adds real value: append-only behavior, the 15-fact read window used by vacancy analysis, the return value (fact_id), and the 'invalid_payload' error condition with its 500-char limit. It doesn't cover auth requirements or explicit rate limits, but the behavioral disclosure is strong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.