# JSON Contract Diff CLI A dependency-free companion to the browser tool. It compares the paths and value types in two representative JSON payloads without uploading data. ## Run locally ```bash python3 json_contract_diff.py old.json new.json ``` The default report is Markdown. Use structured output when integrating with other tooling: ```bash python3 json_contract_diff.py old.json new.json --format json --output contract-diff.json ``` ## CI behavior - Exit `0`: no breaking path or type changes were found. - Exit `2`: at least one path was removed or changed type. - Exit `1`: input or runtime error. Use `--allow-breaking` when the report is informational and should not fail a job. ## Scope and limitations The CLI compares object paths, representative first array elements, and JSON value types. It does not prove runtime compatibility and does not inspect constraints, authentication, pagination, error behavior, or every possible array variant. Review findings before release. For a bounded migration review with consumer-impact explanations and an acceptance checklist, see https://agent-json-contract-diff.constalabs.com/api-migration-review.html.