Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: discloses that the number lands in a secret store, only the last four are recorded and returned, it must be passed once and not repeated, PERMISSION_DENIED is returned on submitted applications, and ABORTED means a concurrent change and safe retry. This is a rich behavioral contract not derivable from destructiveHint/openWorldHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.