Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even though annotations declare readOnlyHint=false and openWorldHint=true, the description adds meaningful behavioral context: it starts a run, waits, and returns a result. It explains the idempotency_key behavior (retrying returns the original run) and the timeout condition ('wait_timed_out' then call wait_for_run). The description also mentions approval_mode options, which are not fully covered by the annotations. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.