For teams that publish an API
Contract GateDiff two versions of your OpenAPI spec and stop the breaks your policy forbids - before a partner finds them.
Paste the baseline and the candidate spec. Your browser diffs operations, parameters, request and response bodies, enums, required fields and security, reads deprecated, x-sunset, x-internal and x-extensible-enum, gives every change a check id, a level and a fingerprint - from the common defaults or your own levels file - matches your acknowledgement rows, checks the major-version bump and judges the gate. It writes severity-map.md, the levels file, the ignore file and skeleton entries. Then the pipeline design, and the changelog entries.
The API, and a short interview free
The two specs free
Your levels file and acknowledgements free
The diff and the gate free
What the page flags
The five gates
Every change, classified
Acknowledgements, audited
The rungs, ranked
Area by area
Your severity map, levels file, ignore file and entries free
A PR comment with the verdict, the gates and acknowledgement rows ready to fill in, severity-map.md for people, the tool's levels file generated from it, the ignore file generated from your acknowledgement rows - never edited by hand - and skeleton entries with the summary and action left for a person.
PR comment (Markdown)
severity-map.md
Levels file
Ignore file
Skeleton entries (JSON)
The pipeline design metered
Pricing as soon as the session is ready...
Sign inThe reply could not be read. Here it is as it came back:
Caveats
Caveats
The page's check of this reply
Saved gates
How it works - and what is sourced
The diff follows the skill's PR gate: operations removed (without deprecation, before or after their x-sunset date), newly marked x-internal or draft or alpha (they leave the filtered diff as removals and stay breaking), operationIds renamed, parameters added, removed, made required or retyped, request and response properties added, removed, made required or optional or retyped, enum values added or removed, success statuses removed, and security requirements, scopes and alternatives changed. Local $refs and allOf are resolved; oneOf branches are not compared, and external $refs are not followed. The default levels are what common diff tools ship; they disagree with published policies on response enum growth, auth changes and deprecated removals, so pin your policy in the levels file - a pinned level disables the downgrade x-extensible-enum would give. With semver in info.version, a breaking release without a major bump is raised to err.
Fingerprints hash the check, the operation, the location and the text, so an acknowledgement row survives new commits but not a moved baseline. The rungs follow the skill's ranking: PR gate, then the release diff with a declared-change channel, the approval record, the feed, usage-aware classification and the version-derived changelog, re-ranked by your timing, readers, usage data and versioning. The diff sees declared structure only: behaviour, defaults, error bodies, gateway auth and rate limits need the declared-change channel.