Guided tour

Ten stops, about 12 minutes · opening balance first, then the ledger, then the gates · the same order i3 is actually built in

Stop 1 of 10
auto-play 15s per stop Skip Esc
Stop 1 is not an introduction, it is a prerequisite. The previous system skipped the opening balance and every number it produced afterwards was wrong. If you read only one stop, read this one. Opening stock →
Ten stops
1Opening balance
/opening-stock
2The 16 stock types
/inventory-live
3The quantity ledger
/sku-detail
4Composites
/sku-detail
5Events, never edits
/audit-log
6The classifier
/classifier
7Siblings push
/sibling-events
8The unit ledger
/rfid
9Drift and reconcile
/rfid-recon
10The nine gates
/reports
Stop 1 · Phase 0 · Opening balance01 / 10

Nothing works until this is signed

i2 was architecturally sound and produced garbage, because nobody ever loaded the opening stock. Every sale deducted from a starting balance of zero, so sellable drifted to minus 140,753 units and 410 "stockouts" meant nothing at all. The tool to fix it existed the whole time. The physical count never happened. i3 makes the count the gate: no location produces a trustworthy number until a named manager has signed its opening balance.

What to look at

  • Three sources, ranked. A fresh physical count at a store, an accepted warehouse count paired with the RFID mass-tagging run, or Shopify levels as a fallback that is explicitly flagged unverified and never presented as truth.
  • One signature per location, by name. Not a checkbox. The signer, the timestamp and the source are stored on the row, because in six months somebody will ask who agreed to this number.
  • The mass-tagging campaign is the count. 139,561 units at HQ_319, three staff, two weeks, roughly 500 tags an hour. One operation produces both the RFID tags and the signed opening balance. Doing them separately would mean counting twice.
  • GATE-0 is the exit. Balances signed per location, the hash chain verifies, and the total sits within 1% of the Shopify total. It passed on 22 July at 0.31%.
  • Unverified is visible forever. A location seeded from Shopify carries that flag on every page until a real count replaces it. Nobody gets to forget which numbers were guessed.

Why this stop is first

  • Ordering is the lesson. Every other stop in this tour describes machinery that only produces correct answers if this one already happened. A perfect ledger on a wrong opening balance is a perfect record of a wrong number.
  • It is the cheapest possible fix. Two weeks of counting, once, versus years of reconciling numbers nobody believes.
Phase 0 GATE-0 passed 22-07 law 1 pairs with RFID mass-tag Open the page ↗
Preview opening-stock.html
live page · opens in this tab on Enter

What you will see there

  • A per-location loader with the source picker and the unverified flag
  • A signature block with the signer, the timestamp and a locked total
  • A variance panel comparing the count to the Shopify level
  • A GATE-0 readout: signed locations, chain status, percentage gap
Locations
7 of 7 signed
Units
44,167
Gap vs Shopify
0.31%
Unverified
2 stores
Chain
verified 06:00
← → move · P auto-play · Enter open the page · Esc exit

All ten stops

The tour is scannable without playing it. Every stop maps to a phase, a law and a page you can open right now.

about 12 minutes
#StopThe one ideaPhaseLawGateTimePage
1Opening balanceA perfect ledger on a wrong opening balance is a perfect record of a wrong number01GATE-02:10opening-stock
2The 16 stock typesA unit is in exactly one type at one location. Moving between types is a row, not an edit03GATE-01:40inventory-live
3The quantity ledgerAppend-only, hash-chained, with balance_after on every row13GATE-11:30sku-detail
4CompositesA composite sale posts component rows only. The parent never gets a row15GATE-11:20sku-detail
5Events, never editsA mistake is fixed by a compensating row. History is never rewritten13GATE-11:10audit-log
6The classifierRoughly 50 rules decide what an event means. Unmatched posts nothing and opens a case16GATE-11:25classifier
7Siblings push, i3 ownsSix systems send signed events. Only i3 decides what they mean for stock26GATE-21:15sibling-events
8The unit ledgerThe second ledger says which physical unit and where. Gate reads are immutable64GATE-61:35rfid
9Drift and reconcileThree-way: RFID against the ledger against Shopify. A gap is a case with evidence64GATE-61:30rfid-recon
10The nine gatesA phase closes only when its identity holds for 7 consecutive days82GATE-81:45reports
The order is deliberate. Stops 1 and 2 are prerequisites, 3 to 6 are the engine, 7 is the contract with the rest of the estate, 8 and 9 are the second ledger, 10 is how you know any of it is true.

Where each stop lands on the build

The tour follows the build order, not the menu order · gates in green have passed

