Guided walkthrough / 10 steps / 3 sample analyses

Your first fifteen minutes.

Everything below happens in the demo at /app, over a fictional store. Nothing touches a real store, and nothing leaves your browser.

~15 minutes 3 analyses Browser-only
§ 1 — ~4 min

Open an analysis and read the decision.

Open the demo

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

Read the decision

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

Skim the charts

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

§ 2 — ~4 min

Find the broken cell and fix it.

The story: while blanking a discontinued collection, someone also blanked a Handle cell on a variant row. A blank handle detaches the variant. Here is how you find it, trace it, and see it fixed.
4Findings → BLOCK

Take the first blocker

REF-004 · Required parent handle present — expand it for the rule description, remediation, and exact provenance: sheet, row, column.

5Delta detail → Unified diff

Open the linked change

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.

6Graph → Impact paths

Check the blast radius

The ProofGraph flows subjects left to affected entities right. Dashed violet nodes are unresolved references. The traversal is bounded — stated, not claimed.

7Switcher → Corrected analysis

See the fix reach READY

Switch to “Autumn catalog update (corrected)” — same catalog, blockers fixed. The decision flips to READY with only advisory warnings left.

§ 3 — ~5 min

Evidence, batches and the proof.

Declare what the file cannot prove

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

What the importer would do

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

The deliverables

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

Where everything lives

Each screen answers one question.

ScreenWhat it answers
OverviewIs this import safe, and why or why not?
ChangesWhat exactly differs between baseline and proposal?
FindingsWhich rules fired, on what, and which couldn't run?
GraphWhat could this change reach?
CoverageWhat does the file contain — and what stays unknown?
IntentWhat would the importer do with these differences?
BatchingIn what order can this be imported without splitting groups?
ExportWhat do I hand to the person who signs off?
Rules / Profiles / SettingsThe rulebook, the pinned formats, and your preferences.

Ready to try it?

Replay the guided tour any time from the demo's help menu (?).

Open the demo