Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden and does partially meet it: it discloses that hyphens are stripped before checking and that the response contains a validity flag plus the detected type. It omits what happens on malformed input (error vs. valid=false), whether spaces or an "ISBN:" prefix are tolerated, and what a signed wallet implies for auth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.