Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It transparently states the side effect (set is_published=true), the validation condition (all lessons have content_url), and the failure behavior (returns error if any lesson is empty), plus a recovery path. It omits details like idempotency or success response, but core behavior is well-covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.