FAILURE MAP
← Case archive

FA-23871 / Client state / Open access

Component effect lifecycle: Unmount cleanup · case 01

Unmount cleanup.

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

ROOT CAUSE

The unmount-cleanup client decision evaluates `False` instead of `cleanup and not mounted`.

THE FAILURE

The unmount-cleanup client decision evaluates `False` instead of `cleanup and not mounted`.

Unsuccessful approach: The partial repair `cleanup and mounted` still violates the explicit fixture contract.

Case contract

An effect tracks dependency length, values and scalar types; an empty dependency vector differs from no prior run. Cleanup precedes setup, unmount suppresses completion writes, and each setup advances a generation. Operation unmount-cleanup 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):
    mounted, dependencies, previous, cleanup, run, owner, completion_owner = s
    if operation == 'dependency-shape-comparison':
        return previous is None or len(dependencies)!=len(previous) or any(type(a)!=type(b) or a!=b for a,b in zip(dependencies,previous))
    if operation == 'unmount-cleanup':
        return False
    if operation == 'initial-effect-run':
        return previous is None or run==0
    if operation == 'cleanup-before-rerun':
        return ['cleanup','setup'] if cleanup else ['setup']
    if operation == 'completion-owner-check':
        return mounted and owner==completion_owner
    if operation == 'dependency-snapshot-copy':
        return list(dependencies)
    if operation == 'generation-increment':
        return run+1
    if operation == 'setup-after-unmount':
        return 'setup' if mounted else 'skip'
    if operation == 'cleanup-registration-retained':
        return cleanup if mounted else False
    if operation == 'owner-change-invalidates':
        return owner!=completion_owner
    raise ValueError('unknown modeled operation')
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('dependency-shape-comparison scenario 1', solve('dependency-shape-comparison', (True,[N,2],[N,1],True,2,'a','a')), True)
check('dependency-shape-comparison scenario 2', solve('dependency-shape-comparison', (True,[],[],False,0,'a','a')), False)
check('dependency-shape-comparison scenario 3', solve('dependency-shape-comparison', (False,[1],[1],True,1,'a','a')), False)
check('dependency-shape-comparison scenario 4', solve('dependency-shape-comparison', (True,[0],[False],True,3,'a','b')), True)
check('dependency-shape-comparison scenario 5', solve('dependency-shape-comparison', (True,[None],None,False,0,'b','b')), True)
check('dependency-shape-comparison scenario 6', solve('dependency-shape-comparison', (True,[1,2],[1],True,1,'a','a')), True)
check('unmount-cleanup scenario 1', solve('unmount-cleanup', (True,[N,2],[N,1],True,2,'a','a')), False)
check('unmount-cleanup scenario 2', solve('unmount-cleanup', (True,[],[],False,0,'a','a')), False)
check('unmount-cleanup scenario 3', solve('unmount-cleanup', (False,[1],[1],True,1,'a','a')), True)
check('unmount-cleanup scenario 4', solve('unmount-cleanup', (True,[0],[False],True,3,'a','b')), False)
check('unmount-cleanup scenario 5', solve('unmount-cleanup', (True,[None],None,False,0,'b','b')), False)
check('unmount-cleanup scenario 6', solve('unmount-cleanup', (True,[1,2],[1],True,1,'a','a')), False)
check('initial-effect-run scenario 1', solve('initial-effect-run', (True,[N,2],[N,1],True,2,'a','a')), False)
check('initial-effect-run scenario 2', solve('initial-effect-run', (True,[],[],False,0,'a','a')), True)
check('initial-effect-run scenario 3', solve('initial-effect-run', (False,[1],[1],True,1,'a','a')), False)
check('initial-effect-run scenario 4', solve('initial-effect-run', (True,[0],[False],True,3,'a','b')), False)
check('initial-effect-run scenario 5', solve('initial-effect-run', (True,[None],None,False,0,'b','b')), True)
check('initial-effect-run scenario 6', solve('initial-effect-run', (True,[1,2],[1],True,1,'a','a')), False)
check('cleanup-before-rerun scenario 1', solve('cleanup-before-rerun', (True,[N,2],[N,1],True,2,'a','a')), ['cleanup','setup'])
check('cleanup-before-rerun scenario 2', solve('cleanup-before-rerun', (True,[],[],False,0,'a','a')), ['setup'])
check('cleanup-before-rerun scenario 3', solve('cleanup-before-rerun', (False,[1],[1],True,1,'a','a')), ['cleanup','setup'])
check('cleanup-before-rerun scenario 4', solve('cleanup-before-rerun', (True,[0],[False],True,3,'a','b')), ['cleanup','setup'])
check('cleanup-before-rerun scenario 5', solve('cleanup-before-rerun', (True,[None],None,False,0,'b','b')), ['setup'])
check('cleanup-before-rerun scenario 6', solve('cleanup-before-rerun', (True,[1,2],[1],True,1,'a','a')), ['cleanup','setup'])
check('completion-owner-check scenario 1', solve('completion-owner-check', (True,[N,2],[N,1],True,2,'a','a')), True)
check('completion-owner-check scenario 2', solve('completion-owner-check', (True,[],[],False,0,'a','a')), True)
check('completion-owner-check scenario 3', solve('completion-owner-check', (False,[1],[1],True,1,'a','a')), False)
check('completion-owner-check scenario 4', solve('completion-owner-check', (True,[0],[False],True,3,'a','b')), False)
check('completion-owner-check scenario 5', solve('completion-owner-check', (True,[None],None,False,0,'b','b')), True)
check('completion-owner-check scenario 6', solve('completion-owner-check', (True,[1,2],[1],True,1,'a','a')), True)
check('dependency-snapshot-copy scenario 1', solve('dependency-snapshot-copy', (True,[N,2],[N,1],True,2,'a','a')), [N,2])
check('dependency-snapshot-copy scenario 2', solve('dependency-snapshot-copy', (True,[],[],False,0,'a','a')), [])
check('dependency-snapshot-copy scenario 3', solve('dependency-snapshot-copy', (False,[1],[1],True,1,'a','a')), [1])
check('dependency-snapshot-copy scenario 4', solve('dependency-snapshot-copy', (True,[0],[False],True,3,'a','b')), [0])
check('dependency-snapshot-copy scenario 5', solve('dependency-snapshot-copy', (True,[None],None,False,0,'b','b')), [None])
check('dependency-snapshot-copy scenario 6', solve('dependency-snapshot-copy', (True,[1,2],[1],True,1,'a','a')), [1,2])
check('generation-increment scenario 1', solve('generation-increment', (True,[N,2],[N,1],True,2,'a','a')), 3)
check('generation-increment scenario 2', solve('generation-increment', (True,[],[],False,0,'a','a')), 1)
check('generation-increment scenario 3', solve('generation-increment', (False,[1],[1],True,1,'a','a')), 2)
check('generation-increment scenario 4', solve('generation-increment', (True,[0],[False],True,3,'a','b')), 4)
check('generation-increment scenario 5', solve('generation-increment', (True,[None],None,False,0,'b','b')), 1)
check('generation-increment scenario 6', solve('generation-increment', (True,[1,2],[1],True,1,'a','a')), 2)
check('setup-after-unmount scenario 1', solve('setup-after-unmount', (True,[N,2],[N,1],True,2,'a','a')), 'setup')
check('setup-after-unmount scenario 2', solve('setup-after-unmount', (True,[],[],False,0,'a','a')), 'setup')
check('setup-after-unmount scenario 3', solve('setup-after-unmount', (False,[1],[1],True,1,'a','a')), 'skip')
check('setup-after-unmount scenario 4', solve('setup-after-unmount', (True,[0],[False],True,3,'a','b')), 'setup')
check('setup-after-unmount scenario 5', solve('setup-after-unmount', (True,[None],None,False,0,'b','b')), 'setup')
check('setup-after-unmount scenario 6', solve('setup-after-unmount', (True,[1,2],[1],True,1,'a','a')), 'setup')
check('cleanup-registration-retained scenario 1', solve('cleanup-registration-retained', (True,[N,2],[N,1],True,2,'a','a')), True)
check('cleanup-registration-retained scenario 2', solve('cleanup-registration-retained', (True,[],[],False,0,'a','a')), False)
check('cleanup-registration-retained scenario 3', solve('cleanup-registration-retained', (False,[1],[1],True,1,'a','a')), False)
check('cleanup-registration-retained scenario 4', solve('cleanup-registration-retained', (True,[0],[False],True,3,'a','b')), True)
check('cleanup-registration-retained scenario 5', solve('cleanup-registration-retained', (True,[None],None,False,0,'b','b')), False)
check('cleanup-registration-retained scenario 6', solve('cleanup-registration-retained', (True,[1,2],[1],True,1,'a','a')), True)
check('owner-change-invalidates scenario 1', solve('owner-change-invalidates', (True,[N,2],[N,1],True,2,'a','a')), False)
check('owner-change-invalidates scenario 2', solve('owner-change-invalidates', (True,[],[],False,0,'a','a')), False)
check('owner-change-invalidates scenario 3', solve('owner-change-invalidates', (False,[1],[1],True,1,'a','a')), False)
check('owner-change-invalidates scenario 4', solve('owner-change-invalidates', (True,[0],[False],True,3,'a','b')), True)
check('owner-change-invalidates scenario 5', solve('owner-change-invalidates', (True,[None],None,False,0,'b','b')), False)
check('owner-change-invalidates scenario 6', solve('owner-change-invalidates', (True,[1,2],[1],True,1,'a','a')), False)
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
dependency-shape-comparison scenario 1TrueTruePassed
dependency-shape-comparison scenario 2FalseFalsePassed
dependency-shape-comparison scenario 3FalseFalsePassed
dependency-shape-comparison scenario 4TrueTruePassed
dependency-shape-comparison scenario 5TrueTruePassed
dependency-shape-comparison scenario 6TrueTruePassed
unmount-cleanup scenario 1FalseFalsePassed
unmount-cleanup scenario 2FalseFalsePassed
unmount-cleanup scenario 3FalseTrueFailed
unmount-cleanup scenario 4FalseFalsePassed
unmount-cleanup scenario 5FalseFalsePassed
unmount-cleanup scenario 6FalseFalsePassed
initial-effect-run scenario 1FalseFalsePassed
initial-effect-run scenario 2TrueTruePassed
initial-effect-run scenario 3FalseFalsePassed
initial-effect-run scenario 4FalseFalsePassed
initial-effect-run scenario 5TrueTruePassed
initial-effect-run scenario 6FalseFalsePassed
cleanup-before-rerun scenario 1['cleanup', 'setup']['cleanup', 'setup']Passed
cleanup-before-rerun scenario 2['setup']['setup']Passed
cleanup-before-rerun scenario 3['cleanup', 'setup']['cleanup', 'setup']Passed
cleanup-before-rerun scenario 4['cleanup', 'setup']['cleanup', 'setup']Passed
cleanup-before-rerun scenario 5['setup']['setup']Passed
cleanup-before-rerun scenario 6['cleanup', 'setup']['cleanup', 'setup']Passed
completion-owner-check scenario 1TrueTruePassed
completion-owner-check scenario 2TrueTruePassed
completion-owner-check scenario 3FalseFalsePassed
completion-owner-check scenario 4FalseFalsePassed
completion-owner-check scenario 5TrueTruePassed
completion-owner-check scenario 6TrueTruePassed
dependency-snapshot-copy scenario 1[1, 2][1, 2]Passed
dependency-snapshot-copy scenario 2[][]Passed
dependency-snapshot-copy scenario 3[1][1]Passed
dependency-snapshot-copy scenario 4[0][0]Passed
dependency-snapshot-copy scenario 5[None][None]Passed
dependency-snapshot-copy scenario 6[1, 2][1, 2]Passed
generation-increment scenario 133Passed
generation-increment scenario 211Passed
generation-increment scenario 322Passed
generation-increment scenario 444Passed
generation-increment scenario 511Passed
generation-increment scenario 622Passed
setup-after-unmount scenario 1setupsetupPassed
setup-after-unmount scenario 2setupsetupPassed
setup-after-unmount scenario 3skipskipPassed
setup-after-unmount scenario 4setupsetupPassed
setup-after-unmount scenario 5setupsetupPassed
setup-after-unmount scenario 6setupsetupPassed
cleanup-registration-retained scenario 1TrueTruePassed
cleanup-registration-retained scenario 2FalseFalsePassed
cleanup-registration-retained scenario 3FalseFalsePassed
cleanup-registration-retained scenario 4TrueTruePassed
cleanup-registration-retained scenario 5FalseFalsePassed
cleanup-registration-retained scenario 6TrueTruePassed
owner-change-invalidates scenario 1FalseFalsePassed
owner-change-invalidates scenario 2FalseFalsePassed
owner-change-invalidates scenario 3FalseFalsePassed
owner-change-invalidates scenario 4TrueTruePassed
owner-change-invalidates scenario 5FalseFalsePassed
owner-change-invalidates scenario 6FalseFalsePassed

