Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. It discloses the inputs, their defaults, and that the tool 'Returns the current code', which implies a time-rotating, side-effect-free computation. It omits important traits such as whether the code expires with the period, whether any credentials or network are required, and how the `locale` argument affects the result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.