Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, openWorldHint), so the bar is lower; the description still adds the polling contract by saying it returns 'current status and result', which implies the job may be incomplete and the call may be repeated. It does not mention terminal states, rate limits, or behavior for an unknown ID.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.