Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It adds meaningful behavior: 'real-time', 'closed positions' as the source, and a JSON series of cumulative PnL points as the output. However, it does not say whether the operation is read-only, how freshness is defined, or whether it aggregates over all time, leaving behavioral uncertainty.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.