SHA-256 / 7c5ecc6cef8f63ca5b110273761906e028aac4cf90b99b22be38a3cd8cacf617

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(operation, s):
    mounted, dependencies, previous, cleanup, run, owner, completion_owner = s
    if operation == 'dependency-shape-comparison':
        return previous is None or len(dependencies)!=len(previous) or any(type(a)!=type(b) or a!=b for a,b in zip(dependencies,previous))
    if operation == 'unmount-cleanup':
        return cleanup and mounted
    if operation == 'initial-effect-run':
        return previous is None or run==0
    if operation == 'cleanup-before-rerun':
        return ['cleanup','setup'] if cleanup else ['setup']
    if operation == 'completion-owner-check':
        return mounted and owner==completion_owner
    if operation == 'dependency-snapshot-copy':
        return list(dependencies)
    if operation == 'generation-increment':
        return run+1
    if operation == 'setup-after-unmount':
        return 'setup' if mounted else 'skip'
    if operation == 'cleanup-registration-retained':
        return cleanup if mounted else False
    if operation == 'owner-change-invalidates':
        return owner!=completion_owner
    raise ValueError('unknown modeled operation')
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('dependency-shape-comparison scenario 1', solve('dependency-shape-comparison', (True,[N,2],[N,1],True,2,'a','a')), True)
check('dependency-shape-comparison scenario 2', solve('dependency-shape-comparison', (True,[],[],False,0,'a','a')), False)
check('dependency-shape-comparison scenario 3', solve('dependency-shape-comparison', (False,[1],[1],True,1,'a','a')), False)
check('dependency-shape-comparison scenario 4', solve('dependency-shape-comparison', (True,[0],[False],True,3,'a','b')), True)
check('dependency-shape-comparison scenario 5', solve('dependency-shape-comparison', (True,[None],None,False,0,'b','b')), True)
check('dependency-shape-comparison scenario 6', solve('dependency-shape-comparison', (True,[1,2],[1],True,1,'a','a')), True)
check('unmount-cleanup scenario 1', solve('unmount-cleanup', (True,[N,2],[N,1],True,2,'a','a')), False)
check('unmount-cleanup scenario 2', solve('unmount-cleanup', (True,[],[],False,0,'a','a')), False)
check('unmount-cleanup scenario 3', solve('unmount-cleanup', (False,[1],[1],True,1,'a','a')), True)
check('unmount-cleanup scenario 4', solve('unmount-cleanup', (True,[0],[False],True,3,'a','b')), False)
check('unmount-cleanup scenario 5', solve('unmount-cleanup', (True,[None],None,False,0,'b','b')), False)
check('unmount-cleanup scenario 6', solve('unmount-cleanup', (True,[1,2],[1],True,1,'a','a')), False)
check('initial-effect-run scenario 1', solve('initial-effect-run', (True,[N,2],[N,1],True,2,'a','a')), False)
check('initial-effect-run scenario 2', solve('initial-effect-run', (True,[],[],False,0,'a','a')), True)
check('initial-effect-run scenario 3', solve('initial-effect-run', (False,[1],[1],True,1,'a','a')), False)
check('initial-effect-run scenario 4', solve('initial-effect-run', (True,[0],[False],True,3,'a','b')), False)
check('initial-effect-run scenario 5', solve('initial-effect-run', (True,[None],None,False,0,'b','b')), True)
check('initial-effect-run scenario 6', solve('initial-effect-run', (True,[1,2],[1],True,1,'a','a')), False)
check('cleanup-before-rerun scenario 1', solve('cleanup-before-rerun', (True,[N,2],[N,1],True,2,'a','a')), ['cleanup','setup'])
check('cleanup-before-rerun scenario 2', solve('cleanup-before-rerun', (True,[],[],False,0,'a','a')), ['setup'])
check('cleanup-before-rerun scenario 3', solve('cleanup-before-rerun', (False,[1],[1],True,1,'a','a')), ['cleanup','setup'])
check('cleanup-before-rerun scenario 4', solve('cleanup-before-rerun', (True,[0],[False],True,3,'a','b')), ['cleanup','setup'])
check('cleanup-before-rerun scenario 5', solve('cleanup-before-rerun', (True,[None],None,False,0,'b','b')), ['setup'])
check('cleanup-before-rerun scenario 6', solve('cleanup-before-rerun', (True,[1,2],[1],True,1,'a','a')), ['cleanup','setup'])
check('completion-owner-check scenario 1', solve('completion-owner-check', (True,[N,2],[N,1],True,2,'a','a')), True)
check('completion-owner-check scenario 2', solve('completion-owner-check', (True,[],[],False,0,'a','a')), True)
check('completion-owner-check scenario 3', solve('completion-owner-check', (False,[1],[1],True,1,'a','a')), False)
check('completion-owner-check scenario 4', solve('completion-owner-check', (True,[0],[False],True,3,'a','b')), False)
check('completion-owner-check scenario 5', solve('completion-owner-check', (True,[None],None,False,0,'b','b')), True)
check('completion-owner-check scenario 6', solve('completion-owner-check', (True,[1,2],[1],True,1,'a','a')), True)
check('dependency-snapshot-copy scenario 1', solve('dependency-snapshot-copy', (True,[N,2],[N,1],True,2,'a','a')), [N,2])
check('dependency-snapshot-copy scenario 2', solve('dependency-snapshot-copy', (True,[],[],False,0,'a','a')), [])
check('dependency-snapshot-copy scenario 3', solve('dependency-snapshot-copy', (False,[1],[1],True,1,'a','a')), [1])
check('dependency-snapshot-copy scenario 4', solve('dependency-snapshot-copy', (True,[0],[False],True,3,'a','b')), [0])
check('dependency-snapshot-copy scenario 5', solve('dependency-snapshot-copy', (True,[None],None,False,0,'b','b')), [None])
check('dependency-snapshot-copy scenario 6', solve('dependency-snapshot-copy', (True,[1,2],[1],True,1,'a','a')), [1,2])
check('generation-increment scenario 1', solve('generation-increment', (True,[N,2],[N,1],True,2,'a','a')), 3)
check('generation-increment scenario 2', solve('generation-increment', (True,[],[],False,0,'a','a')), 1)
check('generation-increment scenario 3', solve('generation-increment', (False,[1],[1],True,1,'a','a')), 2)
check('generation-increment scenario 4', solve('generation-increment', (True,[0],[False],True,3,'a','b')), 4)
check('generation-increment scenario 5', solve('generation-increment', (True,[None],None,False,0,'b','b')), 1)
check('generation-increment scenario 6', solve('generation-increment', (True,[1,2],[1],True,1,'a','a')), 2)
check('setup-after-unmount scenario 1', solve('setup-after-unmount', (True,[N,2],[N,1],True,2,'a','a')), 'setup')
check('setup-after-unmount scenario 2', solve('setup-after-unmount', (True,[],[],False,0,'a','a')), 'setup')
check('setup-after-unmount scenario 3', solve('setup-after-unmount', (False,[1],[1],True,1,'a','a')), 'skip')
check('setup-after-unmount scenario 4', solve('setup-after-unmount', (True,[0],[False],True,3,'a','b')), 'setup')
check('setup-after-unmount scenario 5', solve('setup-after-unmount', (True,[None],None,False,0,'b','b')), 'setup')
check('setup-after-unmount scenario 6', solve('setup-after-unmount', (True,[1,2],[1],True,1,'a','a')), 'setup')
check('cleanup-registration-retained scenario 1', solve('cleanup-registration-retained', (True,[N,2],[N,1],True,2,'a','a')), True)
check('cleanup-registration-retained scenario 2', solve('cleanup-registration-retained', (True,[],[],False,0,'a','a')), False)
check('cleanup-registration-retained scenario 3', solve('cleanup-registration-retained', (False,[1],[1],True,1,'a','a')), False)
check('cleanup-registration-retained scenario 4', solve('cleanup-registration-retained', (True,[0],[False],True,3,'a','b')), True)
check('cleanup-registration-retained scenario 5', solve('cleanup-registration-retained', (True,[None],None,False,0,'b','b')), False)
check('cleanup-registration-retained scenario 6', solve('cleanup-registration-retained', (True,[1,2],[1],True,1,'a','a')), True)
check('owner-change-invalidates scenario 1', solve('owner-change-invalidates', (True,[N,2],[N,1],True,2,'a','a')), False)
check('owner-change-invalidates scenario 2', solve('owner-change-invalidates', (True,[],[],False,0,'a','a')), False)
check('owner-change-invalidates scenario 3', solve('owner-change-invalidates', (False,[1],[1],True,1,'a','a')), False)
check('owner-change-invalidates scenario 4', solve('owner-change-invalidates', (True,[0],[False],True,3,'a','b')), True)
check('owner-change-invalidates scenario 5', solve('owner-change-invalidates', (True,[None],None,False,0,'b','b')), False)
check('owner-change-invalidates scenario 6', solve('owner-change-invalidates', (True,[1,2],[1],True,1,'a','a')), False)
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
dependency-shape-comparison scenario 1TrueTruePassed
dependency-shape-comparison scenario 2FalseFalsePassed
dependency-shape-comparison scenario 3FalseFalsePassed
dependency-shape-comparison scenario 4TrueTruePassed
dependency-shape-comparison scenario 5TrueTruePassed
dependency-shape-comparison scenario 6TrueTruePassed
unmount-cleanup scenario 1TrueFalseFailed
unmount-cleanup scenario 2FalseFalsePassed
unmount-cleanup scenario 3FalseTrueFailed
unmount-cleanup scenario 4TrueFalseFailed
unmount-cleanup scenario 5FalseFalsePassed
unmount-cleanup scenario 6TrueFalseFailed
initial-effect-run scenario 1FalseFalsePassed
initial-effect-run scenario 2TrueTruePassed
initial-effect-run scenario 3FalseFalsePassed
initial-effect-run scenario 4FalseFalsePassed
initial-effect-run scenario 5TrueTruePassed
initial-effect-run scenario 6FalseFalsePassed
cleanup-before-rerun scenario 1['cleanup', 'setup']['cleanup', 'setup']Passed
cleanup-before-rerun scenario 2['setup']['setup']Passed
cleanup-before-rerun scenario 3['cleanup', 'setup']['cleanup', 'setup']Passed
cleanup-before-rerun scenario 4['cleanup', 'setup']['cleanup', 'setup']Passed
cleanup-before-rerun scenario 5['setup']['setup']Passed
cleanup-before-rerun scenario 6['cleanup', 'setup']['cleanup', 'setup']Passed
completion-owner-check scenario 1TrueTruePassed
completion-owner-check scenario 2TrueTruePassed
completion-owner-check scenario 3FalseFalsePassed
completion-owner-check scenario 4FalseFalsePassed
completion-owner-check scenario 5TrueTruePassed
completion-owner-check scenario 6TrueTruePassed
dependency-snapshot-copy scenario 1[1, 2][1, 2]Passed
dependency-snapshot-copy scenario 2[][]Passed
dependency-snapshot-copy scenario 3[1][1]Passed
dependency-snapshot-copy scenario 4[0][0]Passed
dependency-snapshot-copy scenario 5[None][None]Passed
dependency-snapshot-copy scenario 6[1, 2][1, 2]Passed
generation-increment scenario 133Passed
generation-increment scenario 211Passed
generation-increment scenario 322Passed
generation-increment scenario 444Passed
generation-increment scenario 511Passed
generation-increment scenario 622Passed
setup-after-unmount scenario 1setupsetupPassed
setup-after-unmount scenario 2setupsetupPassed
setup-after-unmount scenario 3skipskipPassed
setup-after-unmount scenario 4setupsetupPassed
setup-after-unmount scenario 5setupsetupPassed
setup-after-unmount scenario 6setupsetupPassed
cleanup-registration-retained scenario 1TrueTruePassed
cleanup-registration-retained scenario 2FalseFalsePassed
cleanup-registration-retained scenario 3FalseFalsePassed
cleanup-registration-retained scenario 4TrueTruePassed
cleanup-registration-retained scenario 5FalseFalsePassed
cleanup-registration-retained scenario 6TrueTruePassed
owner-change-invalidates scenario 1FalseFalsePassed
owner-change-invalidates scenario 2FalseFalsePassed
owner-change-invalidates scenario 3FalseFalsePassed
owner-change-invalidates scenario 4TrueTruePassed
owner-change-invalidates scenario 5FalseFalsePassed
owner-change-invalidates scenario 6FalseFalsePassed

SHA-256 / 91b98a92bef0d09f294cd99a96061af006f17677dafe886267eb1bff2b8f0980

HELD IN THE MEMBER ARCHIVE

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

This mechanism has 60 recorded checks per implementation. The open-access tier publishes the failure and the unsuccessful fix; the repaired source that passes every check, and the observations that prove it, are available to members.

Every case sharing this mechanism uses the same contract and the same repair, so this one record is held back for all of them.

Member access is invitation-based. Sign in with your invited account to inspect the repair.

Sign in to the archive ↗

Verification & scope

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

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

Case digest / fede89907d2790afe5af7269544300e7c6632642598d13e06ba24cb909b731d0