Everything below happens in the demo at /app, over a fictional store. Nothing touches a real store, and nothing leaves your browser.
Go to /app. Click 'Autumn catalog update' — a Matrixify proposal checked against a baseline, about a thousand rows. Watch the pipeline run.
Overview → analysis switcher
The top card says BLOCK: 3 findings would orphan a variant, merge two products under one handle, and split a product group. A verdict you can interrogate.
Completeness · Confidence · Rule set version
Bar chart breaks deltas by state — CHANGED, CREATED, CLEARED, OMITTED, REKEYED. Click any bar to jump to the filtered change stream.
4 KPI tiles · Findings heatmap
REF-004 · Required parent handle present — expand it for the rule description, remediation, and exact provenance: sheet, row, column.
Baseline had a handle; the proposal cell is blank — explicit clear. Toggle unified view to see the diff. No rollback button — the fix happens in your file.
The ProofGraph flows subjects left to affected entities right. Dashed violet nodes are unresolved references. The traversal is bounded — stated, not claimed.
Switch to “Autumn catalog update (corrected)” — same catalog, blockers fixed. The decision flips to READY with only advisory warnings left.
The Full catalog re-export has a missing sheet, so collection-reference checks can't run. Click 'Declare empty' — your word is recorded as user-asserted evidence, kept separate from the file's facts.
Coverage → Declare empty
The Price list refresh declares an import intent — mode UPDATE_EXISTING, key ID_OR_SKU. Every material change gets a projection: WOULD_APPLY, WOULD_SKIP, or CONDITIONAL.
Intent → Import projection
Batching cuts the file into groups that never split a product. Export downloads report.json — deterministic, with digests — and the print view for sign-off.
Batching → Export → report.json
| Screen | What it answers |
|---|---|
| Overview | Is this import safe, and why or why not? |
| Changes | What exactly differs between baseline and proposal? |
| Findings | Which rules fired, on what, and which couldn't run? |
| Graph | What could this change reach? |
| Coverage | What does the file contain — and what stays unknown? |
| Intent | What would the importer do with these differences? |
| Batching | In what order can this be imported without splitting groups? |
| Export | What do I hand to the person who signs off? |
| Rules / Profiles / Settings | The rulebook, the pinned formats, and your preferences. |
Replay the guided tour any time from the demo's help menu (?).