APEngineering PapersRecruiter route ↗

FAULTLINE / CONSENSUS / 8 MIN READ

Consensus Under Partition: What the Animation Must Not Hide

A failure lab earns trust only when quorum boundaries, message loss, the safety oracle, and simulator limitations remain inspectable.

A topology is not a proof

An animated five-node cluster can make consensus look understandable while removing the difficult part: which messages were delivered, under which term, and whether a quorum actually acknowledged a log entry. FAULTLINE treats motion as an index into evidence. Each campaign, partition, proposal, and heal operation enters a causal tape that can be replayed from a URL.

The engine behind that tape is not a JavaScript imitation. The repository’s C++17 Raft, MVCC, and linearizability sources are compiled with Emscripten and invoked through a narrow C interface. Native and browser builds therefore share the protocol implementation even though both remain an in-process simulator.

The minority leader test

The useful partition is not merely a red line between nodes. Isolate the current leader, let it accept a proposed client operation, and ask what became committed. A stale leader may still believe it leads for a short period; it must not manufacture a majority. The visible invariant is therefore not leader uniqueness alone. It is quorum-backed commitment within a term.

Healing the transport is another operation, not an edit to history. A new leader’s log becomes authoritative through the protocol. The event tape keeps the isolated proposal visible so the repair does not look magically clean.

Linearizability needs a witness

A green badge saying linearizable is weak evidence. The checker consumes invocation and response intervals, explores legal serializations, and returns a witness order when one exists. A deliberately stale read provides the negative control: the same checker must reject it.

The browser exposes explored-state counts and witness order because an oracle should leave a trail. A passing result without an inspectable input history or a failing control would be too easy to fake.

Where the claim ends

The measured throughput is a deterministic protocol microbenchmark. It excludes sockets, serialization, disk flushes, scheduler contention, snapshots, membership changes, and crash recovery from persistent media. Logical failover ticks are not milliseconds.

That boundary does not make the project less serious. It names the layer actually under test: state-machine and protocol behavior. Production claims would require a different transport, persistence layer, fault model, and measurement harness.

Reproduce the linked benchmark records before quoting a number outside its stated environment. The laboratory pages make the mechanism visible; repository tests and output remain the authority.