FAILURE MAP
← Case archive

FA-23501 / Client state / Open access

Route loader ownership: Empty loader result · case 01

Empty loader result.

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

ROOT CAUSE

The empty-loader-result client decision evaluates `data or prior` instead of `data if data is not None else prior`.

VERIFIED REPAIR

Apply the modeled empty-loader-result rule: `data if data is not None else prior`.

Unsuccessful approach: The partial repair `data if data else {}` still violates the explicit fixture contract.

Case contract

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.

Why this case matters

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

1 / The failure

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

N = 1
observations = []
def solve(operation, s):
    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)
Boundary fixtureActualExpectedOutcome
route-and-request-admission scenario 1TrueTruePassed
route-and-request-admission scenario 2FalseFalsePassed
route-and-request-admission scenario 3FalseFalsePassed
route-and-request-admission scenario 4FalseFalsePassed
route-and-request-admission scenario 5TrueTruePassed
route-and-request-admission scenario 6TrueTruePassed
unmount-write-suppression scenario 1{'v': 1}{'v': 1}Passed
unmount-write-suppression scenario 2{}{}Passed
unmount-write-suppression scenario 3NoneNonePassed
unmount-write-suppression scenario 4{}{}Passed
unmount-write-suppression scenario 5{}{}Passed
unmount-write-suppression scenario 6NoneNonePassed
error-null-distinction scenario 1FalseFalsePassed
error-null-distinction scenario 2TrueTruePassed
error-null-distinction scenario 3TrueTruePassed
error-null-distinction scenario 4FalseFalsePassed
error-null-distinction scenario 5FalseFalsePassed
error-null-distinction scenario 6TrueTruePassed
empty-loader-result scenario 1{'v': 1}{'v': 1}Passed
empty-loader-result scenario 2{'old': 1}{}Failed
empty-loader-result scenario 3{'old': 1}{'old': 1}Passed
empty-loader-result scenario 4{'v': 1}{'v': 1}Passed
empty-loader-result scenario 5{'old': 1}{}Failed
empty-loader-result scenario 6{'old': 1}{'old': 1}Passed
stale-error-isolation scenario 1NoneNonePassed
stale-error-isolation scenario 2NoneNonePassed
stale-error-isolation scenario 3NoneNonePassed
stale-error-isolation scenario 4NoneNonePassed
stale-error-isolation scenario 5NoneNonePassed
stale-error-isolation scenario 6Passed
loading-settlement scenario 1FalseFalsePassed
loading-settlement scenario 2TrueTruePassed
loading-settlement scenario 3TrueTruePassed
loading-settlement scenario 4FalseFalsePassed
loading-settlement scenario 5FalseFalsePassed
loading-settlement scenario 6FalseFalsePassed
retained-data-on-error scenario 1{'v': 1}{'v': 1}Passed
retained-data-on-error scenario 2{'old': 1}{'old': 1}Passed
retained-data-on-error scenario 3{'old': 1}{'old': 1}Passed
retained-data-on-error scenario 4{'v': 1}{'v': 1}Passed
retained-data-on-error scenario 5{}{}Passed
retained-data-on-error scenario 6{'old': 1}{'old': 1}Passed
route-transition-clear scenario 1{'old': 1}{'old': 1}Passed
route-transition-clear scenario 2{}{}Passed
route-transition-clear scenario 3{'old': 1}{'old': 1}Passed
route-transition-clear scenario 4{}{}Passed
route-transition-clear scenario 5{'old': 1}{'old': 1}Passed
route-transition-clear scenario 6{'old': 1}{'old': 1}Passed
error-boundary-reset-key scenario 1['a', 1]['a', 1]Passed
error-boundary-reset-key scenario 2['a', 2]['a', 2]Passed
error-boundary-reset-key scenario 3['a', 2]['a', 2]Passed
error-boundary-reset-key scenario 4['a', 2]['a', 2]Passed
error-boundary-reset-key scenario 5['b', 2]['b', 2]Passed
error-boundary-reset-key scenario 6['a', 3]['a', 3]Passed
resource-disposition scenario 1commitcommitPassed
resource-disposition scenario 2stalestalePassed
resource-disposition scenario 3stalestalePassed
resource-disposition scenario 4discarddiscardPassed
resource-disposition scenario 5commitcommitPassed
resource-disposition scenario 6commitcommitPassed

