broken_source:
"""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!=temporary]
    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 int(temporary in refs)
    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)

source:
"""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!=temporary]
    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 len(refs)
    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)

prompt:
Reference multiplicity.

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 reference-multiplicity has the six explicit input/output oracles below.

split: open-access


broken_source:
"""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!=temporary]
    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'
    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)

meaning: Fixture-count band, not measured model difficulty

deps: stdlib

source:
"""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!=temporary]
    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 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)

prompt:
Missing entity ack.

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 missing-entity-ack has the six explicit input/output oracles below.

split: open-access


broken_source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(operation, s):
    active, result, request, latest, mounted, data, error, prior = s
    if operation == 'route-and-request-admission':
        return mounted and active==result
    if operation == 'unmount-write-suppression':
        return data if mounted else prior
    if operation == 'error-null-distinction':
        return error is not None
    if operation == 'empty-loader-result':
        return data if data is not None else prior
    if operation == 'stale-error-isolation':
        return error if active==result and request==latest else None
    if operation == 'loading-settlement':
        return request!=latest
    if operation == 'retained-data-on-error':
        return prior if error is not None else data
    if operation == 'route-transition-clear':
        return prior if active==result else {}
    if operation == 'error-boundary-reset-key':
        return (active,latest)
    if operation == 'resource-disposition':
        return 'discard' if not mounted else ('commit' if active==result and request==latest else 'stale')
    raise ValueError('unknown modeled operation')
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('route-and-request-admission scenario 1', solve('route-and-request-admission', ('a','a',1,1,True,{'v':N},None,{'old':1})), True)
check('route-and-request-admission scenario 2', solve('route-and-request-admission', ('a','b',1,2,True,{},'bad',{'old':N})), False)
check('route-and-request-admission scenario 3', solve('route-and-request-admission', ('a','a',1,2,True,None,'bad',{'old':N})), False)
check('route-and-request-admission scenario 4', solve('route-and-request-admission', ('a','a',2,2,False,{'v':N},None,{})), False)
check('route-and-request-admission scenario 5', solve('route-and-request-admission', ('b','b',2,2,True,{},None,{'old':N})), True)
check('route-and-request-admission scenario 6', solve('route-and-request-admission', ('a','a',3,3,True,None,'',{'old':N})), True)
check('unmount-write-suppression scenario 1', solve('unmount-write-suppression', ('a','a',1,1,True,{'v':N},None,{'old':1})), {'v':N})
check('unmount-write-suppression scenario 2', solve('unmount-write-suppression', ('a','b',1,2,True,{},'bad',{'old':N})), {})
check('unmount-write-suppression scenario 3', solve('unmount-write-suppression', ('a','a',1,2,True,None,'bad',{'old':N})), None)
check('unmount-write-suppression scenario 4', solve('unmount-write-suppression', ('a','a',2,2,False,{'v':N},None,{})), {})
check('unmount-write-suppression scenario 5', solve('unmount-write-suppression', ('b','b',2,2,True,{},None,{'old':N})), {})
check('unmount-write-suppression scenario 6', solve('unmount-write-suppression', ('a','a',3,3,True,None,'',{'old':N})), None)
check('error-null-distinction scenario 1', solve('error-null-distinction', ('a','a',1,1,True,{'v':N},None,{'old':1})), False)
check('error-null-distinction scenario 2', solve('error-null-distinction', ('a','b',1,2,True,{},'bad',{'old':N})), True)
check('error-null-distinction scenario 3', solve('error-null-distinction', ('a','a',1,2,True,None,'bad',{'old':N})), True)
check('error-null-distinction scenario 4', solve('error-null-distinction', ('a','a',2,2,False,{'v':N},None,{})), False)
check('error-null-distinction scenario 5', solve('error-null-distinction', ('b','b',2,2,True,{},None,{'old':N})), False)
check('error-null-distinction scenario 6', solve('error-null-distinction', ('a','a',3,3,True,None,'',{'old':N})), True)
check('empty-loader-result scenario 1', solve('empty-loader-result', ('a','a',1,1,True,{'v':N},None,{'old':1})), {'v':N})
check('empty-loader-result scenario 2', solve('empty-loader-result', ('a','b',1,2,True,{},'bad',{'old':N})), {})
check('empty-loader-result scenario 3', solve('empty-loader-result', ('a','a',1,2,True,None,'bad',{'old':N})), {'old':N})
check('empty-loader-result scenario 4', solve('empty-loader-result', ('a','a',2,2,False,{'v':N},None,{})), {'v':N})
check('empty-loader-result scenario 5', solve('empty-loader-result', ('b','b',2,2,True,{},None,{'old':N})), {})
check('empty-loader-result scenario 6', solve('empty-loader-result', ('a','a',3,3,True,None,'',{'old':N})), {'old':N})
check('stale-error-isolation scenario 1', solve('stale-error-isolation', ('a','a',1,1,True,{'v':N},None,{'old':1})), None)
check('stale-error-isolation scenario 2', solve('stale-error-isolation', ('a','b',1,2,True,{},'bad',{'old':N})), None)
check('stale-error-isolation scenario 3', solve('stale-error-isolation', ('a','a',1,2,True,None,'bad',{'old':N})), None)
check('stale-error-isolation scenario 4', solve('stale-error-isolation', ('a','a',2,2,False,{'v':N},None,{})), None)
check('stale-error-isolation scenario 5', solve('stale-error-isolation', ('b','b',2,2,True,{},None,{'old':N})), None)
check('stale-error-isolation scenario 6', solve('stale-error-isolation', ('a','a',3,3,True,None,'',{'old':N})), '')
check('loading-settlement scenario 1', solve('loading-settlement', ('a','a',1,1,True,{'v':N},None,{'old':1})), False)
check('loading-settlement scenario 2', solve('loading-settlement', ('a','b',1,2,True,{},'bad',{'old':N})), True)
check('loading-settlement scenario 3', solve('loading-settlement', ('a','a',1,2,True,None,'bad',{'old':N})), True)
check('loading-settlement scenario 4', solve('loading-settlement', ('a','a',2,2,False,{'v':N},None,{})), False)
check('loading-settlement scenario 5', solve('loading-settlement', ('b','b',2,2,True,{},None,{'old':N})), False)
check('loading-settlement scenario 6', solve('loading-settlement', ('a','a',3,3,True,None,'',{'old':N})), False)
check('retained-data-on-error scenario 1', solve('retained-data-on-error', ('a','a',1,1,True,{'v':N},None,{'old':1})), {'v':N})
check('retained-data-on-error scenario 2', solve('retained-data-on-error', ('a','b',1,2,True,{},'bad',{'old':N})), {'old':N})
check('retained-data-on-error scenario 3', solve('retained-data-on-error', ('a','a',1,2,True,None,'bad',{'old':N})), {'old':N})
check('retained-data-on-error scenario 4', solve('retained-data-on-error', ('a','a',2,2,False,{'v':N},None,{})), {'v':N})
check('retained-data-on-error scenario 5', solve('retained-data-on-error', ('b','b',2,2,True,{},None,{'old':N})), {})
check('retained-data-on-error scenario 6', solve('retained-data-on-error', ('a','a',3,3,True,None,'',{'old':N})), {'old':N})
check('route-transition-clear scenario 1', solve('route-transition-clear', ('a','a',1,1,True,{'v':N},None,{'old':1})), {'old':1})
check('route-transition-clear scenario 2', solve('route-transition-clear', ('a','b',1,2,True,{},'bad',{'old':N})), {})
check('route-transition-clear scenario 3', solve('route-transition-clear', ('a','a',1,2,True,None,'bad',{'old':N})), {'old':N})
check('route-transition-clear scenario 4', solve('route-transition-clear', ('a','a',2,2,False,{'v':N},None,{})), {})
check('route-transition-clear scenario 5', solve('route-transition-clear', ('b','b',2,2,True,{},None,{'old':N})), {'old':N})
check('route-transition-clear scenario 6', solve('route-transition-clear', ('a','a',3,3,True,None,'',{'old':N})), {'old':N})
check('error-boundary-reset-key scenario 1', solve('error-boundary-reset-key', ('a','a',1,1,True,{'v':N},None,{'old':1})), ('a',1))
check('error-boundary-reset-key scenario 2', solve('error-boundary-reset-key', ('a','b',1,2,True,{},'bad',{'old':N})), ('a',2))
check('error-boundary-reset-key scenario 3', solve('error-boundary-reset-key', ('a','a',1,2,True,None,'bad',{'old':N})), ('a',2))
check('error-boundary-reset-key scenario 4', solve('error-boundary-reset-key', ('a','a',2,2,False,{'v':N},None,{})), ('a',2))
check('error-boundary-reset-key scenario 5', solve('error-boundary-reset-key', ('b','b',2,2,True,{},None,{'old':N})), ('b',2))
check('error-boundary-reset-key scenario 6', solve('error-boundary-reset-key', ('a','a',3,3,True,None,'',{'old':N})), ('a',3))
check('resource-disposition scenario 1', solve('resource-disposition', ('a','a',1,1,True,{'v':N},None,{'old':1})), 'commit')
check('resource-disposition scenario 2', solve('resource-disposition', ('a','b',1,2,True,{},'bad',{'old':N})), 'stale')
check('resource-disposition scenario 3', solve('resource-disposition', ('a','a',1,2,True,None,'bad',{'old':N})), 'stale')
check('resource-disposition scenario 4', solve('resource-disposition', ('a','a',2,2,False,{'v':N},None,{})), 'discard')
check('resource-disposition scenario 5', solve('resource-disposition', ('b','b',2,2,True,{},None,{'old':N})), 'commit')
check('resource-disposition scenario 6', solve('resource-disposition', ('a','a',3,3,True,None,'',{'old':N})), 'commit')
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)

