Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose the return contract in detail (key, label, type, required, help text, options), which is the main behavior an agent needs since no output schema exists. It is silent on ordering, caching, or how the options list behaves when empty, so it is strong but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.