FAILURE MAP
← Case archive

FA-23471 / Client state / Open access

Temporary entity reconciliation: Rollback remove only created · case 01

Rollback remove only created.

Verified by executionVariant 1 · 60 checks per implementationDownload source bundle ↓JSON ↗

ROOT CAUSE

The rollback-remove-only-created client decision evaluates `[]` instead of `[(k,v) for k,v in items if k!=temporary]`.

THE FAILURE

The rollback-remove-only-created client decision evaluates `[]` instead of `[(k,v) for k,v in items if k!=temporary]`.

Unsuccessful approach: The partial repair `[(k,v) for k,v in items if k!=canonical]` still violates the explicit fixture contract.

Case contract

The acknowledgment model reconciles one temporary entity. Keep unrelated rows and reference multiplicity, prefer the server value including null, and ignore acknowledgments whose temporary entity no longer exists. Operation rollback-remove-only-created has the six explicit input/output oracles below.

Why this case matters

An offline client lifecycle model that isolates a state-management defect without DOM rendering or network services.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(operation, s):
    items, temporary, canonical, payload, refs = s
    if operation == 'canonical-id-rewrite':
        return [(canonical if k==temporary else k,v) for k,v in items]
    if operation == 'server-value-merge':
        return [(k,payload if k==temporary else v) for k,v in items]
    if operation == 'reference-remap':
        return [canonical if k==temporary else k for k in refs]
    if operation == 'optimistic-position':
        return next((i for i,(k,v) in enumerate(items) if k==temporary),None)
    if operation == 'duplicate-canonical-removal':
        return [(k,v) for k,v in items if k!=canonical]
    if operation == 'temporary-presence':
        return any(k==temporary for k,v in items)
    if operation == 'rollback-remove-only-created':
        return []
    if operation == 'orphan-reference-audit':
        return [k for k in refs if k not in {i for i,v in items}]
    if operation == 'reference-multiplicity':
        return refs.count(temporary)
    if operation == 'missing-entity-ack':
        return 'replace' if any(k==temporary for k,v in items) else 'ignore'
    raise ValueError('unknown modeled operation')
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('canonical-id-rewrite scenario 1', solve('canonical-id-rewrite', ([('tmp',N),('old',2)], 'tmp','real',9,['tmp','old','tmp'])), [('real',N),('old',2)])
check('canonical-id-rewrite scenario 2', solve('canonical-id-rewrite', ([], 'tmp','real',N,[])), [])
check('canonical-id-rewrite scenario 3', solve('canonical-id-rewrite', ([('real',3),('tmp',4)],'tmp','real',N,['real','tmp'])), [('real',3),('real',4)])
check('canonical-id-rewrite scenario 4', solve('canonical-id-rewrite', ([('tmp',0)],'tmp','real',0,['tmp'])), [('real',0)])
check('canonical-id-rewrite scenario 5', solve('canonical-id-rewrite', ([('other',N)],'tmp','real',7,['other'])), [('other',N)])
check('canonical-id-rewrite scenario 6', solve('canonical-id-rewrite', ([('tmp',2),('tail',3)],'tmp','real',None,['tmp','missing'])), [('real',2),('tail',3)])
check('server-value-merge scenario 1', solve('server-value-merge', ([('tmp',N),('old',2)], 'tmp','real',9,['tmp','old','tmp'])), [('tmp',9),('old',2)])
check('server-value-merge scenario 2', solve('server-value-merge', ([], 'tmp','real',N,[])), [])
check('server-value-merge scenario 3', solve('server-value-merge', ([('real',3),('tmp',4)],'tmp','real',N,['real','tmp'])), [('real',3),('tmp',N)])
check('server-value-merge scenario 4', solve('server-value-merge', ([('tmp',0)],'tmp','real',0,['tmp'])), [('tmp',0)])
check('server-value-merge scenario 5', solve('server-value-merge', ([('other',N)],'tmp','real',7,['other'])), [('other',N)])
check('server-value-merge scenario 6', solve('server-value-merge', ([('tmp',2),('tail',3)],'tmp','real',None,['tmp','missing'])), [('tmp',None),('tail',3)])
check('reference-remap scenario 1', solve('reference-remap', ([('tmp',N),('old',2)], 'tmp','real',9,['tmp','old','tmp'])), ['real','old','real'])
check('reference-remap scenario 2', solve('reference-remap', ([], 'tmp','real',N,[])), [])
check('reference-remap scenario 3', solve('reference-remap', ([('real',3),('tmp',4)],'tmp','real',N,['real','tmp'])), ['real','real'])
check('reference-remap scenario 4', solve('reference-remap', ([('tmp',0)],'tmp','real',0,['tmp'])), ['real'])
check('reference-remap scenario 5', solve('reference-remap', ([('other',N)],'tmp','real',7,['other'])), ['other'])
check('reference-remap scenario 6', solve('reference-remap', ([('tmp',2),('tail',3)],'tmp','real',None,['tmp','missing'])), ['real','missing'])
check('optimistic-position scenario 1', solve('optimistic-position', ([('tmp',N),('old',2)], 'tmp','real',9,['tmp','old','tmp'])), 0)
check('optimistic-position scenario 2', solve('optimistic-position', ([], 'tmp','real',N,[])), None)
check('optimistic-position scenario 3', solve('optimistic-position', ([('real',3),('tmp',4)],'tmp','real',N,['real','tmp'])), 1)
check('optimistic-position scenario 4', solve('optimistic-position', ([('tmp',0)],'tmp','real',0,['tmp'])), 0)
check('optimistic-position scenario 5', solve('optimistic-position', ([('other',N)],'tmp','real',7,['other'])), None)
check('optimistic-position scenario 6', solve('optimistic-position', ([('tmp',2),('tail',3)],'tmp','real',None,['tmp','missing'])), 0)
check('duplicate-canonical-removal scenario 1', solve('duplicate-canonical-removal', ([('tmp',N),('old',2)], 'tmp','real',9,['tmp','old','tmp'])), [('tmp',N),('old',2)])
check('duplicate-canonical-removal scenario 2', solve('duplicate-canonical-removal', ([], 'tmp','real',N,[])), [])
check('duplicate-canonical-removal scenario 3', solve('duplicate-canonical-removal', ([('real',3),('tmp',4)],'tmp','real',N,['real','tmp'])), [('tmp',4)])
check('duplicate-canonical-removal scenario 4', solve('duplicate-canonical-removal', ([('tmp',0)],'tmp','real',0,['tmp'])), [('tmp',0)])
check('duplicate-canonical-removal scenario 5', solve('duplicate-canonical-removal', ([('other',N)],'tmp','real',7,['other'])), [('other',N)])
check('duplicate-canonical-removal scenario 6', solve('duplicate-canonical-removal', ([('tmp',2),('tail',3)],'tmp','real',None,['tmp','missing'])), [('tmp',2),('tail',3)])
check('temporary-presence scenario 1', solve('temporary-presence', ([('tmp',N),('old',2)], 'tmp','real',9,['tmp','old','tmp'])), True)
check('temporary-presence scenario 2', solve('temporary-presence', ([], 'tmp','real',N,[])), False)
check('temporary-presence scenario 3', solve('temporary-presence', ([('real',3),('tmp',4)],'tmp','real',N,['real','tmp'])), True)
check('temporary-presence scenario 4', solve('temporary-presence', ([('tmp',0)],'tmp','real',0,['tmp'])), True)
check('temporary-presence scenario 5', solve('temporary-presence', ([('other',N)],'tmp','real',7,['other'])), False)
check('temporary-presence scenario 6', solve('temporary-presence', ([('tmp',2),('tail',3)],'tmp','real',None,['tmp','missing'])), True)
check('rollback-remove-only-created scenario 1', solve('rollback-remove-only-created', ([('tmp',N),('old',2)], 'tmp','real',9,['tmp','old','tmp'])), [('old',2)])
check('rollback-remove-only-created scenario 2', solve('rollback-remove-only-created', ([], 'tmp','real',N,[])), [])
check('rollback-remove-only-created scenario 3', solve('rollback-remove-only-created', ([('real',3),('tmp',4)],'tmp','real',N,['real','tmp'])), [('real',3)])
check('rollback-remove-only-created scenario 4', solve('rollback-remove-only-created', ([('tmp',0)],'tmp','real',0,['tmp'])), [])
check('rollback-remove-only-created scenario 5', solve('rollback-remove-only-created', ([('other',N)],'tmp','real',7,['other'])), [('other',N)])
check('rollback-remove-only-created scenario 6', solve('rollback-remove-only-created', ([('tmp',2),('tail',3)],'tmp','real',None,['tmp','missing'])), [('tail',3)])
check('orphan-reference-audit scenario 1', solve('orphan-reference-audit', ([('tmp',N),('old',2)], 'tmp','real',9,['tmp','old','tmp'])), [])
check('orphan-reference-audit scenario 2', solve('orphan-reference-audit', ([], 'tmp','real',N,[])), [])
check('orphan-reference-audit scenario 3', solve('orphan-reference-audit', ([('real',3),('tmp',4)],'tmp','real',N,['real','tmp'])), [])
check('orphan-reference-audit scenario 4', solve('orphan-reference-audit', ([('tmp',0)],'tmp','real',0,['tmp'])), [])
check('orphan-reference-audit scenario 5', solve('orphan-reference-audit', ([('other',N)],'tmp','real',7,['other'])), [])
check('orphan-reference-audit scenario 6', solve('orphan-reference-audit', ([('tmp',2),('tail',3)],'tmp','real',None,['tmp','missing'])), ['missing'])
check('reference-multiplicity scenario 1', solve('reference-multiplicity', ([('tmp',N),('old',2)], 'tmp','real',9,['tmp','old','tmp'])), 2)
check('reference-multiplicity scenario 2', solve('reference-multiplicity', ([], 'tmp','real',N,[])), 0)
check('reference-multiplicity scenario 3', solve('reference-multiplicity', ([('real',3),('tmp',4)],'tmp','real',N,['real','tmp'])), 1)
check('reference-multiplicity scenario 4', solve('reference-multiplicity', ([('tmp',0)],'tmp','real',0,['tmp'])), 1)
check('reference-multiplicity scenario 5', solve('reference-multiplicity', ([('other',N)],'tmp','real',7,['other'])), 0)
check('reference-multiplicity scenario 6', solve('reference-multiplicity', ([('tmp',2),('tail',3)],'tmp','real',None,['tmp','missing'])), 1)
check('missing-entity-ack scenario 1', solve('missing-entity-ack', ([('tmp',N),('old',2)], 'tmp','real',9,['tmp','old','tmp'])), 'replace')
check('missing-entity-ack scenario 2', solve('missing-entity-ack', ([], 'tmp','real',N,[])), 'ignore')
check('missing-entity-ack scenario 3', solve('missing-entity-ack', ([('real',3),('tmp',4)],'tmp','real',N,['real','tmp'])), 'replace')
check('missing-entity-ack scenario 4', solve('missing-entity-ack', ([('tmp',0)],'tmp','real',0,['tmp'])), 'replace')
check('missing-entity-ack scenario 5', solve('missing-entity-ack', ([('other',N)],'tmp','real',7,['other'])), 'ignore')
check('missing-entity-ack scenario 6', solve('missing-entity-ack', ([('tmp',2),('tail',3)],'tmp','real',None,['tmp','missing'])), 'replace')
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 fixtureActualExpectedOutcome
canonical-id-rewrite scenario 1[['real', 1], ['old', 2]][['real', 1], ['old', 2]]Passed
canonical-id-rewrite scenario 2[][]Passed
canonical-id-rewrite scenario 3[['real', 3], ['real', 4]][['real', 3], ['real', 4]]Passed
canonical-id-rewrite scenario 4[['real', 0]][['real', 0]]Passed
canonical-id-rewrite scenario 5[['other', 1]][['other', 1]]Passed
canonical-id-rewrite scenario 6[['real', 2], ['tail', 3]][['real', 2], ['tail', 3]]Passed
server-value-merge scenario 1[['tmp', 9], ['old', 2]][['tmp', 9], ['old', 2]]Passed
server-value-merge scenario 2[][]Passed
server-value-merge scenario 3[['real', 3], ['tmp', 1]][['real', 3], ['tmp', 1]]Passed
server-value-merge scenario 4[['tmp', 0]][['tmp', 0]]Passed
server-value-merge scenario 5[['other', 1]][['other', 1]]Passed
server-value-merge scenario 6[['tmp', None], ['tail', 3]][['tmp', None], ['tail', 3]]Passed
reference-remap scenario 1['real', 'old', 'real']['real', 'old', 'real']Passed
reference-remap scenario 2[][]Passed
reference-remap scenario 3['real', 'real']['real', 'real']Passed
reference-remap scenario 4['real']['real']Passed
reference-remap scenario 5['other']['other']Passed
reference-remap scenario 6['real', 'missing']['real', 'missing']Passed
optimistic-position scenario 100Passed
optimistic-position scenario 2NoneNonePassed
optimistic-position scenario 311Passed
optimistic-position scenario 400Passed
optimistic-position scenario 5NoneNonePassed
optimistic-position scenario 600Passed
duplicate-canonical-removal scenario 1[['tmp', 1], ['old', 2]][['tmp', 1], ['old', 2]]Passed
duplicate-canonical-removal scenario 2[][]Passed
duplicate-canonical-removal scenario 3[['tmp', 4]][['tmp', 4]]Passed
duplicate-canonical-removal scenario 4[['tmp', 0]][['tmp', 0]]Passed
duplicate-canonical-removal scenario 5[['other', 1]][['other', 1]]Passed
duplicate-canonical-removal scenario 6[['tmp', 2], ['tail', 3]][['tmp', 2], ['tail', 3]]Passed
temporary-presence scenario 1TrueTruePassed
temporary-presence scenario 2FalseFalsePassed
temporary-presence scenario 3TrueTruePassed
temporary-presence scenario 4TrueTruePassed
temporary-presence scenario 5FalseFalsePassed
temporary-presence scenario 6TrueTruePassed
rollback-remove-only-created scenario 1[][['old', 2]]Failed
rollback-remove-only-created scenario 2[][]Passed
rollback-remove-only-created scenario 3[][['real', 3]]Failed
rollback-remove-only-created scenario 4[][]Passed
rollback-remove-only-created scenario 5[][['other', 1]]Failed
rollback-remove-only-created scenario 6[][['tail', 3]]Failed
orphan-reference-audit scenario 1[][]Passed
orphan-reference-audit scenario 2[][]Passed
orphan-reference-audit scenario 3[][]Passed
orphan-reference-audit scenario 4[][]Passed
orphan-reference-audit scenario 5[][]Passed
orphan-reference-audit scenario 6['missing']['missing']Passed
reference-multiplicity scenario 122Passed
reference-multiplicity scenario 200Passed
reference-multiplicity scenario 311Passed
reference-multiplicity scenario 411Passed
reference-multiplicity scenario 500Passed
reference-multiplicity scenario 611Passed
missing-entity-ack scenario 1replacereplacePassed
missing-entity-ack scenario 2ignoreignorePassed
missing-entity-ack scenario 3replacereplacePassed
missing-entity-ack scenario 4replacereplacePassed
missing-entity-ack scenario 5ignoreignorePassed
missing-entity-ack scenario 6replacereplacePassed

