Aegis ResponseNet / Interactive lab
Replay the difficult path.
Dispatch a command twice. Watch a read model lag behind. Fail a downstream step and release the reservation through compensation.
Interactive reference model
One synthetic fulfillment command, one inventory unit, and an event-driven read model. Choose a success or failure path, then replay delivery.
Dispatch the sample command to reserve one unit of inventory.
- Command state
- idle
- Read model
- idle
- Reservation held
- No
- Duplicate commands ignored
- 0
- Duplicate deliveries ignored
- 0
- Command idempotency key
- cmd-1042
Outbox
Domain state changes immediately. The read model catches up only when you deliver the outbox.
- No events yet.
Transition log (0)
- No transitions yet.
Runs entirely in this browser tab with synthetic data. State resets on reload. No broker, database, or remote service runs here; events are delivered in their recorded order.
Try these sequences
- Dispatch → retry the same command. One reservation and one event remain.
- Complete fulfillment → deliver the outbox → deliver it again. The projection converges and duplicate delivery adds no state change.
- Reset → dispatch → fail → run compensation → deliver. The failed operation releases its reservation through a separate recorded action.
What this model leaves out
The state machine is executable TypeScript. The original wider design considers service boundaries, a transactional database, Kafka, and distributed tracing. This browser model demonstrates the transition rules; it does not establish durability across crashes, correctness under concurrent writers, or broker ordering guarantees.