Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The formula itself is a strong behavioral disclosure: it tells the agent exactly how the calculation is performed. Combined with the annotations (readOnlyHint=true, idempotentHint=true), this gives a complete safety profile. The only missing piece is edge-case handling (e.g., zero income), but the explicit formula covers the core behavior beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.