FA-74938 / CRDT convergence / Member archive
Observed-remove set with unique tags: remove deletes locally without tombstones · case 03
Removed elements come back as soon as a peer that still holds them merges in.
Case contract
Each add at replica r creates tag "r:k" where k is r's add counter. A remove at r tombstones only the tags of that element r currently observes and removes them locally. ["merge", s, d] unions tombstones and live tags into d, then subtracts d's tombstones and drops elements with no live tags. Return sorted members per replica.
Why this case matters
Observed-remove sets give add-wins semantics for concurrent add/remove pairs.
One recorded failure
Sample boundary fixtureThis sample comes from the broken implementation of a controlled reproducer.
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| removal propagates by merge | [[], ["e3"]] | [[], []] | 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 ↗