SHA-256 / 4d16839e4d6be8bc6433215c10471ddbb33945bf6316fdfef3da81a35ffa0953

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(operation, s):
    items, temporary, canonical, payload, refs = s
    if operation == 'canonical-id-rewrite':
        return [(canonical if k==temporary else k,v) for k,v in items]
    if operation == 'server-value-merge':
        return [(k,payload if k==temporary else v) for k,v in items]
    if operation == 'reference-remap':
        return [canonical if k==temporary else k for k in refs]
    if operation == 'optimistic-position':
        return next((i for i,(k,v) in enumerate(items) if k==temporary),None)
    if operation == 'duplicate-canonical-removal':
        return [(k,v) for k,v in items if k!=canonical]
    if operation == 'temporary-presence':
        return any(k==temporary for k,v in items)
    if operation == 'rollback-remove-only-created':
        return [(k,v) for k,v in items if k!=canonical]
    if operation == 'orphan-reference-audit':
        return [k for k in refs if k not in {i for i,v in items}]
    if operation == 'reference-multiplicity':
        return refs.count(temporary)
    if operation == 'missing-entity-ack':
        return 'replace' if any(k==temporary for k,v in items) else 'ignore'
    raise ValueError('unknown modeled operation')
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('canonical-id-rewrite scenario 1', solve('canonical-id-rewrite', ([('tmp',N),('old',2)], 'tmp','real',9,['tmp','old','tmp'])), [('real',N),('old',2)])
check('canonical-id-rewrite scenario 2', solve('canonical-id-rewrite', ([], 'tmp','real',N,[])), [])
check('canonical-id-rewrite scenario 3', solve('canonical-id-rewrite', ([('real',3),('tmp',4)],'tmp','real',N,['real','tmp'])), [('real',3),('real',4)])
check('canonical-id-rewrite scenario 4', solve('canonical-id-rewrite', ([('tmp',0)],'tmp','real',0,['tmp'])), [('real',0)])
check('canonical-id-rewrite scenario 5', solve('canonical-id-rewrite', ([('other',N)],'tmp','real',7,['other'])), [('other',N)])
check('canonical-id-rewrite scenario 6', solve('canonical-id-rewrite', ([('tmp',2),('tail',3)],'tmp','real',None,['tmp','missing'])), [('real',2),('tail',3)])
check('server-value-merge scenario 1', solve('server-value-merge', ([('tmp',N),('old',2)], 'tmp','real',9,['tmp','old','tmp'])), [('tmp',9),('old',2)])
check('server-value-merge scenario 2', solve('server-value-merge', ([], 'tmp','real',N,[])), [])
check('server-value-merge scenario 3', solve('server-value-merge', ([('real',3),('tmp',4)],'tmp','real',N,['real','tmp'])), [('real',3),('tmp',N)])
check('server-value-merge scenario 4', solve('server-value-merge', ([('tmp',0)],'tmp','real',0,['tmp'])), [('tmp',0)])
check('server-value-merge scenario 5', solve('server-value-merge', ([('other',N)],'tmp','real',7,['other'])), [('other',N)])
check('server-value-merge scenario 6', solve('server-value-merge', ([('tmp',2),('tail',3)],'tmp','real',None,['tmp','missing'])), [('tmp',None),('tail',3)])
check('reference-remap scenario 1', solve('reference-remap', ([('tmp',N),('old',2)], 'tmp','real',9,['tmp','old','tmp'])), ['real','old','real'])
check('reference-remap scenario 2', solve('reference-remap', ([], 'tmp','real',N,[])), [])
check('reference-remap scenario 3', solve('reference-remap', ([('real',3),('tmp',4)],'tmp','real',N,['real','tmp'])), ['real','real'])
check('reference-remap scenario 4', solve('reference-remap', ([('tmp',0)],'tmp','real',0,['tmp'])), ['real'])
check('reference-remap scenario 5', solve('reference-remap', ([('other',N)],'tmp','real',7,['other'])), ['other'])
check('reference-remap scenario 6', solve('reference-remap', ([('tmp',2),('tail',3)],'tmp','real',None,['tmp','missing'])), ['real','missing'])
check('optimistic-position scenario 1', solve('optimistic-position', ([('tmp',N),('old',2)], 'tmp','real',9,['tmp','old','tmp'])), 0)
check('optimistic-position scenario 2', solve('optimistic-position', ([], 'tmp','real',N,[])), None)
check('optimistic-position scenario 3', solve('optimistic-position', ([('real',3),('tmp',4)],'tmp','real',N,['real','tmp'])), 1)
check('optimistic-position scenario 4', solve('optimistic-position', ([('tmp',0)],'tmp','real',0,['tmp'])), 0)
check('optimistic-position scenario 5', solve('optimistic-position', ([('other',N)],'tmp','real',7,['other'])), None)
check('optimistic-position scenario 6', solve('optimistic-position', ([('tmp',2),('tail',3)],'tmp','real',None,['tmp','missing'])), 0)
check('duplicate-canonical-removal scenario 1', solve('duplicate-canonical-removal', ([('tmp',N),('old',2)], 'tmp','real',9,['tmp','old','tmp'])), [('tmp',N),('old',2)])
check('duplicate-canonical-removal scenario 2', solve('duplicate-canonical-removal', ([], 'tmp','real',N,[])), [])
check('duplicate-canonical-removal scenario 3', solve('duplicate-canonical-removal', ([('real',3),('tmp',4)],'tmp','real',N,['real','tmp'])), [('tmp',4)])
check('duplicate-canonical-removal scenario 4', solve('duplicate-canonical-removal', ([('tmp',0)],'tmp','real',0,['tmp'])), [('tmp',0)])
check('duplicate-canonical-removal scenario 5', solve('duplicate-canonical-removal', ([('other',N)],'tmp','real',7,['other'])), [('other',N)])
check('duplicate-canonical-removal scenario 6', solve('duplicate-canonical-removal', ([('tmp',2),('tail',3)],'tmp','real',None,['tmp','missing'])), [('tmp',2),('tail',3)])
check('temporary-presence scenario 1', solve('temporary-presence', ([('tmp',N),('old',2)], 'tmp','real',9,['tmp','old','tmp'])), True)
check('temporary-presence scenario 2', solve('temporary-presence', ([], 'tmp','real',N,[])), False)
check('temporary-presence scenario 3', solve('temporary-presence', ([('real',3),('tmp',4)],'tmp','real',N,['real','tmp'])), True)
check('temporary-presence scenario 4', solve('temporary-presence', ([('tmp',0)],'tmp','real',0,['tmp'])), True)
check('temporary-presence scenario 5', solve('temporary-presence', ([('other',N)],'tmp','real',7,['other'])), False)
check('temporary-presence scenario 6', solve('temporary-presence', ([('tmp',2),('tail',3)],'tmp','real',None,['tmp','missing'])), True)
check('rollback-remove-only-created scenario 1', solve('rollback-remove-only-created', ([('tmp',N),('old',2)], 'tmp','real',9,['tmp','old','tmp'])), [('old',2)])
check('rollback-remove-only-created scenario 2', solve('rollback-remove-only-created', ([], 'tmp','real',N,[])), [])
check('rollback-remove-only-created scenario 3', solve('rollback-remove-only-created', ([('real',3),('tmp',4)],'tmp','real',N,['real','tmp'])), [('real',3)])
check('rollback-remove-only-created scenario 4', solve('rollback-remove-only-created', ([('tmp',0)],'tmp','real',0,['tmp'])), [])
check('rollback-remove-only-created scenario 5', solve('rollback-remove-only-created', ([('other',N)],'tmp','real',7,['other'])), [('other',N)])
check('rollback-remove-only-created scenario 6', solve('rollback-remove-only-created', ([('tmp',2),('tail',3)],'tmp','real',None,['tmp','missing'])), [('tail',3)])
check('orphan-reference-audit scenario 1', solve('orphan-reference-audit', ([('tmp',N),('old',2)], 'tmp','real',9,['tmp','old','tmp'])), [])
check('orphan-reference-audit scenario 2', solve('orphan-reference-audit', ([], 'tmp','real',N,[])), [])
check('orphan-reference-audit scenario 3', solve('orphan-reference-audit', ([('real',3),('tmp',4)],'tmp','real',N,['real','tmp'])), [])
check('orphan-reference-audit scenario 4', solve('orphan-reference-audit', ([('tmp',0)],'tmp','real',0,['tmp'])), [])
check('orphan-reference-audit scenario 5', solve('orphan-reference-audit', ([('other',N)],'tmp','real',7,['other'])), [])
check('orphan-reference-audit scenario 6', solve('orphan-reference-audit', ([('tmp',2),('tail',3)],'tmp','real',None,['tmp','missing'])), ['missing'])
check('reference-multiplicity scenario 1', solve('reference-multiplicity', ([('tmp',N),('old',2)], 'tmp','real',9,['tmp','old','tmp'])), 2)
check('reference-multiplicity scenario 2', solve('reference-multiplicity', ([], 'tmp','real',N,[])), 0)
check('reference-multiplicity scenario 3', solve('reference-multiplicity', ([('real',3),('tmp',4)],'tmp','real',N,['real','tmp'])), 1)
check('reference-multiplicity scenario 4', solve('reference-multiplicity', ([('tmp',0)],'tmp','real',0,['tmp'])), 1)
check('reference-multiplicity scenario 5', solve('reference-multiplicity', ([('other',N)],'tmp','real',7,['other'])), 0)
check('reference-multiplicity scenario 6', solve('reference-multiplicity', ([('tmp',2),('tail',3)],'tmp','real',None,['tmp','missing'])), 1)
check('missing-entity-ack scenario 1', solve('missing-entity-ack', ([('tmp',N),('old',2)], 'tmp','real',9,['tmp','old','tmp'])), 'replace')
check('missing-entity-ack scenario 2', solve('missing-entity-ack', ([], 'tmp','real',N,[])), 'ignore')
check('missing-entity-ack scenario 3', solve('missing-entity-ack', ([('real',3),('tmp',4)],'tmp','real',N,['real','tmp'])), 'replace')
check('missing-entity-ack scenario 4', solve('missing-entity-ack', ([('tmp',0)],'tmp','real',0,['tmp'])), 'replace')
check('missing-entity-ack scenario 5', solve('missing-entity-ack', ([('other',N)],'tmp','real',7,['other'])), 'ignore')
check('missing-entity-ack scenario 6', solve('missing-entity-ack', ([('tmp',2),('tail',3)],'tmp','real',None,['tmp','missing'])), 'replace')
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 fixtureActualExpectedOutcome
canonical-id-rewrite scenario 1[['real', 1], ['old', 2]][['real', 1], ['old', 2]]Passed
canonical-id-rewrite scenario 2[][]Passed
canonical-id-rewrite scenario 3[['real', 3], ['real', 4]][['real', 3], ['real', 4]]Passed
canonical-id-rewrite scenario 4[['real', 0]][['real', 0]]Passed
canonical-id-rewrite scenario 5[['other', 1]][['other', 1]]Passed
canonical-id-rewrite scenario 6[['real', 2], ['tail', 3]][['real', 2], ['tail', 3]]Passed
server-value-merge scenario 1[['tmp', 9], ['old', 2]][['tmp', 9], ['old', 2]]Passed
server-value-merge scenario 2[][]Passed
server-value-merge scenario 3[['real', 3], ['tmp', 1]][['real', 3], ['tmp', 1]]Passed
server-value-merge scenario 4[['tmp', 0]][['tmp', 0]]Passed
server-value-merge scenario 5[['other', 1]][['other', 1]]Passed
server-value-merge scenario 6[['tmp', None], ['tail', 3]][['tmp', None], ['tail', 3]]Passed
reference-remap scenario 1['real', 'old', 'real']['real', 'old', 'real']Passed
reference-remap scenario 2[][]Passed
reference-remap scenario 3['real', 'real']['real', 'real']Passed
reference-remap scenario 4['real']['real']Passed
reference-remap scenario 5['other']['other']Passed
reference-remap scenario 6['real', 'missing']['real', 'missing']Passed
optimistic-position scenario 100Passed
optimistic-position scenario 2NoneNonePassed
optimistic-position scenario 311Passed
optimistic-position scenario 400Passed
optimistic-position scenario 5NoneNonePassed
optimistic-position scenario 600Passed
duplicate-canonical-removal scenario 1[['tmp', 1], ['old', 2]][['tmp', 1], ['old', 2]]Passed
duplicate-canonical-removal scenario 2[][]Passed
duplicate-canonical-removal scenario 3[['tmp', 4]][['tmp', 4]]Passed
duplicate-canonical-removal scenario 4[['tmp', 0]][['tmp', 0]]Passed
duplicate-canonical-removal scenario 5[['other', 1]][['other', 1]]Passed
duplicate-canonical-removal scenario 6[['tmp', 2], ['tail', 3]][['tmp', 2], ['tail', 3]]Passed
temporary-presence scenario 1TrueTruePassed
temporary-presence scenario 2FalseFalsePassed
temporary-presence scenario 3TrueTruePassed
temporary-presence scenario 4TrueTruePassed
temporary-presence scenario 5FalseFalsePassed
temporary-presence scenario 6TrueTruePassed
rollback-remove-only-created scenario 1[['tmp', 1], ['old', 2]][['old', 2]]Failed
rollback-remove-only-created scenario 2[][]Passed
rollback-remove-only-created scenario 3[['tmp', 4]][['real', 3]]Failed
rollback-remove-only-created scenario 4[['tmp', 0]][]Failed
rollback-remove-only-created scenario 5[['other', 1]][['other', 1]]Passed
rollback-remove-only-created scenario 6[['tmp', 2], ['tail', 3]][['tail', 3]]Failed
orphan-reference-audit scenario 1[][]Passed
orphan-reference-audit scenario 2[][]Passed
orphan-reference-audit scenario 3[][]Passed
orphan-reference-audit scenario 4[][]Passed
orphan-reference-audit scenario 5[][]Passed
orphan-reference-audit scenario 6['missing']['missing']Passed
reference-multiplicity scenario 122Passed
reference-multiplicity scenario 200Passed
reference-multiplicity scenario 311Passed
reference-multiplicity scenario 411Passed
reference-multiplicity scenario 500Passed
reference-multiplicity scenario 611Passed
missing-entity-ack scenario 1replacereplacePassed
missing-entity-ack scenario 2ignoreignorePassed
missing-entity-ack scenario 3replacereplacePassed
missing-entity-ack scenario 4replacereplacePassed
missing-entity-ack scenario 5ignoreignorePassed
missing-entity-ack scenario 6replacereplacePassed

SHA-256 / 382bbb135e5699f86748917109c8ad7a59a2511eeef4cabf2ad2fe5c70e14363

HELD IN THE MEMBER ARCHIVE

The verified repair and its recorded checks are member-only.

This mechanism has 60 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

Only the explicitly specified operations and finite deterministic records are modeled; no browser or framework conformance is claimed. 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:40:48.113202+00:00.

Case digest / bc9a471440f1619630773347ac0cd0d046a6eb4bf4da869d9dd8b915fd36f494