SHA-256 / df578f5b06968039e5fd90f21ed94a051bda5c54b317f775403ab6a0bbc299b0

2 / The unsuccessful fix

Exit 1
"""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)
Boundary fixtureActualExpectedOutcome
route-and-request-admission scenario 1TrueTruePassed
route-and-request-admission scenario 2FalseFalsePassed
route-and-request-admission scenario 3FalseFalsePassed
route-and-request-admission scenario 4FalseFalsePassed
route-and-request-admission scenario 5TrueTruePassed
route-and-request-admission scenario 6TrueTruePassed
unmount-write-suppression scenario 1{'v': 1}{'v': 1}Passed
unmount-write-suppression scenario 2{}{}Passed
unmount-write-suppression scenario 3NoneNonePassed
unmount-write-suppression scenario 4{}{}Passed
unmount-write-suppression scenario 5{}{}Passed
unmount-write-suppression scenario 6NoneNonePassed
error-null-distinction scenario 1FalseFalsePassed
error-null-distinction scenario 2TrueTruePassed
error-null-distinction scenario 3TrueTruePassed
error-null-distinction scenario 4FalseFalsePassed
error-null-distinction scenario 5FalseFalsePassed
error-null-distinction scenario 6TrueTruePassed
empty-loader-result scenario 1{'v': 1}{'v': 1}Passed
empty-loader-result scenario 2{}{}Passed
empty-loader-result scenario 3{}{'old': 1}Failed
empty-loader-result scenario 4{'v': 1}{'v': 1}Passed
empty-loader-result scenario 5{}{}Passed
empty-loader-result scenario 6{}{'old': 1}Failed
stale-error-isolation scenario 1NoneNonePassed
stale-error-isolation scenario 2NoneNonePassed
stale-error-isolation scenario 3NoneNonePassed
stale-error-isolation scenario 4NoneNonePassed
stale-error-isolation scenario 5NoneNonePassed
stale-error-isolation scenario 6Passed
loading-settlement scenario 1FalseFalsePassed
loading-settlement scenario 2TrueTruePassed
loading-settlement scenario 3TrueTruePassed
loading-settlement scenario 4FalseFalsePassed
loading-settlement scenario 5FalseFalsePassed
loading-settlement scenario 6FalseFalsePassed
retained-data-on-error scenario 1{'v': 1}{'v': 1}Passed
retained-data-on-error scenario 2{'old': 1}{'old': 1}Passed
retained-data-on-error scenario 3{'old': 1}{'old': 1}Passed
retained-data-on-error scenario 4{'v': 1}{'v': 1}Passed
retained-data-on-error scenario 5{}{}Passed
retained-data-on-error scenario 6{'old': 1}{'old': 1}Passed
route-transition-clear scenario 1{'old': 1}{'old': 1}Passed
route-transition-clear scenario 2{}{}Passed
route-transition-clear scenario 3{'old': 1}{'old': 1}Passed
route-transition-clear scenario 4{}{}Passed
route-transition-clear scenario 5{'old': 1}{'old': 1}Passed
route-transition-clear scenario 6{'old': 1}{'old': 1}Passed
error-boundary-reset-key scenario 1['a', 1]['a', 1]Passed
error-boundary-reset-key scenario 2['a', 2]['a', 2]Passed
error-boundary-reset-key scenario 3['a', 2]['a', 2]Passed
error-boundary-reset-key scenario 4['a', 2]['a', 2]Passed
error-boundary-reset-key scenario 5['b', 2]['b', 2]Passed
error-boundary-reset-key scenario 6['a', 3]['a', 3]Passed
resource-disposition scenario 1commitcommitPassed
resource-disposition scenario 2stalestalePassed
resource-disposition scenario 3stalestalePassed
resource-disposition scenario 4discarddiscardPassed
resource-disposition scenario 5commitcommitPassed
resource-disposition scenario 6commitcommitPassed

SHA-256 / 50b67e75e055a3eab33b3354f956aa75abd3dd049ba5bc691879429e87e9e62d

3 / The verified repair

Exit 0
"""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 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)
Boundary fixtureActualExpectedOutcome
route-and-request-admission scenario 1TrueTruePassed
route-and-request-admission scenario 2FalseFalsePassed
route-and-request-admission scenario 3FalseFalsePassed
route-and-request-admission scenario 4FalseFalsePassed
route-and-request-admission scenario 5TrueTruePassed
route-and-request-admission scenario 6TrueTruePassed
unmount-write-suppression scenario 1{'v': 1}{'v': 1}Passed
unmount-write-suppression scenario 2{}{}Passed
unmount-write-suppression scenario 3NoneNonePassed
unmount-write-suppression scenario 4{}{}Passed
unmount-write-suppression scenario 5{}{}Passed
unmount-write-suppression scenario 6NoneNonePassed
error-null-distinction scenario 1FalseFalsePassed
error-null-distinction scenario 2TrueTruePassed
error-null-distinction scenario 3TrueTruePassed
error-null-distinction scenario 4FalseFalsePassed
error-null-distinction scenario 5FalseFalsePassed
error-null-distinction scenario 6TrueTruePassed
empty-loader-result scenario 1{'v': 1}{'v': 1}Passed
empty-loader-result scenario 2{}{}Passed
empty-loader-result scenario 3{'old': 1}{'old': 1}Passed
empty-loader-result scenario 4{'v': 1}{'v': 1}Passed
empty-loader-result scenario 5{}{}Passed
empty-loader-result scenario 6{'old': 1}{'old': 1}Passed
stale-error-isolation scenario 1NoneNonePassed
stale-error-isolation scenario 2NoneNonePassed
stale-error-isolation scenario 3NoneNonePassed
stale-error-isolation scenario 4NoneNonePassed
stale-error-isolation scenario 5NoneNonePassed
stale-error-isolation scenario 6Passed
loading-settlement scenario 1FalseFalsePassed
loading-settlement scenario 2TrueTruePassed
loading-settlement scenario 3TrueTruePassed
loading-settlement scenario 4FalseFalsePassed
loading-settlement scenario 5FalseFalsePassed
loading-settlement scenario 6FalseFalsePassed
retained-data-on-error scenario 1{'v': 1}{'v': 1}Passed
retained-data-on-error scenario 2{'old': 1}{'old': 1}Passed
retained-data-on-error scenario 3{'old': 1}{'old': 1}Passed
retained-data-on-error scenario 4{'v': 1}{'v': 1}Passed
retained-data-on-error scenario 5{}{}Passed
retained-data-on-error scenario 6{'old': 1}{'old': 1}Passed
route-transition-clear scenario 1{'old': 1}{'old': 1}Passed
route-transition-clear scenario 2{}{}Passed
route-transition-clear scenario 3{'old': 1}{'old': 1}Passed
route-transition-clear scenario 4{}{}Passed
route-transition-clear scenario 5{'old': 1}{'old': 1}Passed
route-transition-clear scenario 6{'old': 1}{'old': 1}Passed
error-boundary-reset-key scenario 1['a', 1]['a', 1]Passed
error-boundary-reset-key scenario 2['a', 2]['a', 2]Passed
error-boundary-reset-key scenario 3['a', 2]['a', 2]Passed
error-boundary-reset-key scenario 4['a', 2]['a', 2]Passed
error-boundary-reset-key scenario 5['b', 2]['b', 2]Passed
error-boundary-reset-key scenario 6['a', 3]['a', 3]Passed
resource-disposition scenario 1commitcommitPassed
resource-disposition scenario 2stalestalePassed
resource-disposition scenario 3stalestalePassed
resource-disposition scenario 4discarddiscardPassed
resource-disposition scenario 5commitcommitPassed
resource-disposition scenario 6commitcommitPassed

SHA-256 / 3f54551ea8e1ef2603851147d111658b17620dc33a36dd632aba479a5767c776

Verification & scope

Only the explicitly specified operations and finite deterministic records are modeled; no browser or framework conformance is claimed. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.

Observations recorded using Python 3.12.14 at 2026-09-29T14:40:48.327516+00:00.

Case digest / 8d3abd73448fcfdeb127df1a9c171481ed712d92c28fed89b747f33438834b71