source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(operation, s):
    active, result, request, latest, mounted, data, error, prior = s
    if operation == 'route-and-request-admission':
        return mounted and request==latest and bool(data)
    if operation == 'unmount-write-suppression':
        return data if mounted else prior
    if operation == 'error-null-distinction':
        return error is not None
    if operation == 'empty-loader-result':
        return data if data is not None else prior
    if operation == 'stale-error-isolation':
        return error if active==result and request==latest else None
    if operation == 'loading-settlement':
        return request!=latest
    if operation == 'retained-data-on-error':
        return prior if error is not None else data
    if operation == 'route-transition-clear':
        return prior if active==result else {}
    if operation == 'error-boundary-reset-key':
        return (active,latest)
    if operation == 'resource-disposition':
        return 'discard' if not mounted else ('commit' if active==result and request==latest else 'stale')
    raise ValueError('unknown modeled operation')
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('route-and-request-admission scenario 1', solve('route-and-request-admission', ('a','a',1,1,True,{'v':N},None,{'old':1})), True)
check('route-and-request-admission scenario 2', solve('route-and-request-admission', ('a','b',1,2,True,{},'bad',{'old':N})), False)
check('route-and-request-admission scenario 3', solve('route-and-request-admission', ('a','a',1,2,True,None,'bad',{'old':N})), False)
check('route-and-request-admission scenario 4', solve('route-and-request-admission', ('a','a',2,2,False,{'v':N},None,{})), False)
check('route-and-request-admission scenario 5', solve('route-and-request-admission', ('b','b',2,2,True,{},None,{'old':N})), True)
check('route-and-request-admission scenario 6', solve('route-and-request-admission', ('a','a',3,3,True,None,'',{'old':N})), True)
check('unmount-write-suppression scenario 1', solve('unmount-write-suppression', ('a','a',1,1,True,{'v':N},None,{'old':1})), {'v':N})
check('unmount-write-suppression scenario 2', solve('unmount-write-suppression', ('a','b',1,2,True,{},'bad',{'old':N})), {})
check('unmount-write-suppression scenario 3', solve('unmount-write-suppression', ('a','a',1,2,True,None,'bad',{'old':N})), None)
check('unmount-write-suppression scenario 4', solve('unmount-write-suppression', ('a','a',2,2,False,{'v':N},None,{})), {})
check('unmount-write-suppression scenario 5', solve('unmount-write-suppression', ('b','b',2,2,True,{},None,{'old':N})), {})
check('unmount-write-suppression scenario 6', solve('unmount-write-suppression', ('a','a',3,3,True,None,'',{'old':N})), None)
check('error-null-distinction scenario 1', solve('error-null-distinction', ('a','a',1,1,True,{'v':N},None,{'old':1})), False)
check('error-null-distinction scenario 2', solve('error-null-distinction', ('a','b',1,2,True,{},'bad',{'old':N})), True)
check('error-null-distinction scenario 3', solve('error-null-distinction', ('a','a',1,2,True,None,'bad',{'old':N})), True)
check('error-null-distinction scenario 4', solve('error-null-distinction', ('a','a',2,2,False,{'v':N},None,{})), False)
check('error-null-distinction scenario 5', solve('error-null-distinction', ('b','b',2,2,True,{},None,{'old':N})), False)
check('error-null-distinction scenario 6', solve('error-null-distinction', ('a','a',3,3,True,None,'',{'old':N})), True)
check('empty-loader-result scenario 1', solve('empty-loader-result', ('a','a',1,1,True,{'v':N},None,{'old':1})), {'v':N})
check('empty-loader-result scenario 2', solve('empty-loader-result', ('a','b',1,2,True,{},'bad',{'old':N})), {})
check('empty-loader-result scenario 3', solve('empty-loader-result', ('a','a',1,2,True,None,'bad',{'old':N})), {'old':N})
check('empty-loader-result scenario 4', solve('empty-loader-result', ('a','a',2,2,False,{'v':N},None,{})), {'v':N})
check('empty-loader-result scenario 5', solve('empty-loader-result', ('b','b',2,2,True,{},None,{'old':N})), {})
check('empty-loader-result scenario 6', solve('empty-loader-result', ('a','a',3,3,True,None,'',{'old':N})), {'old':N})
check('stale-error-isolation scenario 1', solve('stale-error-isolation', ('a','a',1,1,True,{'v':N},None,{'old':1})), None)
check('stale-error-isolation scenario 2', solve('stale-error-isolation', ('a','b',1,2,True,{},'bad',{'old':N})), None)
check('stale-error-isolation scenario 3', solve('stale-error-isolation', ('a','a',1,2,True,None,'bad',{'old':N})), None)
check('stale-error-isolation scenario 4', solve('stale-error-isolation', ('a','a',2,2,False,{'v':N},None,{})), None)
check('stale-error-isolation scenario 5', solve('stale-error-isolation', ('b','b',2,2,True,{},None,{'old':N})), None)
check('stale-error-isolation scenario 6', solve('stale-error-isolation', ('a','a',3,3,True,None,'',{'old':N})), '')
check('loading-settlement scenario 1', solve('loading-settlement', ('a','a',1,1,True,{'v':N},None,{'old':1})), False)
check('loading-settlement scenario 2', solve('loading-settlement', ('a','b',1,2,True,{},'bad',{'old':N})), True)
check('loading-settlement scenario 3', solve('loading-settlement', ('a','a',1,2,True,None,'bad',{'old':N})), True)
check('loading-settlement scenario 4', solve('loading-settlement', ('a','a',2,2,False,{'v':N},None,{})), False)
check('loading-settlement scenario 5', solve('loading-settlement', ('b','b',2,2,True,{},None,{'old':N})), False)
check('loading-settlement scenario 6', solve('loading-settlement', ('a','a',3,3,True,None,'',{'old':N})), False)
check('retained-data-on-error scenario 1', solve('retained-data-on-error', ('a','a',1,1,True,{'v':N},None,{'old':1})), {'v':N})
check('retained-data-on-error scenario 2', solve('retained-data-on-error', ('a','b',1,2,True,{},'bad',{'old':N})), {'old':N})
check('retained-data-on-error scenario 3', solve('retained-data-on-error', ('a','a',1,2,True,None,'bad',{'old':N})), {'old':N})
check('retained-data-on-error scenario 4', solve('retained-data-on-error', ('a','a',2,2,False,{'v':N},None,{})), {'v':N})
check('retained-data-on-error scenario 5', solve('retained-data-on-error', ('b','b',2,2,True,{},None,{'old':N})), {})
check('retained-data-on-error scenario 6', solve('retained-data-on-error', ('a','a',3,3,True,None,'',{'old':N})), {'old':N})
check('route-transition-clear scenario 1', solve('route-transition-clear', ('a','a',1,1,True,{'v':N},None,{'old':1})), {'old':1})
check('route-transition-clear scenario 2', solve('route-transition-clear', ('a','b',1,2,True,{},'bad',{'old':N})), {})
check('route-transition-clear scenario 3', solve('route-transition-clear', ('a','a',1,2,True,None,'bad',{'old':N})), {'old':N})
check('route-transition-clear scenario 4', solve('route-transition-clear', ('a','a',2,2,False,{'v':N},None,{})), {})
check('route-transition-clear scenario 5', solve('route-transition-clear', ('b','b',2,2,True,{},None,{'old':N})), {'old':N})
check('route-transition-clear scenario 6', solve('route-transition-clear', ('a','a',3,3,True,None,'',{'old':N})), {'old':N})
check('error-boundary-reset-key scenario 1', solve('error-boundary-reset-key', ('a','a',1,1,True,{'v':N},None,{'old':1})), ('a',1))
check('error-boundary-reset-key scenario 2', solve('error-boundary-reset-key', ('a','b',1,2,True,{},'bad',{'old':N})), ('a',2))
check('error-boundary-reset-key scenario 3', solve('error-boundary-reset-key', ('a','a',1,2,True,None,'bad',{'old':N})), ('a',2))
check('error-boundary-reset-key scenario 4', solve('error-boundary-reset-key', ('a','a',2,2,False,{'v':N},None,{})), ('a',2))
check('error-boundary-reset-key scenario 5', solve('error-boundary-reset-key', ('b','b',2,2,True,{},None,{'old':N})), ('b',2))
check('error-boundary-reset-key scenario 6', solve('error-boundary-reset-key', ('a','a',3,3,True,None,'',{'old':N})), ('a',3))
check('resource-disposition scenario 1', solve('resource-disposition', ('a','a',1,1,True,{'v':N},None,{'old':1})), 'commit')
check('resource-disposition scenario 2', solve('resource-disposition', ('a','b',1,2,True,{},'bad',{'old':N})), 'stale')
check('resource-disposition scenario 3', solve('resource-disposition', ('a','a',1,2,True,None,'bad',{'old':N})), 'stale')
check('resource-disposition scenario 4', solve('resource-disposition', ('a','a',2,2,False,{'v':N},None,{})), 'discard')
check('resource-disposition scenario 5', solve('resource-disposition', ('b','b',2,2,True,{},None,{'old':N})), 'commit')
check('resource-disposition scenario 6', solve('resource-disposition', ('a','a',3,3,True,None,'',{'old':N})), 'commit')
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)

