Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations and no output schema, the description carries the full disclosure burden, yet it only implies a mutating 'add' operation. It says nothing about whether the constraint is idempotent, what happens if line_id does not reference a valid line entity, whether the constraint can later be removed, or how failure is reported.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.