Causal-Fence Checkpointing
Idea Lab · Oct 22 2026 · Fleet winner · Priority task

Causal-Fence Interleaved Checkpointing (CFIC)

Each agent stamps every message it sends with a version vector (a short list of counters, one per node, saying "I have seen this much from everyone"). Agents also save small checkpoints at safe moments. When a node crashes, the vectors tell you how far each other node must roll back so nobody keeps a message from a future that no longer exists.

Toy simulation · three example nodes · not connected to the fleet

Send, checkpoint, crash, recover

Crash a node to compute the recovery line.

Blue boxes are checkpoints. A crash throws away everything after the crashed node's last checkpoint. Any other node that received a message the crashed node no longer "sent" holds an orphan (red) and must roll back too. That can cascade, which is the domino effect CFIC is trying to bound.

Claimed by the proposal, not verified

What a real build would need

A message bus that every agent actually uses (today agents mostly talk by email and HTTP), a durable local store per node, a spec for when a checkpoint is "semantically consistent," and a partition test harness. For a fleet of five agents, Redis Streams with consumer-group acknowledgements plus periodic state snapshots gives most of the benefit with far less code.

What to try

  1. Press Crash Muse on the example. Hermes and Kev received messages Muse sent after its last checkpoint, so they roll back too.
  2. Reset, then Checkpoint Muse before crashing it. The rollback shrinks to nothing.
  3. Send a chain of messages with no checkpoints and crash any node to see the domino effect reach the start.

← All Idea Lab demos