prompt:
Route and request admission.

A mounted route owns only its current route key and request generation. Empty mappings are successful data; null is no data; even an empty error string is an error. Old requests cannot settle current loading. Operation route-and-request-admission has the six explicit input/output oracles below.

split: open-access


broken_source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(operation, s):
    active, result, request, latest, mounted, data, error, prior = s
    if operation == 'route-and-request-admission':
        return mounted and active==result and request==latest
    if operation == 'unmount-write-suppression':
        return data
    if operation == 'error-null-distinction':
        return error is not None
    if operation == 'empty-loader-result':
        return data if data is not None else prior
    if operation == 'stale-error-isolation':
        return error if active==result and request==latest else None
    if operation == 'loading-settlement':
        return request!=latest
    if operation == 'retained-data-on-error':
        return prior if error is not None else data
    if operation == 'route-transition-clear':
        return prior if active==result else {}
    if operation == 'error-boundary-reset-key':
        return (active,latest)
    if operation == 'resource-disposition':
        return 'discard' if not mounted else ('commit' if active==result and request==latest else 'stale')
    raise ValueError('unknown modeled operation')
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('route-and-request-admission scenario 1', solve('route-and-request-admission', ('a','a',1,1,True,{'v':N},None,{'old':1})), True)
check('route-and-request-admission scenario 2', solve('route-and-request-admission', ('a','b',1,2,True,{},'bad',{'old':N})), False)
check('route-and-request-admission scenario 3', solve('route-and-request-admission', ('a','a',1,2,True,None,'bad',{'old':N})), False)
check('route-and-request-admission scenario 4', solve('route-and-request-admission', ('a','a',2,2,False,{'v':N},None,{})), False)
check('route-and-request-admission scenario 5', solve('route-and-request-admission', ('b','b',2,2,True,{},None,{'old':N})), True)
check('route-and-request-admission scenario 6', solve('route-and-request-admission', ('a','a',3,3,True,None,'',{'old':N})), True)
check('unmount-write-suppression scenario 1', solve('unmount-write-suppression', ('a','a',1,1,True,{'v':N},None,{'old':1})), {'v':N})
check('unmount-write-suppression scenario 2', solve('unmount-write-suppression', ('a','b',1,2,True,{},'bad',{'old':N})), {})
check('unmount-write-suppression scenario 3', solve('unmount-write-suppression', ('a','a',1,2,True,None,'bad',{'old':N})), None)
check('unmount-write-suppression scenario 4', solve('unmount-write-suppression', ('a','a',2,2,False,{'v':N},None,{})), {})
check('unmount-write-suppression scenario 5', solve('unmount-write-suppression', ('b','b',2,2,True,{},None,{'old':N})), {})
check('unmount-write-suppression scenario 6', solve('unmount-write-suppression', ('a','a',3,3,True,None,'',{'old':N})), None)
check('error-null-distinction scenario 1', solve('error-null-distinction', ('a','a',1,1,True,{'v':N},None,{'old':1})), False)
check('error-null-distinction scenario 2', solve('error-null-distinction', ('a','b',1,2,True,{},'bad',{'old':N})), True)
check('error-null-distinction scenario 3', solve('error-null-distinction', ('a','a',1,2,True,None,'bad',{'old':N})), True)
check('error-null-distinction scenario 4', solve('error-null-distinction', ('a','a',2,2,False,{'v':N},None,{})), False)
check('error-null-distinction scenario 5', solve('error-null-distinction', ('b','b',2,2,True,{},None,{'old':N})), False)
check('error-null-distinction scenario 6', solve('error-null-distinction', ('a','a',3,3,True,None,'',{'old':N})), True)
check('empty-loader-result scenario 1', solve('empty-loader-result', ('a','a',1,1,True,{'v':N},None,{'old':1})), {'v':N})
check('empty-loader-result scenario 2', solve('empty-loader-result', ('a','b',1,2,True,{},'bad',{'old':N})), {})
check('empty-loader-result scenario 3', solve('empty-loader-result', ('a','a',1,2,True,None,'bad',{'old':N})), {'old':N})
check('empty-loader-result scenario 4', solve('empty-loader-result', ('a','a',2,2,False,{'v':N},None,{})), {'v':N})
check('empty-loader-result scenario 5', solve('empty-loader-result', ('b','b',2,2,True,{},None,{'old':N})), {})
check('empty-loader-result scenario 6', solve('empty-loader-result', ('a','a',3,3,True,None,'',{'old':N})), {'old':N})
check('stale-error-isolation scenario 1', solve('stale-error-isolation', ('a','a',1,1,True,{'v':N},None,{'old':1})), None)
check('stale-error-isolation scenario 2', solve('stale-error-isolation', ('a','b',1,2,True,{},'bad',{'old':N})), None)
check('stale-error-isolation scenario 3', solve('stale-error-isolation', ('a','a',1,2,True,None,'bad',{'old':N})), None)
check('stale-error-isolation scenario 4', solve('stale-error-isolation', ('a','a',2,2,False,{'v':N},None,{})), None)
check('stale-error-isolation scenario 5', solve('stale-error-isolation', ('b','b',2,2,True,{},None,{'old':N})), None)
check('stale-error-isolation scenario 6', solve('stale-error-isolation', ('a','a',3,3,True,None,'',{'old':N})), '')
check('loading-settlement scenario 1', solve('loading-settlement', ('a','a',1,1,True,{'v':N},None,{'old':1})), False)
check('loading-settlement scenario 2', solve('loading-settlement', ('a','b',1,2,True,{},'bad',{'old':N})), True)
check('loading-settlement scenario 3', solve('loading-settlement', ('a','a',1,2,True,None,'bad',{'old':N})), True)
check('loading-settlement scenario 4', solve('loading-settlement', ('a','a',2,2,False,{'v':N},None,{})), False)
check('loading-settlement scenario 5', solve('loading-settlement', ('b','b',2,2,True,{},None,{'old':N})), False)
check('loading-settlement scenario 6', solve('loading-settlement', ('a','a',3,3,True,None,'',{'old':N})), False)
check('retained-data-on-error scenario 1', solve('retained-data-on-error', ('a','a',1,1,True,{'v':N},None,{'old':1})), {'v':N})
check('retained-data-on-error scenario 2', solve('retained-data-on-error', ('a','b',1,2,True,{},'bad',{'old':N})), {'old':N})
check('retained-data-on-error scenario 3', solve('retained-data-on-error', ('a','a',1,2,True,None,'bad',{'old':N})), {'old':N})
check('retained-data-on-error scenario 4', solve('retained-data-on-error', ('a','a',2,2,False,{'v':N},None,{})), {'v':N})
check('retained-data-on-error scenario 5', solve('retained-data-on-error', ('b','b',2,2,True,{},None,{'old':N})), {})
check('retained-data-on-error scenario 6', solve('retained-data-on-error', ('a','a',3,3,True,None,'',{'old':N})), {'old':N})
check('route-transition-clear scenario 1', solve('route-transition-clear', ('a','a',1,1,True,{'v':N},None,{'old':1})), {'old':1})
check('route-transition-clear scenario 2', solve('route-transition-clear', ('a','b',1,2,True,{},'bad',{'old':N})), {})
check('route-transition-clear scenario 3', solve('route-transition-clear', ('a','a',1,2,True,None,'bad',{'old':N})), {'old':N})
check('route-transition-clear scenario 4', solve('route-transition-clear', ('a','a',2,2,False,{'v':N},None,{})), {})
check('route-transition-clear scenario 5', solve('route-transition-clear', ('b','b',2,2,True,{},None,{'old':N})), {'old':N})
check('route-transition-clear scenario 6', solve('route-transition-clear', ('a','a',3,3,True,None,'',{'old':N})), {'old':N})
check('error-boundary-reset-key scenario 1', solve('error-boundary-reset-key', ('a','a',1,1,True,{'v':N},None,{'old':1})), ('a',1))
check('error-boundary-reset-key scenario 2', solve('error-boundary-reset-key', ('a','b',1,2,True,{},'bad',{'old':N})), ('a',2))
check('error-boundary-reset-key scenario 3', solve('error-boundary-reset-key', ('a','a',1,2,True,None,'bad',{'old':N})), ('a',2))
check('error-boundary-reset-key scenario 4', solve('error-boundary-reset-key', ('a','a',2,2,False,{'v':N},None,{})), ('a',2))
check('error-boundary-reset-key scenario 5', solve('error-boundary-reset-key', ('b','b',2,2,True,{},None,{'old':N})), ('b',2))
check('error-boundary-reset-key scenario 6', solve('error-boundary-reset-key', ('a','a',3,3,True,None,'',{'old':N})), ('a',3))
check('resource-disposition scenario 1', solve('resource-disposition', ('a','a',1,1,True,{'v':N},None,{'old':1})), 'commit')
check('resource-disposition scenario 2', solve('resource-disposition', ('a','b',1,2,True,{},'bad',{'old':N})), 'stale')
check('resource-disposition scenario 3', solve('resource-disposition', ('a','a',1,2,True,None,'bad',{'old':N})), 'stale')
check('resource-disposition scenario 4', solve('resource-disposition', ('a','a',2,2,False,{'v':N},None,{})), 'discard')
check('resource-disposition scenario 5', solve('resource-disposition', ('b','b',2,2,True,{},None,{'old':N})), 'commit')
check('resource-disposition scenario 6', solve('resource-disposition', ('a','a',3,3,True,None,'',{'old':N})), 'commit')
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)

