contract-proof
Purpose
Proves backward and forward compatibility of changed API, event and data contracts (OpenAPI/Swagger, AsyncAPI, JSON Schema, GraphQL SDL, protobuf, whichever the repository has).
Source Skill purpose
When to use it
Use contract-proof when a change may alter API, event or data compatibility. It compares the changed contract files in a format the project uses, preferring existing compatibility tooling and otherwise a built-in structural comparison. Each change receives a rule id, direction and classification as breaking, non-breaking or needing review. The impact report identifies consumers inside the repository; outside consumers remain unknown. Breaking behavior needs versioning, migration or deprecation in the frozen plan. A format that neither tool can parse is unsupported, not silently accepted.
A change is measured by a recorded differ command or traced through concrete source lines. Its element names a schema, operation or channel and the precise property involved. An uncertain classification is revisited by reading both contract versions. A covered breaking change still appears in the report with local consumers, while a file that no available tool understands remains unsupported.
Source Skill purpose
How it works
Source Flow
- Resolve the target Record base revision, head and the plan used for compatibility decisions.
Source Flow
- Diff contracts Run the built-in comparison on every changed contract file.
Source Flow
- Find consumers Use the impact report to locate repository consumers of breaking or uncertain changes.
Source Flow
- Use existing tools Run an installed format-specific compatibility tool when detection finds one.
Source Flow
- Resolve uncertainty Read both versions of uncertain changes before confirming or replacing their rule classification.
Source Flow
- Record judgments Keep observations separate unless they violate a written plan or specification criterion.
Source Flow
- Validate and report Validate the comparison data and report planned breaking changes and unsupported formats.
Source Flow
Key rules
- Measure with a recorded command or trace a change through concrete source lines.
Source Evidence rules
- Give every change a rule id that fixes its compatibility classification.
Source Evidence rules
- Mark an unreadable changed format unsupported rather than claiming it passes.
Source Evidence rules
- Name the exact schema, operation or channel and property for each change.
Source Evidence rules
- Treat consumers outside the repository as unknown even when local search finds none.
Source Evidence rules
Output and gate
Output
- Produce validated contract data, a report and a ledger for the review.
Source Output
Gate
- An unplanned breaking or uncertain change blocks compatibility review.
Source Gate rule (REVIEW contract focus)
- Unreadable contract files or no recognized contract produce an unsupported result.
Source Gate rule (REVIEW contract focus)
- With no blocking or unsupported condition, compatibility review passes.
Source Gate rule (REVIEW contract focus)
Source
Source Skill definition