chaffchaff
← rule catalog

tool.schema-description-drift

enforcedstructuralseverity: medium
A deterministic fact about the artifact that asserts nothing about behavior, so it needs no eval (SPEC §6).

Claim

A tool description documents a parameter that its inputSchema does not declare, or a required schema parameter is missing from a description that documents its peers.

Rationale

The schema is what the model can actually call; the description is what it reads. When they disagree, the model is being taught arguments that will be rejected, or never told about arguments it must supply. Matching contract: backtick-quoted snake_case/camelCase identifiers, tool names and schema enum values excluded; a forward-drift candidate (documented, absent from the schema) additionally requires an explicit adjacent parameter cue ("the `X` parameter/argument/field/option/flag", "pass/set/use `X`", "`X` (required)"), so a name mentioned only as a prose reference to another tool's convention is never flagged. False negatives are preferred over false positives (SPEC §12).

Fix

Make the description and inputSchema agree: add the missing property, or correct the documented name.

chaff explain tool.schema-description-drift: same registry, offline, from the CLI.