FA-74908 / CRDT convergence / Member archive
LWW register with Lamport stamps: writer id outranks the clock · case 03
A replica with a large id wins even with a much older write.
Case contract
Each replica holds a register [value, clock, writer] and a Lamport clock, all starting at [None, 0, ""] and 0. ["set", r, v] increments r's clock and stamps v with (clock, r). ["send", s, d] delivers s's register to d: d's clock becomes max(own, incoming clock) and d adopts the incoming register when (clock, writer) is lexicographically larger. Return values and clocks per replica.
Why this case matters
Last-writer-wins registers need total, replica-independent stamp ordering to converge.
One recorded failure
Sample boundary fixtureThis sample comes from the broken implementation of a controlled reproducer.
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| older state is ignored | {"clocks": [4, 1, 4], "values": ["s2", "bb", "bb"]} | {"clocks": [4, 4, 4], "values": ["s2", "s2", "s2"]} | Failed |
MEMBER ARCHIVE
The complete case is available to members.
This record includes three runnable implementations, regression fixtures, execution results, and source hashes.
Member access is invitation-based. Sign in with your invited account to inspect the sources.
Sign in to the archive ↗