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.

  1. No events yet.
Transition log (0)
  1. 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

  1. Dispatch → retry the same command. One reservation and one event remain.
  2. Complete fulfillment → deliver the outbox → deliver it again. The projection converges and duplicate delivery adds no state change.
  3. 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.

Read the project and engineering trade-offs