Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden and does so: it discloses nucleus inference from the header, the `peaks_by_nucleus` shape for multi-header text, the 1000-peak truncation boundary with `n_parsed` as the untruncated count, and that silent repairs/drops are named in `warnings`. That is precisely the behavior an agent needs to interpret results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.