FA-23516 / Client state / Open access
Route loader ownership: Route transition clear · case 01
Route transition clear.
ROOT CAUSE
The route-transition-clear client decision evaluates `prior` instead of `prior if active==result else {}`.
VERIFIED REPAIR
Apply the modeled route-transition-clear rule: `prior if active==result else {}`.
Unsuccessful approach: The partial repair `{}` 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 route-transition-clear 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 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 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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| route-and-request-admission scenario 1 | True | True | Passed |
| route-and-request-admission scenario 2 | False | False | Passed |
| route-and-request-admission scenario 3 | False | False | Passed |
| route-and-request-admission scenario 4 | False | False | Passed |
| route-and-request-admission scenario 5 | True | True | Passed |
| route-and-request-admission scenario 6 | True | True | Passed |
| unmount-write-suppression scenario 1 | {'v': 1} | {'v': 1} | Passed |
| unmount-write-suppression scenario 2 | {} | {} | Passed |
| unmount-write-suppression scenario 3 | None | None | Passed |
| unmount-write-suppression scenario 4 | {} | {} | Passed |
| unmount-write-suppression scenario 5 | {} | {} | Passed |
| unmount-write-suppression scenario 6 | None | None | Passed |
| error-null-distinction scenario 1 | False | False | Passed |
| error-null-distinction scenario 2 | True | True | Passed |
| error-null-distinction scenario 3 | True | True | Passed |
| error-null-distinction scenario 4 | False | False | Passed |
| error-null-distinction scenario 5 | False | False | Passed |
| error-null-distinction scenario 6 | True | True | Passed |
| 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 1 | None | None | Passed |
| stale-error-isolation scenario 2 | None | None | Passed |
| stale-error-isolation scenario 3 | None | None | Passed |
| stale-error-isolation scenario 4 | None | None | Passed |
| stale-error-isolation scenario 5 | None | None | Passed |
| stale-error-isolation scenario 6 | | | Passed |
| loading-settlement scenario 1 | False | False | Passed |
| loading-settlement scenario 2 | True | True | Passed |
| loading-settlement scenario 3 | True | True | Passed |
| loading-settlement scenario 4 | False | False | Passed |
| loading-settlement scenario 5 | False | False | Passed |
| loading-settlement scenario 6 | False | False | Passed |
| 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 | {'old': 1} | {} | Failed |
| 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 1 | commit | commit | Passed |
| resource-disposition scenario 2 | stale | stale | Passed |
| resource-disposition scenario 3 | stale | stale | Passed |
| resource-disposition scenario 4 | discard | discard | Passed |
| resource-disposition scenario 5 | commit | commit | Passed |
| resource-disposition scenario 6 | commit | commit | Passed |
SHA-256 / e233c9c7efe75cb99867a35ad2813bbae0454c8bcd817c527db99bf470c61b9e
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 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 {}
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| route-and-request-admission scenario 1 | True | True | Passed |
| route-and-request-admission scenario 2 | False | False | Passed |
| route-and-request-admission scenario 3 | False | False | Passed |
| route-and-request-admission scenario 4 | False | False | Passed |
| route-and-request-admission scenario 5 | True | True | Passed |
| route-and-request-admission scenario 6 | True | True | Passed |
| unmount-write-suppression scenario 1 | {'v': 1} | {'v': 1} | Passed |
| unmount-write-suppression scenario 2 | {} | {} | Passed |
| unmount-write-suppression scenario 3 | None | None | Passed |
| unmount-write-suppression scenario 4 | {} | {} | Passed |
| unmount-write-suppression scenario 5 | {} | {} | Passed |
| unmount-write-suppression scenario 6 | None | None | Passed |
| error-null-distinction scenario 1 | False | False | Passed |
| error-null-distinction scenario 2 | True | True | Passed |
| error-null-distinction scenario 3 | True | True | Passed |
| error-null-distinction scenario 4 | False | False | Passed |
| error-null-distinction scenario 5 | False | False | Passed |
| error-null-distinction scenario 6 | True | True | Passed |
| 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 1 | None | None | Passed |
| stale-error-isolation scenario 2 | None | None | Passed |
| stale-error-isolation scenario 3 | None | None | Passed |
| stale-error-isolation scenario 4 | None | None | Passed |
| stale-error-isolation scenario 5 | None | None | Passed |
| stale-error-isolation scenario 6 | | | Passed |
| loading-settlement scenario 1 | False | False | Passed |
| loading-settlement scenario 2 | True | True | Passed |
| loading-settlement scenario 3 | True | True | Passed |
| loading-settlement scenario 4 | False | False | Passed |
| loading-settlement scenario 5 | False | False | Passed |
| loading-settlement scenario 6 | False | False | Passed |
| 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} | Failed |
| route-transition-clear scenario 2 | {} | {} | Passed |
| route-transition-clear scenario 3 | {} | {'old': 1} | Failed |
| route-transition-clear scenario 4 | {} | {} | Passed |
| route-transition-clear scenario 5 | {} | {'old': 1} | Failed |
| route-transition-clear scenario 6 | {} | {'old': 1} | Failed |
| 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 1 | commit | commit | Passed |
| resource-disposition scenario 2 | stale | stale | Passed |
| resource-disposition scenario 3 | stale | stale | Passed |
| resource-disposition scenario 4 | discard | discard | Passed |
| resource-disposition scenario 5 | commit | commit | Passed |
| resource-disposition scenario 6 | commit | commit | Passed |
SHA-256 / ead8ca6174abf6bf0336be5f26d38294bf403c11c45e99f671c16c7ae1663b68
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| route-and-request-admission scenario 1 | True | True | Passed |
| route-and-request-admission scenario 2 | False | False | Passed |
| route-and-request-admission scenario 3 | False | False | Passed |
| route-and-request-admission scenario 4 | False | False | Passed |
| route-and-request-admission scenario 5 | True | True | Passed |
| route-and-request-admission scenario 6 | True | True | Passed |
| unmount-write-suppression scenario 1 | {'v': 1} | {'v': 1} | Passed |
| unmount-write-suppression scenario 2 | {} | {} | Passed |
| unmount-write-suppression scenario 3 | None | None | Passed |
| unmount-write-suppression scenario 4 | {} | {} | Passed |
| unmount-write-suppression scenario 5 | {} | {} | Passed |
| unmount-write-suppression scenario 6 | None | None | Passed |
| error-null-distinction scenario 1 | False | False | Passed |
| error-null-distinction scenario 2 | True | True | Passed |
| error-null-distinction scenario 3 | True | True | Passed |
| error-null-distinction scenario 4 | False | False | Passed |
| error-null-distinction scenario 5 | False | False | Passed |
| error-null-distinction scenario 6 | True | True | Passed |
| 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 1 | None | None | Passed |
| stale-error-isolation scenario 2 | None | None | Passed |
| stale-error-isolation scenario 3 | None | None | Passed |
| stale-error-isolation scenario 4 | None | None | Passed |
| stale-error-isolation scenario 5 | None | None | Passed |
| stale-error-isolation scenario 6 | | | Passed |
| loading-settlement scenario 1 | False | False | Passed |
| loading-settlement scenario 2 | True | True | Passed |
| loading-settlement scenario 3 | True | True | Passed |
| loading-settlement scenario 4 | False | False | Passed |
| loading-settlement scenario 5 | False | False | Passed |
| loading-settlement scenario 6 | False | False | Passed |
| 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 1 | commit | commit | Passed |
| resource-disposition scenario 2 | stale | stale | Passed |
| resource-disposition scenario 3 | stale | stale | Passed |
| resource-disposition scenario 4 | discard | discard | Passed |
| resource-disposition scenario 5 | commit | commit | Passed |
| resource-disposition scenario 6 | commit | commit | Passed |
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.388740+00:00.
Case digest / 6fa9b2f3fdda558112d0a6560aba2c86629430527f41a5cc99e5f02822cee96a