GATE-1 day 6 of 7
Phase 0 · Foundation and opening balance · GATE-0 passed 22-07 Phase 1 · Sales and cancellations · GATE-1 day 6 of 7 Phase 2 · Returns, exchanges, repairs · locked Phase 3 · Inbound PO PI GIT GRN QC · locked Phase 4 · Transfers and retail · locked Phase 5 · IWMS physical layer · locked Phase 6 · RFID serial layer · shadow mode Phase 7 and 8 · Programs, intelligence and finance · locked Stop 1 · Opening balance 1 Stop 2 · The 16 stock types 2 Stop 3 · The quantity ledger 3 Stop 4 · Composites 4 Stop 5 · Events, never edits 5 Stop 6 · The classifier 6 Stop 7 · Siblings push, i3 owns 7 Stop 8 · The unit ledger 8 Stop 9 · Drift and three-way reconcile 9 Stop 10 · The nine gates 10 Phase 0 · passed Phase 1 · in gate Phase 2 Phase 3 Phase 4 P5 P6 · shadow P7-8 GATE-0 held 7 days from 15-07 to 22-07 GATE-0 held 7d GATE-1 day 6 of 7, divergence 0.04% against a 0.10% threshold GATE-1 day 6/7 GATE-6 shadow mode, 91% of units tagged shadow
Stops 8 and 9 describe a layer that is running in shadow today. That is deliberate: the tour teaches the whole model, and the gate-blocked state tells you which parts you can trust yet.

Tour completion by persona

Who has finished · 24 people with an i3 grant

14 of 24 complete
Owner · 1 of 1 · 100% Store manager · 5 of 7 · 70% WH operator · 2 of 5 · 40% Inbound coordinator · 2 of 3 · 75% CS agent · 1 of 3 · 33% Marketing · 1 of 2 · 50% Finance · 2 of 2 · 100% Planner · 0 of 1 · 20% partial OwnerStore managerWH operatorInbound CS agentMarketingFinancePlanner 100%70% 40%75% 33%50% 100%20%
Warehouse and CS lag because their work starts on a phone, not a desk. Their onboarding paths open on the scanner, not the dashboard.

Onboarding checklist

The tour teaches the model. The checklist proves you can operate it. Progress saves automatically.

filtered to: WH operator4 of 16 done
StepWhat you actually doPersonaPhaseEstPageStatus
✓Sign in with SSOGoogle on @minimalist.ae, then TOTP. No app has its own password.all02mlogindone
✓Set your location scopePick your home location in the header. It filters every page you open.all01mlocationsdone
✓Take the guided tourTen stops. Stop 1 explains why every other stop matters.all012mtourdone
✓Read the seven lawsEach one exists because something specific broke. Learn which.all06mhelpdone
5Learn the 16 stock typesName which types count as sellable without looking. There are four.all08mhelpnext
6Read a SKU movement timelineOpen any SKU and trace how it got to its current balance, row by row.all110msku-detailtodo
7Post your first GRNReceive a real inflow: count, compare to the PI, route the QC buckets.WH, inbound315mgrntodo
8Handle a short receiptReceive what physically arrived, never what the PI claims. Watch the delta open a claim.WH, inbound38mgrntodo
9Run a cycle countBlind entry, variance review, dual approval above 5 units.WH, store820mstock-counttodo
10Confirm a transfer receiveScan the AWB QR, verify the lines, watch the in-transit balance net to zero.WH, store46mtransferstodo
11Report a damage from the floorPhoto plus SKU plus bin. It routes to the QC queue with an incident id.WH, store75mdamagestodo
12Read the negative balance playbookThree causes, one procedure, and the one thing you must never do.all15mhelptodo
13Open a drift case with evidenceAttach the count, the ledger window and the photo. A case without evidence gets rejected.all810mdrifttodo
14Tune your notificationsPick sources, severity floor and channel. Aim for under 6 alerts a day.all14mnotificationstodo
15Save your first viewFilters, columns, sort and sections. Set it as your default for the page.all13minventory-livetodo
16Learn the palette grammarJump to a SKU, an order, an AWB, an EPC or a case without touching the nav.all14mcommand-palettetodo
Steps are persona-filtered but never persona-locked. A store manager can run the GRN walkthrough, they just are not asked to.

State variants

A tour has failure modes too, and each one must look intentional

Library ↗
Loading
Empty
You finished this tour on 12 July.
Two stops changed since then: the unit ledger and the gates. Replay just those, or start over.
Error
Stop 8 could not load its preview.
The RFID page timed out. The tour continues without it. Error id tour-3f19b0.
Permission
Stop 10 needs a role you do not hold.
The gate report needs ops_manager. The stop is skipped with a note rather than failing the tour.
A tour that dead-ends on a permission error teaches the wrong lesson on day one

What the tour will not do

Deliberate omissions

No screenshots. Every preview points at the live page. A screenshot is a promise that rots the first time a page changes, and there are 72 of them.

No feature tour. Ten stops teach the model, not the menu. Somebody who understands the two ledgers can find any page. Somebody who memorised the menu still cannot explain a negative balance.

No congratulation screen. Finishing produces a checklist and a link to your first real task, not a badge.

No hiding the unfinished parts. Stops 8 and 9 describe a layer running in shadow. Pretending it is live would be the first lie the product tells you.

Stops
10
Runtime
about 12 minutes
Auto-play
15s per stop
Keys
← → P Esc
Progress
saved per person
Replay
changed stops only
Finishing marks tour_completed_at and unlocks the checklist
Connected to Dashboard Help Opening stock Live inventory SKU detail Audit log Classifier Sibling events RFID 3-way reconcile Drift Reports Notifications Command palette State library Login and access