Incident stream loaded. Projection is at canonical head.
Immutable event log
Rows are envelopes in hash-chain order. Select any sequence to rebuild the projection at that point.
Projection at cursor
No inventory table is stored as truth. This read model is reduced from sequence 1 through the cursor.
Inventory projection
on hand − reserved = available| SKU | Product | On hand | Reserved | Available |
|---|
Order projection
0 ordersOperations projection
same stream, different questionsCanonical history vs. hypothetical future
The violet lane shares a verified canonical prefix, then diverges. Its events never enter the canonical array.
Command gate
Validation runs against the active head projection. Accepted commands append one immutable event; rejected commands append nothing.
Rejected commands
Failures are operational evidence, not domain events. The event sequence does not advance.
Branch comparator
Compare both heads—not the current cursor—to see the business consequence of the fork.
Verified snapshots
Snapshots cache derived state. Their event and state hashes are rechecked before import.
Replay proof + integrity lab
A complete replay must reproduce the recorded head projection hash. A forged link stops reduction at the last valid event.
Waiting for audit…
Append a well-formed envelope with a forged prevHash. Existing events remain untouched.
Local data port
Export plain JSON. Import is atomic: schema, hash chain, domain transitions, branch ancestry, and snapshots must all validate first.
Keyboard: ←/→ step, Space play/pause, F fork, S snapshot.