FA-76096 / Chat ordering and read receipts / Open access
Apply create, edit and delete events to message state: version compare · case 01
A delayed older edit overwrites the newest text of a message.
ROOT CAUSE
The version compare decision evaluates `if e['ver'] != state[i]['ver']:` where the contract requires `if e['ver'] > state[i]['ver']:`.
THE FAILURE
The version compare decision evaluates `if e['ver'] != state[i]['ver']:` where the contract requires `if e['ver'] > state[i]['ver']:`.
Unsuccessful approach: Accepting equal versions lets a conflicting duplicate-version edit replace the text that was applied first. The attempted `if e['ver'] > state[i]['ver'] - 1:` still disagrees with a fixture.
Case contract
events {op, id, ver, text} arrive in any order and are processed in arrival order. Per id the highest version wins and an edit that only equals the current version is ignored; an edit that arrives before its create is buffered (highest buffered version kept) and applied if it is newer than the create. Delete is terminal: the id shows None and later creates and edits are ignored whatever their version. Result: id -> text (None for deleted) for created or deleted ids, sorted by id.
Why this case matters
Message edits and deletions race with the original message across devices; tombstones must stay terminal.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(events):
state = {}
buffered = {}
dead = set()
for e in events:
i = e['id']
if e['op'] == 'delete':
dead.add(i)
state[i] = {'text': None, 'ver': e['ver']}
elif i in dead:
continue
elif e['op'] == 'create':
best = buffered.pop(i, None)
state[i] = best if best and best['ver'] > e['ver'] else e
elif i in state:
if e['ver'] != state[i]['ver']:
state[i] = e
else:
cur = buffered.get(i)
if cur is None or e['ver'] > cur['ver']:
buffered[i] = e
return {i: v['text'] for i, v in sorted(state.items())}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
_CASES = {1: [('edit after delete with higher version', ([{'op': 'create', 'id': 'a', 'ver': 1, 'text': 'hi'}, {'op': 'delete', 'id': 'a', 'ver': 2, 'text': None}, {'op': 'edit', 'id': 'a', 'ver': 4, 'text': 'again'}],), {'a': None}), ('edit arrives before create', ([{'op': 'edit', 'id': 'b', 'ver': 2, 'text': 'fixed typo'}, {'op': 'create', 'id': 'b', 'ver': 1, 'text': 'fixd'}],), {'b': 'fixed typo'}), ('stale buffered edit', ([{'op': 'edit', 'id': 'c', 'ver': 1, 'text': 'old'}, {'op': 'create', 'id': 'c', 'ver': 3, 'text': 'new'}],), {'c': 'new'}), ('late stale edit', ([{'op': 'create', 'id': 'd', 'ver': 1, 'text': 'x'}, {'op': 'edit', 'id': 'd', 'ver': 3, 'text': 'z'}, {'op': 'edit', 'id': 'd', 'ver': 2, 'text': 'y'}],), {'d': 'z'}), ('two buffered edits out of order', ([{'op': 'edit', 'id': 'e', 'ver': 3, 'text': 'v3'}, {'op': 'edit', 'id': 'e', 'ver': 2, 'text': 'v2'}, {'op': 'create', 'id': 'e', 'ver': 1, 'text': 'v1'}],), {'e': 'v3'}), ('two buffered edits in order', ([{'op': 'edit', 'id': 'h', 'ver': 2, 'text': 'w2'}, {'op': 'edit', 'id': 'h', 'ver': 4, 'text': 'w3'}, {'op': 'create', 'id': 'h', 'ver': 1, 'text': 'w1'}],), {'h': 'w3'}), ('conflicting edit with equal version', ([{'op': 'create', 'id': 'i', 'ver': 1, 'text': 'x'}, {'op': 'edit', 'id': 'i', 'ver': 2, 'text': 'first'}, {'op': 'edit', 'id': 'i', 'ver': 2, 'text': 'second'}],), {'i': 'first'}), ('create after delete', ([{'op': 'delete', 'id': 'f', 'ver': 1, 'text': None}, {'op': 'create', 'id': 'f', 'ver': 1, 'text': 'ghost'}],), {'f': None}), ('plain messages', ([{'op': 'create', 'id': 'g0', 'ver': 1, 'text': 't0'}],), {'g0': 't0'})], 2: [('edit after delete with higher version', ([{'op': 'create', 'id': 'a', 'ver': 1, 'text': 'hi'}, {'op': 'delete', 'id': 'a', 'ver': 2, 'text': None}, {'op': 'edit', 'id': 'a', 'ver': 5, 'text': 'again'}],), {'a': None}), ('edit arrives before create', ([{'op': 'edit', 'id': 'b', 'ver': 2, 'text': 'fixed typo'}, {'op': 'create', 'id': 'b', 'ver': 1, 'text': 'fixd'}],), {'b': 'fixed typo'}), ('stale buffered edit', ([{'op': 'edit', 'id': 'c', 'ver': 1, 'text': 'old'}, {'op': 'create', 'id': 'c', 'ver': 4, 'text': 'new'}],), {'c': 'new'}), ('late stale edit', ([{'op': 'create', 'id': 'd', 'ver': 1, 'text': 'x'}, {'op': 'edit', 'id': 'd', 'ver': 3, 'text': 'z'}, {'op': 'edit', 'id': 'd', 'ver': 2, 'text': 'y'}],), {'d': 'z'}), ('two buffered edits out of order', ([{'op': 'edit', 'id': 'e', 'ver': 3, 'text': 'v3'}, {'op': 'edit', 'id': 'e', 'ver': 2, 'text': 'v2'}, {'op': 'create', 'id': 'e', 'ver': 1, 'text': 'v1'}],), {'e': 'v3'}), ('two buffered edits in order', ([{'op': 'edit', 'id': 'h', 'ver': 2, 'text': 'w2'}, {'op': 'edit', 'id': 'h', 'ver': 5, 'text': 'w3'}, {'op': 'create', 'id': 'h', 'ver': 1, 'text': 'w1'}],), {'h': 'w3'}), ('conflicting edit with equal version', ([{'op': 'create', 'id': 'i', 'ver': 1, 'text': 'x'}, {'op': 'edit', 'id': 'i', 'ver': 2, 'text': 'first'}, {'op': 'edit', 'id': 'i', 'ver': 2, 'text': 'second'}],), {'i': 'first'}), ('create after delete', ([{'op': 'delete', 'id': 'f', 'ver': 1, 'text': None}, {'op': 'create', 'id': 'f', 'ver': 2, 'text': 'ghost'}],), {'f': None}), ('plain messages', ([{'op': 'create', 'id': 'g0', 'ver': 1, 'text': 't0'}, {'op': 'create', 'id': 'g1', 'ver': 1, 'text': 't1'}],), {'g0': 't0', 'g1': 't1'})], 3: [('edit after delete with higher version', ([{'op': 'create', 'id': 'a', 'ver': 1, 'text': 'hi'}, {'op': 'delete', 'id': 'a', 'ver': 2, 'text': None}, {'op': 'edit', 'id': 'a', 'ver': 6, 'text': 'again'}],), {'a': None}), ('edit arrives before create', ([{'op': 'edit', 'id': 'b', 'ver': 2, 'text': 'fixed typo'}, {'op': 'create', 'id': 'b', 'ver': 1, 'text': 'fixd'}],), {'b': 'fixed typo'}), ('stale buffered edit', ([{'op': 'edit', 'id': 'c', 'ver': 1, 'text': 'old'}, {'op': 'create', 'id': 'c', 'ver': 5, 'text': 'new'}],), {'c': 'new'}), ('late stale edit', ([{'op': 'create', 'id': 'd', 'ver': 1, 'text': 'x'}, {'op': 'edit', 'id': 'd', 'ver': 3, 'text': 'z'}, {'op': 'edit', 'id': 'd', 'ver': 2, 'text': 'y'}],), {'d': 'z'}), ('two buffered edits out of order', ([{'op': 'edit', 'id': 'e', 'ver': 3, 'text': 'v3'}, {'op': 'edit', 'id': 'e', 'ver': 2, 'text': 'v2'}, {'op': 'create', 'id': 'e', 'ver': 1, 'text': 'v1'}],), {'e': 'v3'}), ('two buffered edits in order', ([{'op': 'edit', 'id': 'h', 'ver': 2, 'text': 'w2'}, {'op': 'edit', 'id': 'h', 'ver': 6, 'text': 'w3'}, {'op': 'create', 'id': 'h', 'ver': 1, 'text': 'w1'}],), {'h': 'w3'}), ('conflicting edit with equal version', ([{'op': 'create', 'id': 'i', 'ver': 1, 'text': 'x'}, {'op': 'edit', 'id': 'i', 'ver': 2, 'text': 'first'}, {'op': 'edit', 'id': 'i', 'ver': 2, 'text': 'second'}],), {'i': 'first'}), ('create after delete', ([{'op': 'delete', 'id': 'f', 'ver': 1, 'text': None}, {'op': 'create', 'id': 'f', 'ver': 3, 'text': 'ghost'}],), {'f': None}), ('plain messages', ([{'op': 'create', 'id': 'g0', 'ver': 1, 'text': 't0'}, {'op': 'create', 'id': 'g1', 'ver': 1, 'text': 't1'}, {'op': 'create', 'id': 'g2', 'ver': 1, 'text': 't2'}],), {'g0': 't0', 'g1': 't1', 'g2': 't2'})], 4: [('edit after delete with higher version', ([{'op': 'create', 'id': 'a', 'ver': 1, 'text': 'hi'}, {'op': 'delete', 'id': 'a', 'ver': 2, 'text': None}, {'op': 'edit', 'id': 'a', 'ver': 7, 'text': 'again'}],), {'a': None}), ('edit arrives before create', ([{'op': 'edit', 'id': 'b', 'ver': 2, 'text': 'fixed typo'}, {'op': 'create', 'id': 'b', 'ver': 1, 'text': 'fixd'}],), {'b': 'fixed typo'}), ('stale buffered edit', ([{'op': 'edit', 'id': 'c', 'ver': 1, 'text': 'old'}, {'op': 'create', 'id': 'c', 'ver': 6, 'text': 'new'}],), {'c': 'new'}), ('late stale edit', ([{'op': 'create', 'id': 'd', 'ver': 1, 'text': 'x'}, {'op': 'edit', 'id': 'd', 'ver': 3, 'text': 'z'}, {'op': 'edit', 'id': 'd', 'ver': 2, 'text': 'y'}],), {'d': 'z'}), ('two buffered edits out of order', ([{'op': 'edit', 'id': 'e', 'ver': 3, 'text': 'v3'}, {'op': 'edit', 'id': 'e', 'ver': 2, 'text': 'v2'}, {'op': 'create', 'id': 'e', 'ver': 1, 'text': 'v1'}],), {'e': 'v3'}), ('two buffered edits in order', ([{'op': 'edit', 'id': 'h', 'ver': 2, 'text': 'w2'}, {'op': 'edit', 'id': 'h', 'ver': 7, 'text': 'w3'}, {'op': 'create', 'id': 'h', 'ver': 1, 'text': 'w1'}],), {'h': 'w3'}), ('conflicting edit with equal version', ([{'op': 'create', 'id': 'i', 'ver': 1, 'text': 'x'}, {'op': 'edit', 'id': 'i', 'ver': 2, 'text': 'first'}, {'op': 'edit', 'id': 'i', 'ver': 2, 'text': 'second'}],), {'i': 'first'}), ('create after delete', ([{'op': 'delete', 'id': 'f', 'ver': 1, 'text': None}, {'op': 'create', 'id': 'f', 'ver': 4, 'text': 'ghost'}],), {'f': None}), ('plain messages', ([{'op': 'create', 'id': 'g0', 'ver': 1, 'text': 't0'}, {'op': 'create', 'id': 'g1', 'ver': 1, 'text': 't1'}, {'op': 'create', 'id': 'g2', 'ver': 1, 'text': 't2'}, {'op': 'create', 'id': 'g3', 'ver': 1, 'text': 't3'}],), {'g0': 't0', 'g1': 't1', 'g2': 't2', 'g3': 't3'})], 5: [('edit after delete with higher version', ([{'op': 'create', 'id': 'a', 'ver': 1, 'text': 'hi'}, {'op': 'delete', 'id': 'a', 'ver': 2, 'text': None}, {'op': 'edit', 'id': 'a', 'ver': 8, 'text': 'again'}],), {'a': None}), ('edit arrives before create', ([{'op': 'edit', 'id': 'b', 'ver': 2, 'text': 'fixed typo'}, {'op': 'create', 'id': 'b', 'ver': 1, 'text': 'fixd'}],), {'b': 'fixed typo'}), ('stale buffered edit', ([{'op': 'edit', 'id': 'c', 'ver': 1, 'text': 'old'}, {'op': 'create', 'id': 'c', 'ver': 7, 'text': 'new'}],), {'c': 'new'}), ('late stale edit', ([{'op': 'create', 'id': 'd', 'ver': 1, 'text': 'x'}, {'op': 'edit', 'id': 'd', 'ver': 3, 'text': 'z'}, {'op': 'edit', 'id': 'd', 'ver': 2, 'text': 'y'}],), {'d': 'z'}), ('two buffered edits out of order', ([{'op': 'edit', 'id': 'e', 'ver': 3, 'text': 'v3'}, {'op': 'edit', 'id': 'e', 'ver': 2, 'text': 'v2'}, {'op': 'create', 'id': 'e', 'ver': 1, 'text': 'v1'}],), {'e': 'v3'}), ('two buffered edits in order', ([{'op': 'edit', 'id': 'h', 'ver': 2, 'text': 'w2'}, {'op': 'edit', 'id': 'h', 'ver': 8, 'text': 'w3'}, {'op': 'create', 'id': 'h', 'ver': 1, 'text': 'w1'}],), {'h': 'w3'}), ('conflicting edit with equal version', ([{'op': 'create', 'id': 'i', 'ver': 1, 'text': 'x'}, {'op': 'edit', 'id': 'i', 'ver': 2, 'text': 'first'}, {'op': 'edit', 'id': 'i', 'ver': 2, 'text': 'second'}],), {'i': 'first'}), ('create after delete', ([{'op': 'delete', 'id': 'f', 'ver': 1, 'text': None}, {'op': 'create', 'id': 'f', 'ver': 5, 'text': 'ghost'}],), {'f': None}), ('plain messages', ([{'op': 'create', 'id': 'g0', 'ver': 1, 'text': 't0'}, {'op': 'create', 'id': 'g1', 'ver': 1, 'text': 't1'}, {'op': 'create', 'id': 'g2', 'ver': 1, 'text': 't2'}, {'op': 'create', 'id': 'g3', 'ver': 1, 'text': 't3'}, {'op': 'create', 'id': 'g4', 'ver': 1, 'text': 't4'}],), {'g0': 't0', 'g1': 't1', 'g2': 't2', 'g3': 't3', 'g4': 't4'})]}
for _label, _args, _expected in _CASES[N]:
check(_label, solve(*_args), _expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| edit after delete with higher version | {'a': None} | {'a': None} | Passed |
| edit arrives before create | {'b': 'fixed typo'} | {'b': 'fixed typo'} | Passed |
| stale buffered edit | {'c': 'new'} | {'c': 'new'} | Passed |
| late stale edit | {'d': 'y'} | {'d': 'z'} | Failed |
| two buffered edits out of order | {'e': 'v3'} | {'e': 'v3'} | Passed |
| two buffered edits in order | {'h': 'w3'} | {'h': 'w3'} | Passed |
| conflicting edit with equal version | {'i': 'first'} | {'i': 'first'} | Passed |
| create after delete | {'f': None} | {'f': None} | Passed |
| plain messages | {'g0': 't0'} | {'g0': 't0'} | Passed |
SHA-256 / c7616c6225f3b7c60eb0e3067225a953d9897785287b2ff5313c0c16f4b99d40
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(events):
state = {}
buffered = {}
dead = set()
for e in events:
i = e['id']
if e['op'] == 'delete':
dead.add(i)
state[i] = {'text': None, 'ver': e['ver']}
elif i in dead:
continue
elif e['op'] == 'create':
best = buffered.pop(i, None)
state[i] = best if best and best['ver'] > e['ver'] else e
elif i in state:
if e['ver'] > state[i]['ver'] - 1:
state[i] = e
else:
cur = buffered.get(i)
if cur is None or e['ver'] > cur['ver']:
buffered[i] = e
return {i: v['text'] for i, v in sorted(state.items())}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
_CASES = {1: [('edit after delete with higher version', ([{'op': 'create', 'id': 'a', 'ver': 1, 'text': 'hi'}, {'op': 'delete', 'id': 'a', 'ver': 2, 'text': None}, {'op': 'edit', 'id': 'a', 'ver': 4, 'text': 'again'}],), {'a': None}), ('edit arrives before create', ([{'op': 'edit', 'id': 'b', 'ver': 2, 'text': 'fixed typo'}, {'op': 'create', 'id': 'b', 'ver': 1, 'text': 'fixd'}],), {'b': 'fixed typo'}), ('stale buffered edit', ([{'op': 'edit', 'id': 'c', 'ver': 1, 'text': 'old'}, {'op': 'create', 'id': 'c', 'ver': 3, 'text': 'new'}],), {'c': 'new'}), ('late stale edit', ([{'op': 'create', 'id': 'd', 'ver': 1, 'text': 'x'}, {'op': 'edit', 'id': 'd', 'ver': 3, 'text': 'z'}, {'op': 'edit', 'id': 'd', 'ver': 2, 'text': 'y'}],), {'d': 'z'}), ('two buffered edits out of order', ([{'op': 'edit', 'id': 'e', 'ver': 3, 'text': 'v3'}, {'op': 'edit', 'id': 'e', 'ver': 2, 'text': 'v2'}, {'op': 'create', 'id': 'e', 'ver': 1, 'text': 'v1'}],), {'e': 'v3'}), ('two buffered edits in order', ([{'op': 'edit', 'id': 'h', 'ver': 2, 'text': 'w2'}, {'op': 'edit', 'id': 'h', 'ver': 4, 'text': 'w3'}, {'op': 'create', 'id': 'h', 'ver': 1, 'text': 'w1'}],), {'h': 'w3'}), ('conflicting edit with equal version', ([{'op': 'create', 'id': 'i', 'ver': 1, 'text': 'x'}, {'op': 'edit', 'id': 'i', 'ver': 2, 'text': 'first'}, {'op': 'edit', 'id': 'i', 'ver': 2, 'text': 'second'}],), {'i': 'first'}), ('create after delete', ([{'op': 'delete', 'id': 'f', 'ver': 1, 'text': None}, {'op': 'create', 'id': 'f', 'ver': 1, 'text': 'ghost'}],), {'f': None}), ('plain messages', ([{'op': 'create', 'id': 'g0', 'ver': 1, 'text': 't0'}],), {'g0': 't0'})], 2: [('edit after delete with higher version', ([{'op': 'create', 'id': 'a', 'ver': 1, 'text': 'hi'}, {'op': 'delete', 'id': 'a', 'ver': 2, 'text': None}, {'op': 'edit', 'id': 'a', 'ver': 5, 'text': 'again'}],), {'a': None}), ('edit arrives before create', ([{'op': 'edit', 'id': 'b', 'ver': 2, 'text': 'fixed typo'}, {'op': 'create', 'id': 'b', 'ver': 1, 'text': 'fixd'}],), {'b': 'fixed typo'}), ('stale buffered edit', ([{'op': 'edit', 'id': 'c', 'ver': 1, 'text': 'old'}, {'op': 'create', 'id': 'c', 'ver': 4, 'text': 'new'}],), {'c': 'new'}), ('late stale edit', ([{'op': 'create', 'id': 'd', 'ver': 1, 'text': 'x'}, {'op': 'edit', 'id': 'd', 'ver': 3, 'text': 'z'}, {'op': 'edit', 'id': 'd', 'ver': 2, 'text': 'y'}],), {'d': 'z'}), ('two buffered edits out of order', ([{'op': 'edit', 'id': 'e', 'ver': 3, 'text': 'v3'}, {'op': 'edit', 'id': 'e', 'ver': 2, 'text': 'v2'}, {'op': 'create', 'id': 'e', 'ver': 1, 'text': 'v1'}],), {'e': 'v3'}), ('two buffered edits in order', ([{'op': 'edit', 'id': 'h', 'ver': 2, 'text': 'w2'}, {'op': 'edit', 'id': 'h', 'ver': 5, 'text': 'w3'}, {'op': 'create', 'id': 'h', 'ver': 1, 'text': 'w1'}],), {'h': 'w3'}), ('conflicting edit with equal version', ([{'op': 'create', 'id': 'i', 'ver': 1, 'text': 'x'}, {'op': 'edit', 'id': 'i', 'ver': 2, 'text': 'first'}, {'op': 'edit', 'id': 'i', 'ver': 2, 'text': 'second'}],), {'i': 'first'}), ('create after delete', ([{'op': 'delete', 'id': 'f', 'ver': 1, 'text': None}, {'op': 'create', 'id': 'f', 'ver': 2, 'text': 'ghost'}],), {'f': None}), ('plain messages', ([{'op': 'create', 'id': 'g0', 'ver': 1, 'text': 't0'}, {'op': 'create', 'id': 'g1', 'ver': 1, 'text': 't1'}],), {'g0': 't0', 'g1': 't1'})], 3: [('edit after delete with higher version', ([{'op': 'create', 'id': 'a', 'ver': 1, 'text': 'hi'}, {'op': 'delete', 'id': 'a', 'ver': 2, 'text': None}, {'op': 'edit', 'id': 'a', 'ver': 6, 'text': 'again'}],), {'a': None}), ('edit arrives before create', ([{'op': 'edit', 'id': 'b', 'ver': 2, 'text': 'fixed typo'}, {'op': 'create', 'id': 'b', 'ver': 1, 'text': 'fixd'}],), {'b': 'fixed typo'}), ('stale buffered edit', ([{'op': 'edit', 'id': 'c', 'ver': 1, 'text': 'old'}, {'op': 'create', 'id': 'c', 'ver': 5, 'text': 'new'}],), {'c': 'new'}), ('late stale edit', ([{'op': 'create', 'id': 'd', 'ver': 1, 'text': 'x'}, {'op': 'edit', 'id': 'd', 'ver': 3, 'text': 'z'}, {'op': 'edit', 'id': 'd', 'ver': 2, 'text': 'y'}],), {'d': 'z'}), ('two buffered edits out of order', ([{'op': 'edit', 'id': 'e', 'ver': 3, 'text': 'v3'}, {'op': 'edit', 'id': 'e', 'ver': 2, 'text': 'v2'}, {'op': 'create', 'id': 'e', 'ver': 1, 'text': 'v1'}],), {'e': 'v3'}), ('two buffered edits in order', ([{'op': 'edit', 'id': 'h', 'ver': 2, 'text': 'w2'}, {'op': 'edit', 'id': 'h', 'ver': 6, 'text': 'w3'}, {'op': 'create', 'id': 'h', 'ver': 1, 'text': 'w1'}],), {'h': 'w3'}), ('conflicting edit with equal version', ([{'op': 'create', 'id': 'i', 'ver': 1, 'text': 'x'}, {'op': 'edit', 'id': 'i', 'ver': 2, 'text': 'first'}, {'op': 'edit', 'id': 'i', 'ver': 2, 'text': 'second'}],), {'i': 'first'}), ('create after delete', ([{'op': 'delete', 'id': 'f', 'ver': 1, 'text': None}, {'op': 'create', 'id': 'f', 'ver': 3, 'text': 'ghost'}],), {'f': None}), ('plain messages', ([{'op': 'create', 'id': 'g0', 'ver': 1, 'text': 't0'}, {'op': 'create', 'id': 'g1', 'ver': 1, 'text': 't1'}, {'op': 'create', 'id': 'g2', 'ver': 1, 'text': 't2'}],), {'g0': 't0', 'g1': 't1', 'g2': 't2'})], 4: [('edit after delete with higher version', ([{'op': 'create', 'id': 'a', 'ver': 1, 'text': 'hi'}, {'op': 'delete', 'id': 'a', 'ver': 2, 'text': None}, {'op': 'edit', 'id': 'a', 'ver': 7, 'text': 'again'}],), {'a': None}), ('edit arrives before create', ([{'op': 'edit', 'id': 'b', 'ver': 2, 'text': 'fixed typo'}, {'op': 'create', 'id': 'b', 'ver': 1, 'text': 'fixd'}],), {'b': 'fixed typo'}), ('stale buffered edit', ([{'op': 'edit', 'id': 'c', 'ver': 1, 'text': 'old'}, {'op': 'create', 'id': 'c', 'ver': 6, 'text': 'new'}],), {'c': 'new'}), ('late stale edit', ([{'op': 'create', 'id': 'd', 'ver': 1, 'text': 'x'}, {'op': 'edit', 'id': 'd', 'ver': 3, 'text': 'z'}, {'op': 'edit', 'id': 'd', 'ver': 2, 'text': 'y'}],), {'d': 'z'}), ('two buffered edits out of order', ([{'op': 'edit', 'id': 'e', 'ver': 3, 'text': 'v3'}, {'op': 'edit', 'id': 'e', 'ver': 2, 'text': 'v2'}, {'op': 'create', 'id': 'e', 'ver': 1, 'text': 'v1'}],), {'e': 'v3'}), ('two buffered edits in order', ([{'op': 'edit', 'id': 'h', 'ver': 2, 'text': 'w2'}, {'op': 'edit', 'id': 'h', 'ver': 7, 'text': 'w3'}, {'op': 'create', 'id': 'h', 'ver': 1, 'text': 'w1'}],), {'h': 'w3'}), ('conflicting edit with equal version', ([{'op': 'create', 'id': 'i', 'ver': 1, 'text': 'x'}, {'op': 'edit', 'id': 'i', 'ver': 2, 'text': 'first'}, {'op': 'edit', 'id': 'i', 'ver': 2, 'text': 'second'}],), {'i': 'first'}), ('create after delete', ([{'op': 'delete', 'id': 'f', 'ver': 1, 'text': None}, {'op': 'create', 'id': 'f', 'ver': 4, 'text': 'ghost'}],), {'f': None}), ('plain messages', ([{'op': 'create', 'id': 'g0', 'ver': 1, 'text': 't0'}, {'op': 'create', 'id': 'g1', 'ver': 1, 'text': 't1'}, {'op': 'create', 'id': 'g2', 'ver': 1, 'text': 't2'}, {'op': 'create', 'id': 'g3', 'ver': 1, 'text': 't3'}],), {'g0': 't0', 'g1': 't1', 'g2': 't2', 'g3': 't3'})], 5: [('edit after delete with higher version', ([{'op': 'create', 'id': 'a', 'ver': 1, 'text': 'hi'}, {'op': 'delete', 'id': 'a', 'ver': 2, 'text': None}, {'op': 'edit', 'id': 'a', 'ver': 8, 'text': 'again'}],), {'a': None}), ('edit arrives before create', ([{'op': 'edit', 'id': 'b', 'ver': 2, 'text': 'fixed typo'}, {'op': 'create', 'id': 'b', 'ver': 1, 'text': 'fixd'}],), {'b': 'fixed typo'}), ('stale buffered edit', ([{'op': 'edit', 'id': 'c', 'ver': 1, 'text': 'old'}, {'op': 'create', 'id': 'c', 'ver': 7, 'text': 'new'}],), {'c': 'new'}), ('late stale edit', ([{'op': 'create', 'id': 'd', 'ver': 1, 'text': 'x'}, {'op': 'edit', 'id': 'd', 'ver': 3, 'text': 'z'}, {'op': 'edit', 'id': 'd', 'ver': 2, 'text': 'y'}],), {'d': 'z'}), ('two buffered edits out of order', ([{'op': 'edit', 'id': 'e', 'ver': 3, 'text': 'v3'}, {'op': 'edit', 'id': 'e', 'ver': 2, 'text': 'v2'}, {'op': 'create', 'id': 'e', 'ver': 1, 'text': 'v1'}],), {'e': 'v3'}), ('two buffered edits in order', ([{'op': 'edit', 'id': 'h', 'ver': 2, 'text': 'w2'}, {'op': 'edit', 'id': 'h', 'ver': 8, 'text': 'w3'}, {'op': 'create', 'id': 'h', 'ver': 1, 'text': 'w1'}],), {'h': 'w3'}), ('conflicting edit with equal version', ([{'op': 'create', 'id': 'i', 'ver': 1, 'text': 'x'}, {'op': 'edit', 'id': 'i', 'ver': 2, 'text': 'first'}, {'op': 'edit', 'id': 'i', 'ver': 2, 'text': 'second'}],), {'i': 'first'}), ('create after delete', ([{'op': 'delete', 'id': 'f', 'ver': 1, 'text': None}, {'op': 'create', 'id': 'f', 'ver': 5, 'text': 'ghost'}],), {'f': None}), ('plain messages', ([{'op': 'create', 'id': 'g0', 'ver': 1, 'text': 't0'}, {'op': 'create', 'id': 'g1', 'ver': 1, 'text': 't1'}, {'op': 'create', 'id': 'g2', 'ver': 1, 'text': 't2'}, {'op': 'create', 'id': 'g3', 'ver': 1, 'text': 't3'}, {'op': 'create', 'id': 'g4', 'ver': 1, 'text': 't4'}],), {'g0': 't0', 'g1': 't1', 'g2': 't2', 'g3': 't3', 'g4': 't4'})]}
for _label, _args, _expected in _CASES[N]:
check(_label, solve(*_args), _expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| edit after delete with higher version | {'a': None} | {'a': None} | Passed |
| edit arrives before create | {'b': 'fixed typo'} | {'b': 'fixed typo'} | Passed |
| stale buffered edit | {'c': 'new'} | {'c': 'new'} | Passed |
| late stale edit | {'d': 'z'} | {'d': 'z'} | Passed |
| two buffered edits out of order | {'e': 'v3'} | {'e': 'v3'} | Passed |
| two buffered edits in order | {'h': 'w3'} | {'h': 'w3'} | Passed |
| conflicting edit with equal version | {'i': 'second'} | {'i': 'first'} | Failed |
| create after delete | {'f': None} | {'f': None} | Passed |
| plain messages | {'g0': 't0'} | {'g0': 't0'} | Passed |
SHA-256 / c88bd98bdf38c5ea63ff955c87c1c175a28db90aa86fe83b0ea26ad36fd2bfc8
HELD IN THE MEMBER ARCHIVE
The verified repair and its recorded checks are member-only.
This mechanism has 9 recorded checks per implementation. The open-access tier publishes the failure and the unsuccessful fix; the repaired source that passes every check, and the observations that prove it, are available to members.
Every case sharing this mechanism uses the same contract and the same repair, so this one record is held back for all of them.
Member access is invitation-based. Sign in with your invited account to inspect the repair.
Sign in to the archive ↗Verification & scope
Stipulated offline chat model; not a complete messaging protocol, client or server implementation. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.
Observations recorded using Python 3.12.14 at 2026-09-29T14:49:13.236758+00:00.
Case digest / cc6184237f308f216290046e6542210a0a688acdb9a8b505f38a81ee3c9d15a1