source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(operation, s):
    active, result, request, latest, mounted, data, error, prior = s
    if operation == 'route-and-request-admission':
        return mounted and active==result and request==latest
    if operation == 'unmount-write-suppression':
        return data if mounted and data else prior
    if operation == 'error-null-distinction':
        return error is not None
    if operation == 'empty-loader-result':
        return data if data is not None else prior
    if operation == 'stale-error-isolation':
        return error if active==result and request==latest else None
    if operation == 'loading-settlement':
        return request!=latest
    if operation == 'retained-data-on-error':
        return prior if error is not None else data
    if operation == 'route-transition-clear':
        return prior if active==result else {}
    if operation == 'error-boundary-reset-key':
        return (active,latest)
    if operation == 'resource-disposition':
        return 'discard' if not mounted else ('commit' if active==result and request==latest else 'stale')
    raise ValueError('unknown modeled operation')
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('route-and-request-admission scenario 1', solve('route-and-request-admission', ('a','a',1,1,True,{'v':N},None,{'old':1})), True)
check('route-and-request-admission scenario 2', solve('route-and-request-admission', ('a','b',1,2,True,{},'bad',{'old':N})), False)
check('route-and-request-admission scenario 3', solve('route-and-request-admission', ('a','a',1,2,True,None,'bad',{'old':N})), False)
check('route-and-request-admission scenario 4', solve('route-and-request-admission', ('a','a',2,2,False,{'v':N},None,{})), False)
check('route-and-request-admission scenario 5', solve('route-and-request-admission', ('b','b',2,2,True,{},None,{'old':N})), True)
check('route-and-request-admission scenario 6', solve('route-and-request-admission', ('a','a',3,3,True,None,'',{'old':N})), True)
check('unmount-write-suppression scenario 1', solve('unmount-write-suppression', ('a','a',1,1,True,{'v':N},None,{'old':1})), {'v':N})
check('unmount-write-suppression scenario 2', solve('unmount-write-suppression', ('a','b',1,2,True,{},'bad',{'old':N})), {})
check('unmount-write-suppression scenario 3', solve('unmount-write-suppression', ('a','a',1,2,True,None,'bad',{'old':N})), None)
check('unmount-write-suppression scenario 4', solve('unmount-write-suppression', ('a','a',2,2,False,{'v':N},None,{})), {})
check('unmount-write-suppression scenario 5', solve('unmount-write-suppression', ('b','b',2,2,True,{},None,{'old':N})), {})
check('unmount-write-suppression scenario 6', solve('unmount-write-suppression', ('a','a',3,3,True,None,'',{'old':N})), None)
check('error-null-distinction scenario 1', solve('error-null-distinction', ('a','a',1,1,True,{'v':N},None,{'old':1})), False)
check('error-null-distinction scenario 2', solve('error-null-distinction', ('a','b',1,2,True,{},'bad',{'old':N})), True)
check('error-null-distinction scenario 3', solve('error-null-distinction', ('a','a',1,2,True,None,'bad',{'old':N})), True)
check('error-null-distinction scenario 4', solve('error-null-distinction', ('a','a',2,2,False,{'v':N},None,{})), False)
check('error-null-distinction scenario 5', solve('error-null-distinction', ('b','b',2,2,True,{},None,{'old':N})), False)
check('error-null-distinction scenario 6', solve('error-null-distinction', ('a','a',3,3,True,None,'',{'old':N})), True)
check('empty-loader-result scenario 1', solve('empty-loader-result', ('a','a',1,1,True,{'v':N},None,{'old':1})), {'v':N})
check('empty-loader-result scenario 2', solve('empty-loader-result', ('a','b',1,2,True,{},'bad',{'old':N})), {})
check('empty-loader-result scenario 3', solve('empty-loader-result', ('a','a',1,2,True,None,'bad',{'old':N})), {'old':N})
check('empty-loader-result scenario 4', solve('empty-loader-result', ('a','a',2,2,False,{'v':N},None,{})), {'v':N})
check('empty-loader-result scenario 5', solve('empty-loader-result', ('b','b',2,2,True,{},None,{'old':N})), {})
check('empty-loader-result scenario 6', solve('empty-loader-result', ('a','a',3,3,True,None,'',{'old':N})), {'old':N})
check('stale-error-isolation scenario 1', solve('stale-error-isolation', ('a','a',1,1,True,{'v':N},None,{'old':1})), None)
check('stale-error-isolation scenario 2', solve('stale-error-isolation', ('a','b',1,2,True,{},'bad',{'old':N})), None)
check('stale-error-isolation scenario 3', solve('stale-error-isolation', ('a','a',1,2,True,None,'bad',{'old':N})), None)
check('stale-error-isolation scenario 4', solve('stale-error-isolation', ('a','a',2,2,False,{'v':N},None,{})), None)
check('stale-error-isolation scenario 5', solve('stale-error-isolation', ('b','b',2,2,True,{},None,{'old':N})), None)
check('stale-error-isolation scenario 6', solve('stale-error-isolation', ('a','a',3,3,True,None,'',{'old':N})), '')
check('loading-settlement scenario 1', solve('loading-settlement', ('a','a',1,1,True,{'v':N},None,{'old':1})), False)
check('loading-settlement scenario 2', solve('loading-settlement', ('a','b',1,2,True,{},'bad',{'old':N})), True)
check('loading-settlement scenario 3', solve('loading-settlement', ('a','a',1,2,True,None,'bad',{'old':N})), True)
check('loading-settlement scenario 4', solve('loading-settlement', ('a','a',2,2,False,{'v':N},None,{})), False)
check('loading-settlement scenario 5', solve('loading-settlement', ('b','b',2,2,True,{},None,{'old':N})), False)
check('loading-settlement scenario 6', solve('loading-settlement', ('a','a',3,3,True,None,'',{'old':N})), False)
check('retained-data-on-error scenario 1', solve('retained-data-on-error', ('a','a',1,1,True,{'v':N},None,{'old':1})), {'v':N})
check('retained-data-on-error scenario 2', solve('retained-data-on-error', ('a','b',1,2,True,{},'bad',{'old':N})), {'old':N})
check('retained-data-on-error scenario 3', solve('retained-data-on-error', ('a','a',1,2,True,None,'bad',{'old':N})), {'old':N})
check('retained-data-on-error scenario 4', solve('retained-data-on-error', ('a','a',2,2,False,{'v':N},None,{})), {'v':N})
check('retained-data-on-error scenario 5', solve('retained-data-on-error', ('b','b',2,2,True,{},None,{'old':N})), {})
check('retained-data-on-error scenario 6', solve('retained-data-on-error', ('a','a',3,3,True,None,'',{'old':N})), {'old':N})
check('route-transition-clear scenario 1', solve('route-transition-clear', ('a','a',1,1,True,{'v':N},None,{'old':1})), {'old':1})
check('route-transition-clear scenario 2', solve('route-transition-clear', ('a','b',1,2,True,{},'bad',{'old':N})), {})
check('route-transition-clear scenario 3', solve('route-transition-clear', ('a','a',1,2,True,None,'bad',{'old':N})), {'old':N})
check('route-transition-clear scenario 4', solve('route-transition-clear', ('a','a',2,2,False,{'v':N},None,{})), {})
check('route-transition-clear scenario 5', solve('route-transition-clear', ('b','b',2,2,True,{},None,{'old':N})), {'old':N})
check('route-transition-clear scenario 6', solve('route-transition-clear', ('a','a',3,3,True,None,'',{'old':N})), {'old':N})
check('error-boundary-reset-key scenario 1', solve('error-boundary-reset-key', ('a','a',1,1,True,{'v':N},None,{'old':1})), ('a',1))
check('error-boundary-reset-key scenario 2', solve('error-boundary-reset-key', ('a','b',1,2,True,{},'bad',{'old':N})), ('a',2))
check('error-boundary-reset-key scenario 3', solve('error-boundary-reset-key', ('a','a',1,2,True,None,'bad',{'old':N})), ('a',2))
check('error-boundary-reset-key scenario 4', solve('error-boundary-reset-key', ('a','a',2,2,False,{'v':N},None,{})), ('a',2))
check('error-boundary-reset-key scenario 5', solve('error-boundary-reset-key', ('b','b',2,2,True,{},None,{'old':N})), ('b',2))
check('error-boundary-reset-key scenario 6', solve('error-boundary-reset-key', ('a','a',3,3,True,None,'',{'old':N})), ('a',3))
check('resource-disposition scenario 1', solve('resource-disposition', ('a','a',1,1,True,{'v':N},None,{'old':1})), 'commit')
check('resource-disposition scenario 2', solve('resource-disposition', ('a','b',1,2,True,{},'bad',{'old':N})), 'stale')
check('resource-disposition scenario 3', solve('resource-disposition', ('a','a',1,2,True,None,'bad',{'old':N})), 'stale')
check('resource-disposition scenario 4', solve('resource-disposition', ('a','a',2,2,False,{'v':N},None,{})), 'discard')
check('resource-disposition scenario 5', solve('resource-disposition', ('b','b',2,2,True,{},None,{'old':N})), 'commit')
check('resource-disposition scenario 6', solve('resource-disposition', ('a','a',3,3,True,None,'',{'old':N})), 'commit')
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)

