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

Steps of the skill, in source orderEach numbered step follows the skill definition and links to its source.1. Resolve the targetFlow2. Diff contractsFlow3. Find consumersFlow4. Use existing toolsFlow5. Resolve uncertaintyFlow6. Record judgmentsFlow7. Validate and reportFlow
Steps of the skill, in source order

Source Flow

  1. Resolve the target Record base revision, head and the plan used for compatibility decisions.

    Source Flow

  2. Diff contracts Run the built-in comparison on every changed contract file.

    Source Flow

  3. Find consumers Use the impact report to locate repository consumers of breaking or uncertain changes.

    Source Flow

  4. Use existing tools Run an installed format-specific compatibility tool when detection finds one.

    Source Flow

  5. Resolve uncertainty Read both versions of uncertain changes before confirming or replacing their rule classification.

    Source Flow

  6. Record judgments Keep observations separate unless they violate a written plan or specification criterion.

    Source Flow

  7. 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

← All skills