Lynn Lee / LABS

LEARNING LAB / CONTRACTS

Data Contract Lab

Will this upstream change break a reader?

Compare producer promises with consumer expectations, replay the same events against both versions, and inspect the evidence. All checks run in your browser.

Browser-local · No uploads · Synthetic examples

Four experiments. One explicit direction.

New producer → existing consumer. A changed contract is a promise; replayed samples are observations. Neither executes your production implementation.

DCL/1 is a restricted contract language, not a full JSON Schema validator. Unsupported keywords are input errors.

Follow the six-unit reading and repair exercise →

Paste an input bundle

Limits: 2 MB per input; 500 JSONL rows; 12 consumers; schema depth 8 / 160 nodes. A trailing newline is allowed. Interior blank lines are errors.

Load a synthetic scenario to begin.

Save evidence

JSON and readable exports include the supplied contracts and names, generated witnesses and diagnostics. Raw event values are omitted. CSV prefixes formula-like cells and quotes every field; do not remove those guards when importing into a spreadsheet.