prompt:
Unmount write suppression.

A mounted route owns only its current route key and request generation. Empty mappings are successful data; null is no data; even an empty error string is an error. Old requests cannot settle current loading. Operation unmount-write-suppression has the six explicit input/output oracles below.

split: open-access


broken_source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(operation, s):
    active, result, request, latest, mounted, data, error, prior = s
    if operation == 'route-and-request-admission':
        return mounted and active==result and request==latest
    if operation == 'unmount-write-suppression':
        return data if mounted else prior
    if operation == 'error-null-distinction':
        return error is not None
    if operation == 'empty-loader-result':
        return data or prior
    if operation == 'stale-error-isolation':
        return error if active==result and request==latest else None
    if operation == 'loading-settlement':
        return request!=latest
    if operation == 'retained-data-on-error':
        return prior if error is not None else data
    if operation == 'route-transition-clear':
        return prior if active==result else {}
    if operation == 'error-boundary-reset-key':
        return (active,latest)
    if operation == 'resource-disposition':
        return 'discard' if not mounted else ('commit' if active==result and request==latest else 'stale')
    raise ValueError('unknown modeled operation')
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('route-and-request-admission scenario 1', solve('route-and-request-admission', ('a','a',1,1,True,{'v':N},None,{'old':1})), True)
check('route-and-request-admission scenario 2', solve('route-and-request-admission', ('a','b',1,2,True,{},'bad',{'old':N})), False)
check('route-and-request-admission scenario 3', solve('route-and-request-admission', ('a','a',1,2,True,None,'bad',{'old':N})), False)
check('route-and-request-admission scenario 4', solve('route-and-request-admission', ('a','a',2,2,False,{'v':N},None,{})), False)
check('route-and-request-admission scenario 5', solve('route-and-request-admission', ('b','b',2,2,True,{},None,{'old':N})), True)
check('route-and-request-admission scenario 6', solve('route-and-request-admission', ('a','a',3,3,True,None,'',{'old':N})), True)
check('unmount-write-suppression scenario 1', solve('unmount-write-suppression', ('a','a',1,1,True,{'v':N},None,{'old':1})), {'v':N})
check('unmount-write-suppression scenario 2', solve('unmount-write-suppression', ('a','b',1,2,True,{},'bad',{'old':N})), {})
check('unmount-write-suppression scenario 3', solve('unmount-write-suppression', ('a','a',1,2,True,None,'bad',{'old':N})), None)
check('unmount-write-suppression scenario 4', solve('unmount-write-suppression', ('a','a',2,2,False,{'v':N},None,{})), {})
check('unmount-write-suppression scenario 5', solve('unmount-write-suppression', ('b','b',2,2,True,{},None,{'old':N})), {})
check('unmount-write-suppression scenario 6', solve('unmount-write-suppression', ('a','a',3,3,True,None,'',{'old':N})), None)
check('error-null-distinction scenario 1', solve('error-null-distinction', ('a','a',1,1,True,{'v':N},None,{'old':1})), False)
check('error-null-distinction scenario 2', solve('error-null-distinction', ('a','b',1,2,True,{},'bad',{'old':N})), True)
check('error-null-distinction scenario 3', solve('error-null-distinction', ('a','a',1,2,True,None,'bad',{'old':N})), True)
check('error-null-distinction scenario 4', solve('error-null-distinction', ('a','a',2,2,False,{'v':N},None,{})), False)
check('error-null-distinction scenario 5', solve('error-null-distinction', ('b','b',2,2,True,{},None,{'old':N})), False)
check('error-null-distinction scenario 6', solve('error-null-distinction', ('a','a',3,3,True,None,'',{'old':N})), True)
check('empty-loader-result scenario 1', solve('empty-loader-result', ('a','a',1,1,True,{'v':N},None,{'old':1})), {'v':N})
check('empty-loader-result scenario 2', solve('empty-loader-result', ('a','b',1,2,True,{},'bad',{'old':N})), {})
check('empty-loader-result scenario 3', solve('empty-loader-result', ('a','a',1,2,True,None,'bad',{'old':N})), {'old':N})
check('empty-loader-result scenario 4', solve('empty-loader-result', ('a','a',2,2,False,{'v':N},None,{})), {'v':N})
check('empty-loader-result scenario 5', solve('empty-loader-result', ('b','b',2,2,True,{},None,{'old':N})), {})
check('empty-loader-result scenario 6', solve('empty-loader-result', ('a','a',3,3,True,None,'',{'old':N})), {'old':N})
check('stale-error-isolation scenario 1', solve('stale-error-isolation', ('a','a',1,1,True,{'v':N},None,{'old':1})), None)
check('stale-error-isolation scenario 2', solve('stale-error-isolation', ('a','b',1,2,True,{},'bad',{'old':N})), None)
check('stale-error-isolation scenario 3', solve('stale-error-isolation', ('a','a',1,2,True,None,'bad',{'old':N})), None)
check('stale-error-isolation scenario 4', solve('stale-error-isolation', ('a','a',2,2,False,{'v':N},None,{})), None)
check('stale-error-isolation scenario 5', solve('stale-error-isolation', ('b','b',2,2,True,{},None,{'old':N})), None)
check('stale-error-isolation scenario 6', solve('stale-error-isolation', ('a','a',3,3,True,None,'',{'old':N})), '')
check('loading-settlement scenario 1', solve('loading-settlement', ('a','a',1,1,True,{'v':N},None,{'old':1})), False)
check('loading-settlement scenario 2', solve('loading-settlement', ('a','b',1,2,True,{},'bad',{'old':N})), True)
check('loading-settlement scenario 3', solve('loading-settlement', ('a','a',1,2,True,None,'bad',{'old':N})), True)
check('loading-settlement scenario 4', solve('loading-settlement', ('a','a',2,2,False,{'v':N},None,{})), False)
check('loading-settlement scenario 5', solve('loading-settlement', ('b','b',2,2,True,{},None,{'old':N})), False)
check('loading-settlement scenario 6', solve('loading-settlement', ('a','a',3,3,True,None,'',{'old':N})), False)
check('retained-data-on-error scenario 1', solve('retained-data-on-error', ('a','a',1,1,True,{'v':N},None,{'old':1})), {'v':N})
check('retained-data-on-error scenario 2', solve('retained-data-on-error', ('a','b',1,2,True,{},'bad',{'old':N})), {'old':N})
check('retained-data-on-error scenario 3', solve('retained-data-on-error', ('a','a',1,2,True,None,'bad',{'old':N})), {'old':N})
check('retained-data-on-error scenario 4', solve('retained-data-on-error', ('a','a',2,2,False,{'v':N},None,{})), {'v':N})
check('retained-data-on-error scenario 5', solve('retained-data-on-error', ('b','b',2,2,True,{},None,{'old':N})), {})
check('retained-data-on-error scenario 6', solve('retained-data-on-error', ('a','a',3,3,True,None,'',{'old':N})), {'old':N})
check('route-transition-clear scenario 1', solve('route-transition-clear', ('a','a',1,1,True,{'v':N},None,{'old':1})), {'old':1})
check('route-transition-clear scenario 2', solve('route-transition-clear', ('a','b',1,2,True,{},'bad',{'old':N})), {})
check('route-transition-clear scenario 3', solve('route-transition-clear', ('a','a',1,2,True,None,'bad',{'old':N})), {'old':N})
check('route-transition-clear scenario 4', solve('route-transition-clear', ('a','a',2,2,False,{'v':N},None,{})), {})
check('route-transition-clear scenario 5', solve('route-transition-clear', ('b','b',2,2,True,{},None,{'old':N})), {'old':N})
check('route-transition-clear scenario 6', solve('route-transition-clear', ('a','a',3,3,True,None,'',{'old':N})), {'old':N})
check('error-boundary-reset-key scenario 1', solve('error-boundary-reset-key', ('a','a',1,1,True,{'v':N},None,{'old':1})), ('a',1))
check('error-boundary-reset-key scenario 2', solve('error-boundary-reset-key', ('a','b',1,2,True,{},'bad',{'old':N})), ('a',2))
check('error-boundary-reset-key scenario 3', solve('error-boundary-reset-key', ('a','a',1,2,True,None,'bad',{'old':N})), ('a',2))
check('error-boundary-reset-key scenario 4', solve('error-boundary-reset-key', ('a','a',2,2,False,{'v':N},None,{})), ('a',2))
check('error-boundary-reset-key scenario 5', solve('error-boundary-reset-key', ('b','b',2,2,True,{},None,{'old':N})), ('b',2))
check('error-boundary-reset-key scenario 6', solve('error-boundary-reset-key', ('a','a',3,3,True,None,'',{'old':N})), ('a',3))
check('resource-disposition scenario 1', solve('resource-disposition', ('a','a',1,1,True,{'v':N},None,{'old':1})), 'commit')
check('resource-disposition scenario 2', solve('resource-disposition', ('a','b',1,2,True,{},'bad',{'old':N})), 'stale')
check('resource-disposition scenario 3', solve('resource-disposition', ('a','a',1,2,True,None,'bad',{'old':N})), 'stale')
check('resource-disposition scenario 4', solve('resource-disposition', ('a','a',2,2,False,{'v':N},None,{})), 'discard')
check('resource-disposition scenario 5', solve('resource-disposition', ('b','b',2,2,True,{},None,{'old':N})), 'commit')
check('resource-disposition scenario 6', solve('resource-disposition', ('a','a',3,3,True,None,'',{'old':N})), 'commit')
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)

