Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With destructiveHint=true already carrying the mutation/destructive signal, the description adds useful behavior beyond annotations: tenant-scoped access control, a 404 for out-of-workspace projects, non-empty enforcement for goal_md, and the exact return shape. It does not explicitly state that an existing goal is overwritten, but the destructive annotation covers that risk.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.