ContractCanary / Local release checks

Catch breaking tool schemas before release.

Compare a saved contract with a candidate. Fail CI when inputs become narrower or outputs stop meeting the saved guarantee. Run locally. No tool calls, accounts, or customer uploads.

node src/cli.mjs fixtures/additive.json --human

ContractCanary: PASS
Adapter: json-schema

A pass has a precise scope.

Structural compatibility in a documented JSON Schema subset. Required fields, types, enums, object properties, arrays and bounds are checked. Unsupported keywords, missing schemas and malformed input return UNKNOWN, not PASS.

Open the labeled additive fixture receipt · Read the local CLI guide · Privacy

MCP snapshot adapter

Use saved tools/list captures with inputSchema and outputSchema. ContractCanary never connects to an MCP server or invokes its tools. Missing outputSchema is unknown. Authentication, behavior and side effects are outside this check.