source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(operation, s):
    active, result, request, latest, mounted, data, error, prior = s
    if operation == 'route-and-request-admission':
        return mounted and active==result and request==latest
    if operation == 'unmount-write-suppression':
        return data if mounted else prior
    if operation == 'error-null-distinction':
        return error is not None
    if operation == 'empty-loader-result':
        return data if data else {}
    if operation == 'stale-error-isolation':
        return error if active==result and request==latest else None
    if operation == 'loading-settlement':
        return request!=latest
    if operation == 'retained-data-on-error':
        return prior if error is not None else data
    if operation == 'route-transition-clear':
        return prior if active==result else {}
    if operation == 'error-boundary-reset-key':
        return (active,latest)
    if operation == 'resource-disposition':
        return 'discard' if not mounted else ('commit' if active==result and request==latest else 'stale')
    raise ValueError('unknown modeled operation')
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('route-and-request-admission scenario 1', solve('route-and-request-admission', ('a','a',1,1,True,{'v':N},None,{'old':1})), True)
check('route-and-request-admission scenario 2', solve('route-and-request-admission', ('a','b',1,2,True,{},'bad',{'old':N})), False)
check('route-and-request-admission scenario 3', solve('route-and-request-admission', ('a','a',1,2,True,None,'bad',{'old':N})), False)
check('route-and-request-admission scenario 4', solve('route-and-request-admission', ('a','a',2,2,False,{'v':N},None,{})), False)
check('route-and-request-admission scenario 5', solve('route-and-request-admission', ('b','b',2,2,True,{},None,{'old':N})), True)
check('route-and-request-admission scenario 6', solve('route-and-request-admission', ('a','a',3,3,True,None,'',{'old':N})), True)
check('unmount-write-suppression scenario 1', solve('unmount-write-suppression', ('a','a',1,1,True,{'v':N},None,{'old':1})), {'v':N})
check('unmount-write-suppression scenario 2', solve('unmount-write-suppression', ('a','b',1,2,True,{},'bad',{'old':N})), {})
check('unmount-write-suppression scenario 3', solve('unmount-write-suppression', ('a','a',1,2,True,None,'bad',{'old':N})), None)
check('unmount-write-suppression scenario 4', solve('unmount-write-suppression', ('a','a',2,2,False,{'v':N},None,{})), {})
check('unmount-write-suppression scenario 5', solve('unmount-write-suppression', ('b','b',2,2,True,{},None,{'old':N})), {})
check('unmount-write-suppression scenario 6', solve('unmount-write-suppression', ('a','a',3,3,True,None,'',{'old':N})), None)
check('error-null-distinction scenario 1', solve('error-null-distinction', ('a','a',1,1,True,{'v':N},None,{'old':1})), False)
check('error-null-distinction scenario 2', solve('error-null-distinction', ('a','b',1,2,True,{},'bad',{'old':N})), True)
check('error-null-distinction scenario 3', solve('error-null-distinction', ('a','a',1,2,True,None,'bad',{'old':N})), True)
check('error-null-distinction scenario 4', solve('error-null-distinction', ('a','a',2,2,False,{'v':N},None,{})), False)
check('error-null-distinction scenario 5', solve('error-null-distinction', ('b','b',2,2,True,{},None,{'old':N})), False)
check('error-null-distinction scenario 6', solve('error-null-distinction', ('a','a',3,3,True,None,'',{'old':N})), True)
check('empty-loader-result scenario 1', solve('empty-loader-result', ('a','a',1,1,True,{'v':N},None,{'old':1})), {'v':N})
check('empty-loader-result scenario 2', solve('empty-loader-result', ('a','b',1,2,True,{},'bad',{'old':N})), {})
check('empty-loader-result scenario 3', solve('empty-loader-result', ('a','a',1,2,True,None,'bad',{'old':N})), {'old':N})
check('empty-loader-result scenario 4', solve('empty-loader-result', ('a','a',2,2,False,{'v':N},None,{})), {'v':N})
check('empty-loader-result scenario 5', solve('empty-loader-result', ('b','b',2,2,True,{},None,{'old':N})), {})
check('empty-loader-result scenario 6', solve('empty-loader-result', ('a','a',3,3,True,None,'',{'old':N})), {'old':N})
check('stale-error-isolation scenario 1', solve('stale-error-isolation', ('a','a',1,1,True,{'v':N},None,{'old':1})), None)
check('stale-error-isolation scenario 2', solve('stale-error-isolation', ('a','b',1,2,True,{},'bad',{'old':N})), None)
check('stale-error-isolation scenario 3', solve('stale-error-isolation', ('a','a',1,2,True,None,'bad',{'old':N})), None)
check('stale-error-isolation scenario 4', solve('stale-error-isolation', ('a','a',2,2,False,{'v':N},None,{})), None)
check('stale-error-isolation scenario 5', solve('stale-error-isolation', ('b','b',2,2,True,{},None,{'old':N})), None)
check('stale-error-isolation scenario 6', solve('stale-error-isolation', ('a','a',3,3,True,None,'',{'old':N})), '')
check('loading-settlement scenario 1', solve('loading-settlement', ('a','a',1,1,True,{'v':N},None,{'old':1})), False)
check('loading-settlement scenario 2', solve('loading-settlement', ('a','b',1,2,True,{},'bad',{'old':N})), True)
check('loading-settlement scenario 3', solve('loading-settlement', ('a','a',1,2,True,None,'bad',{'old':N})), True)
check('loading-settlement scenario 4', solve('loading-settlement', ('a','a',2,2,False,{'v':N},None,{})), False)
check('loading-settlement scenario 5', solve('loading-settlement', ('b','b',2,2,True,{},None,{'old':N})), False)
check('loading-settlement scenario 6', solve('loading-settlement', ('a','a',3,3,True,None,'',{'old':N})), False)
check('retained-data-on-error scenario 1', solve('retained-data-on-error', ('a','a',1,1,True,{'v':N},None,{'old':1})), {'v':N})
check('retained-data-on-error scenario 2', solve('retained-data-on-error', ('a','b',1,2,True,{},'bad',{'old':N})), {'old':N})
check('retained-data-on-error scenario 3', solve('retained-data-on-error', ('a','a',1,2,True,None,'bad',{'old':N})), {'old':N})
check('retained-data-on-error scenario 4', solve('retained-data-on-error', ('a','a',2,2,False,{'v':N},None,{})), {'v':N})
check('retained-data-on-error scenario 5', solve('retained-data-on-error', ('b','b',2,2,True,{},None,{'old':N})), {})
check('retained-data-on-error scenario 6', solve('retained-data-on-error', ('a','a',3,3,True,None,'',{'old':N})), {'old':N})
check('route-transition-clear scenario 1', solve('route-transition-clear', ('a','a',1,1,True,{'v':N},None,{'old':1})), {'old':1})
check('route-transition-clear scenario 2', solve('route-transition-clear', ('a','b',1,2,True,{},'bad',{'old':N})), {})
check('route-transition-clear scenario 3', solve('route-transition-clear', ('a','a',1,2,True,None,'bad',{'old':N})), {'old':N})
check('route-transition-clear scenario 4', solve('route-transition-clear', ('a','a',2,2,False,{'v':N},None,{})), {})
check('route-transition-clear scenario 5', solve('route-transition-clear', ('b','b',2,2,True,{},None,{'old':N})), {'old':N})
check('route-transition-clear scenario 6', solve('route-transition-clear', ('a','a',3,3,True,None,'',{'old':N})), {'old':N})
check('error-boundary-reset-key scenario 1', solve('error-boundary-reset-key', ('a','a',1,1,True,{'v':N},None,{'old':1})), ('a',1))
check('error-boundary-reset-key scenario 2', solve('error-boundary-reset-key', ('a','b',1,2,True,{},'bad',{'old':N})), ('a',2))
check('error-boundary-reset-key scenario 3', solve('error-boundary-reset-key', ('a','a',1,2,True,None,'bad',{'old':N})), ('a',2))
check('error-boundary-reset-key scenario 4', solve('error-boundary-reset-key', ('a','a',2,2,False,{'v':N},None,{})), ('a',2))
check('error-boundary-reset-key scenario 5', solve('error-boundary-reset-key', ('b','b',2,2,True,{},None,{'old':N})), ('b',2))
check('error-boundary-reset-key scenario 6', solve('error-boundary-reset-key', ('a','a',3,3,True,None,'',{'old':N})), ('a',3))
check('resource-disposition scenario 1', solve('resource-disposition', ('a','a',1,1,True,{'v':N},None,{'old':1})), 'commit')
check('resource-disposition scenario 2', solve('resource-disposition', ('a','b',1,2,True,{},'bad',{'old':N})), 'stale')
check('resource-disposition scenario 3', solve('resource-disposition', ('a','a',1,2,True,None,'bad',{'old':N})), 'stale')
check('resource-disposition scenario 4', solve('resource-disposition', ('a','a',2,2,False,{'v':N},None,{})), 'discard')
check('resource-disposition scenario 5', solve('resource-disposition', ('b','b',2,2,True,{},None,{'old':N})), 'commit')
check('resource-disposition scenario 6', solve('resource-disposition', ('a','a',3,3,True,None,'',{'old':N})), 'commit')
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)

prompt:
Empty loader result.

A mounted route owns only its current route key and request generation. Empty mappings are successful data; null is no data; even an empty error string is an error. Old requests cannot settle current loading. Operation empty-loader-result has the six explicit input/output oracles below.

split: open-access