Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden, and it does so well for the side effects: a new OTP is issued, the 10-minute TTL resets, and the attempt counter is cleared. It omits auth requirements, rate limiting, and error behavior, but discloses the important mutation consequences that an agent could not otherwise predict.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.