FAILURE MAP
← Case archive

FA-24706 / Client state / Open access

Client preference layer resolution: Preference source attribution · case 01

Preference source attribution.

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

ROOT CAUSE

The preference-source-attribution client decision evaluates `{k:'session' for k in sorted(set(defaults)|set(device)|set(workspace)|set(session))}` instead of `{k:next(layer for layer,values in [('session',session),('workspace',workspace),('device',device),('default',defaults)] if k in values) for k in sorted(set(defaults)|set(device)|set(workspace)|set(session))}`.

VERIFIED REPAIR

Apply the modeled preference-source-attribution rule: `{k:next(layer for layer,values in [('session',session),('workspace',workspace),('device',device),('default',defaults)] if k in values) for k in sorted(set(defaults)|set(device)|set(workspace)|set(session))}`.

Unsuccessful approach: The partial repair `{k:'device' for k in device}` still violates the explicit fixture contract.

Case contract

Client preferences overlay defaults, device, workspace and session in that order. Workspace locks exclude session writes. Removing an override reveals the lower layer; serialization preserves its own layer and explicit null/falsy values. Operation preference-source-attribution 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):
    defaults, device, workspace, session, locked, removed = s
    if operation == 'layer-precedence':
        return {**defaults,**device,**workspace,**session}
    if operation == 'locked-workspace-values':
        return {**defaults,**device,**workspace,**{k:v for k,v in session.items() if k not in locked}}
    if operation == 'session-only-reset':
        return {**defaults,**device,**workspace}
    if operation == 'device-layer-serialization':
        return dict(device)
    if operation == 'explicit-session-keys':
        return list(session)
    if operation == 'session-key-removal-falls-through':
        return {**defaults,**device,**workspace,**{k:v for k,v in session.items() if k not in removed}}
    if operation == 'writable-preference-projection':
        return {k:v for k,v in session.items() if k not in locked}
    if operation == 'preference-source-attribution':
        return {k:'session' for k in sorted(set(defaults)|set(device)|set(workspace)|set(session))}
    if operation == 'redundant-device-override-pruning':
        return {k:v for k,v in device.items() if k not in defaults or defaults[k]!=v}
    if operation == 'workspace-lock-report':
        return [k for k in locked if k in workspace]
    raise ValueError('unknown modeled operation')
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('layer-precedence scenario 1', solve('layer-precedence', ({'theme':'light','size':1},{'theme':'dark'},{'size':N},{'theme':''},['size'],[])), {'theme':'','size':N})
check('layer-precedence scenario 2', solve('layer-precedence', ({'theme':'light'}, {},{}, {},[],[])), {'theme':'light'})
check('layer-precedence scenario 3', solve('layer-precedence', ({'size':2},{'size':0},{'size':3},{'size':4},['size'],['size'])), {'size':4})
check('layer-precedence scenario 4', solve('layer-precedence', ({'theme':'light'},{'theme':None},{},{},[],[])), {'theme':None})
check('layer-precedence scenario 5', solve('layer-precedence', ({}, {'theme':'dark'},{'theme':'light'},{'theme':'blue'},[],['theme'])), {'theme':'blue'})
check('layer-precedence scenario 6', solve('layer-precedence', ({'size':1}, {'size':2},{'size':3},{'size':0},[],[])), {'size':0})
check('locked-workspace-values scenario 1', solve('locked-workspace-values', ({'theme':'light','size':1},{'theme':'dark'},{'size':N},{'theme':''},['size'],[])), {'theme':'','size':N})
check('locked-workspace-values scenario 2', solve('locked-workspace-values', ({'theme':'light'}, {},{}, {},[],[])), {'theme':'light'})
check('locked-workspace-values scenario 3', solve('locked-workspace-values', ({'size':2},{'size':0},{'size':3},{'size':4},['size'],['size'])), {'size':3})
check('locked-workspace-values scenario 4', solve('locked-workspace-values', ({'theme':'light'},{'theme':None},{},{},[],[])), {'theme':None})
check('locked-workspace-values scenario 5', solve('locked-workspace-values', ({}, {'theme':'dark'},{'theme':'light'},{'theme':'blue'},[],['theme'])), {'theme':'blue'})
check('locked-workspace-values scenario 6', solve('locked-workspace-values', ({'size':1}, {'size':2},{'size':3},{'size':0},[],[])), {'size':0})
check('session-only-reset scenario 1', solve('session-only-reset', ({'theme':'light','size':1},{'theme':'dark'},{'size':N},{'theme':''},['size'],[])), {'theme':'dark','size':N})
check('session-only-reset scenario 2', solve('session-only-reset', ({'theme':'light'}, {},{}, {},[],[])), {'theme':'light'})
check('session-only-reset scenario 3', solve('session-only-reset', ({'size':2},{'size':0},{'size':3},{'size':4},['size'],['size'])), {'size':3})
check('session-only-reset scenario 4', solve('session-only-reset', ({'theme':'light'},{'theme':None},{},{},[],[])), {'theme':None})
check('session-only-reset scenario 5', solve('session-only-reset', ({}, {'theme':'dark'},{'theme':'light'},{'theme':'blue'},[],['theme'])), {'theme':'light'})
check('session-only-reset scenario 6', solve('session-only-reset', ({'size':1}, {'size':2},{'size':3},{'size':0},[],[])), {'size':3})
check('device-layer-serialization scenario 1', solve('device-layer-serialization', ({'theme':'light','size':1},{'theme':'dark'},{'size':N},{'theme':''},['size'],[])), {'theme':'dark'})
check('device-layer-serialization scenario 2', solve('device-layer-serialization', ({'theme':'light'}, {},{}, {},[],[])), {})
check('device-layer-serialization scenario 3', solve('device-layer-serialization', ({'size':2},{'size':0},{'size':3},{'size':4},['size'],['size'])), {'size':0})
check('device-layer-serialization scenario 4', solve('device-layer-serialization', ({'theme':'light'},{'theme':None},{},{},[],[])), {'theme':None})
check('device-layer-serialization scenario 5', solve('device-layer-serialization', ({}, {'theme':'dark'},{'theme':'light'},{'theme':'blue'},[],['theme'])), {'theme':'dark'})
check('device-layer-serialization scenario 6', solve('device-layer-serialization', ({'size':1}, {'size':2},{'size':3},{'size':0},[],[])), {'size':2})
check('explicit-session-keys scenario 1', solve('explicit-session-keys', ({'theme':'light','size':1},{'theme':'dark'},{'size':N},{'theme':''},['size'],[])), ['theme'])
check('explicit-session-keys scenario 2', solve('explicit-session-keys', ({'theme':'light'}, {},{}, {},[],[])), [])
check('explicit-session-keys scenario 3', solve('explicit-session-keys', ({'size':2},{'size':0},{'size':3},{'size':4},['size'],['size'])), ['size'])
check('explicit-session-keys scenario 4', solve('explicit-session-keys', ({'theme':'light'},{'theme':None},{},{},[],[])), [])
check('explicit-session-keys scenario 5', solve('explicit-session-keys', ({}, {'theme':'dark'},{'theme':'light'},{'theme':'blue'},[],['theme'])), ['theme'])
check('explicit-session-keys scenario 6', solve('explicit-session-keys', ({'size':1}, {'size':2},{'size':3},{'size':0},[],[])), ['size'])
check('session-key-removal-falls-through scenario 1', solve('session-key-removal-falls-through', ({'theme':'light','size':1},{'theme':'dark'},{'size':N},{'theme':''},['size'],[])), {'theme':'','size':N})
check('session-key-removal-falls-through scenario 2', solve('session-key-removal-falls-through', ({'theme':'light'}, {},{}, {},[],[])), {'theme':'light'})
check('session-key-removal-falls-through scenario 3', solve('session-key-removal-falls-through', ({'size':2},{'size':0},{'size':3},{'size':4},['size'],['size'])), {'size':3})
check('session-key-removal-falls-through scenario 4', solve('session-key-removal-falls-through', ({'theme':'light'},{'theme':None},{},{},[],[])), {'theme':None})
check('session-key-removal-falls-through scenario 5', solve('session-key-removal-falls-through', ({}, {'theme':'dark'},{'theme':'light'},{'theme':'blue'},[],['theme'])), {'theme':'light'})
check('session-key-removal-falls-through scenario 6', solve('session-key-removal-falls-through', ({'size':1}, {'size':2},{'size':3},{'size':0},[],[])), {'size':0})
check('writable-preference-projection scenario 1', solve('writable-preference-projection', ({'theme':'light','size':1},{'theme':'dark'},{'size':N},{'theme':''},['size'],[])), {'theme':''})
check('writable-preference-projection scenario 2', solve('writable-preference-projection', ({'theme':'light'}, {},{}, {},[],[])), {})
check('writable-preference-projection scenario 3', solve('writable-preference-projection', ({'size':2},{'size':0},{'size':3},{'size':4},['size'],['size'])), {})
check('writable-preference-projection scenario 4', solve('writable-preference-projection', ({'theme':'light'},{'theme':None},{},{},[],[])), {})
check('writable-preference-projection scenario 5', solve('writable-preference-projection', ({}, {'theme':'dark'},{'theme':'light'},{'theme':'blue'},[],['theme'])), {'theme':'blue'})
check('writable-preference-projection scenario 6', solve('writable-preference-projection', ({'size':1}, {'size':2},{'size':3},{'size':0},[],[])), {'size':0})
check('preference-source-attribution scenario 1', solve('preference-source-attribution', ({'theme':'light','size':1},{'theme':'dark'},{'size':N},{'theme':''},['size'],[])), {'size':'workspace','theme':'session'})
check('preference-source-attribution scenario 2', solve('preference-source-attribution', ({'theme':'light'}, {},{}, {},[],[])), {'theme':'default'})
check('preference-source-attribution scenario 3', solve('preference-source-attribution', ({'size':2},{'size':0},{'size':3},{'size':4},['size'],['size'])), {'size':'session'})
check('preference-source-attribution scenario 4', solve('preference-source-attribution', ({'theme':'light'},{'theme':None},{},{},[],[])), {'theme':'device'})
check('preference-source-attribution scenario 5', solve('preference-source-attribution', ({}, {'theme':'dark'},{'theme':'light'},{'theme':'blue'},[],['theme'])), {'theme':'session'})
check('preference-source-attribution scenario 6', solve('preference-source-attribution', ({'size':1}, {'size':2},{'size':3},{'size':0},[],[])), {'size':'session'})
check('redundant-device-override-pruning scenario 1', solve('redundant-device-override-pruning', ({'theme':'light','size':1},{'theme':'dark'},{'size':N},{'theme':''},['size'],[])), {'theme':'dark'})
check('redundant-device-override-pruning scenario 2', solve('redundant-device-override-pruning', ({'theme':'light'}, {},{}, {},[],[])), {})
check('redundant-device-override-pruning scenario 3', solve('redundant-device-override-pruning', ({'size':2},{'size':0},{'size':3},{'size':4},['size'],['size'])), {'size':0})
check('redundant-device-override-pruning scenario 4', solve('redundant-device-override-pruning', ({'theme':'light'},{'theme':None},{},{},[],[])), {'theme':None})
check('redundant-device-override-pruning scenario 5', solve('redundant-device-override-pruning', ({}, {'theme':'dark'},{'theme':'light'},{'theme':'blue'},[],['theme'])), {'theme':'dark'})
check('redundant-device-override-pruning scenario 6', solve('redundant-device-override-pruning', ({'size':1}, {'size':2},{'size':3},{'size':0},[],[])), {'size':2})
check('workspace-lock-report scenario 1', solve('workspace-lock-report', ({'theme':'light','size':1},{'theme':'dark'},{'size':N},{'theme':''},['size'],[])), ['size'])
check('workspace-lock-report scenario 2', solve('workspace-lock-report', ({'theme':'light'}, {},{}, {},[],[])), [])
check('workspace-lock-report scenario 3', solve('workspace-lock-report', ({'size':2},{'size':0},{'size':3},{'size':4},['size'],['size'])), ['size'])
check('workspace-lock-report scenario 4', solve('workspace-lock-report', ({'theme':'light'},{'theme':None},{},{},[],[])), [])
check('workspace-lock-report scenario 5', solve('workspace-lock-report', ({}, {'theme':'dark'},{'theme':'light'},{'theme':'blue'},[],['theme'])), [])
check('workspace-lock-report scenario 6', solve('workspace-lock-report', ({'size':1}, {'size':2},{'size':3},{'size':0},[],[])), [])
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
layer-precedence scenario 1{'size': 1, 'theme': ''}{'size': 1, 'theme': ''}Passed
layer-precedence scenario 2{'theme': 'light'}{'theme': 'light'}Passed
layer-precedence scenario 3{'size': 4}{'size': 4}Passed
layer-precedence scenario 4{'theme': None}{'theme': None}Passed
layer-precedence scenario 5{'theme': 'blue'}{'theme': 'blue'}Passed
layer-precedence scenario 6{'size': 0}{'size': 0}Passed
locked-workspace-values scenario 1{'size': 1, 'theme': ''}{'size': 1, 'theme': ''}Passed
locked-workspace-values scenario 2{'theme': 'light'}{'theme': 'light'}Passed
locked-workspace-values scenario 3{'size': 3}{'size': 3}Passed
locked-workspace-values scenario 4{'theme': None}{'theme': None}Passed
locked-workspace-values scenario 5{'theme': 'blue'}{'theme': 'blue'}Passed
locked-workspace-values scenario 6{'size': 0}{'size': 0}Passed
session-only-reset scenario 1{'size': 1, 'theme': 'dark'}{'size': 1, 'theme': 'dark'}Passed
session-only-reset scenario 2{'theme': 'light'}{'theme': 'light'}Passed
session-only-reset scenario 3{'size': 3}{'size': 3}Passed
session-only-reset scenario 4{'theme': None}{'theme': None}Passed
session-only-reset scenario 5{'theme': 'light'}{'theme': 'light'}Passed
session-only-reset scenario 6{'size': 3}{'size': 3}Passed
device-layer-serialization scenario 1{'theme': 'dark'}{'theme': 'dark'}Passed
device-layer-serialization scenario 2{}{}Passed
device-layer-serialization scenario 3{'size': 0}{'size': 0}Passed
device-layer-serialization scenario 4{'theme': None}{'theme': None}Passed
device-layer-serialization scenario 5{'theme': 'dark'}{'theme': 'dark'}Passed
device-layer-serialization scenario 6{'size': 2}{'size': 2}Passed
explicit-session-keys scenario 1['theme']['theme']Passed
explicit-session-keys scenario 2[][]Passed
explicit-session-keys scenario 3['size']['size']Passed
explicit-session-keys scenario 4[][]Passed
explicit-session-keys scenario 5['theme']['theme']Passed
explicit-session-keys scenario 6['size']['size']Passed
session-key-removal-falls-through scenario 1{'size': 1, 'theme': ''}{'size': 1, 'theme': ''}Passed
session-key-removal-falls-through scenario 2{'theme': 'light'}{'theme': 'light'}Passed
session-key-removal-falls-through scenario 3{'size': 3}{'size': 3}Passed
session-key-removal-falls-through scenario 4{'theme': None}{'theme': None}Passed
session-key-removal-falls-through scenario 5{'theme': 'light'}{'theme': 'light'}Passed
session-key-removal-falls-through scenario 6{'size': 0}{'size': 0}Passed
writable-preference-projection scenario 1{'theme': ''}{'theme': ''}Passed
writable-preference-projection scenario 2{}{}Passed
writable-preference-projection scenario 3{}{}Passed
writable-preference-projection scenario 4{}{}Passed
writable-preference-projection scenario 5{'theme': 'blue'}{'theme': 'blue'}Passed
writable-preference-projection scenario 6{'size': 0}{'size': 0}Passed
preference-source-attribution scenario 1{'size': 'session', 'theme': 'session'}{'size': 'workspace', 'theme': 'session'}Failed
preference-source-attribution scenario 2{'theme': 'session'}{'theme': 'default'}Failed
preference-source-attribution scenario 3{'size': 'session'}{'size': 'session'}Passed
preference-source-attribution scenario 4{'theme': 'session'}{'theme': 'device'}Failed
preference-source-attribution scenario 5{'theme': 'session'}{'theme': 'session'}Passed
preference-source-attribution scenario 6{'size': 'session'}{'size': 'session'}Passed
redundant-device-override-pruning scenario 1{'theme': 'dark'}{'theme': 'dark'}Passed
redundant-device-override-pruning scenario 2{}{}Passed
redundant-device-override-pruning scenario 3{'size': 0}{'size': 0}Passed
redundant-device-override-pruning scenario 4{'theme': None}{'theme': None}Passed
redundant-device-override-pruning scenario 5{'theme': 'dark'}{'theme': 'dark'}Passed
redundant-device-override-pruning scenario 6{'size': 2}{'size': 2}Passed
workspace-lock-report scenario 1['size']['size']Passed
workspace-lock-report scenario 2[][]Passed
workspace-lock-report scenario 3['size']['size']Passed
workspace-lock-report scenario 4[][]Passed
workspace-lock-report scenario 5[][]Passed
workspace-lock-report scenario 6[][]Passed

SHA-256 / 29c81bfd75652aba2ddea366cb1be60040fda10fc2f58bb9bd7638bd4b97da8f

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(operation, s):
    defaults, device, workspace, session, locked, removed = s
    if operation == 'layer-precedence':
        return {**defaults,**device,**workspace,**session}
    if operation == 'locked-workspace-values':
        return {**defaults,**device,**workspace,**{k:v for k,v in session.items() if k not in locked}}
    if operation == 'session-only-reset':
        return {**defaults,**device,**workspace}
    if operation == 'device-layer-serialization':
        return dict(device)
    if operation == 'explicit-session-keys':
        return list(session)
    if operation == 'session-key-removal-falls-through':
        return {**defaults,**device,**workspace,**{k:v for k,v in session.items() if k not in removed}}
    if operation == 'writable-preference-projection':
        return {k:v for k,v in session.items() if k not in locked}
    if operation == 'preference-source-attribution':
        return {k:'device' for k in device}
    if operation == 'redundant-device-override-pruning':
        return {k:v for k,v in device.items() if k not in defaults or defaults[k]!=v}
    if operation == 'workspace-lock-report':
        return [k for k in locked if k in workspace]
    raise ValueError('unknown modeled operation')
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('layer-precedence scenario 1', solve('layer-precedence', ({'theme':'light','size':1},{'theme':'dark'},{'size':N},{'theme':''},['size'],[])), {'theme':'','size':N})
check('layer-precedence scenario 2', solve('layer-precedence', ({'theme':'light'}, {},{}, {},[],[])), {'theme':'light'})
check('layer-precedence scenario 3', solve('layer-precedence', ({'size':2},{'size':0},{'size':3},{'size':4},['size'],['size'])), {'size':4})
check('layer-precedence scenario 4', solve('layer-precedence', ({'theme':'light'},{'theme':None},{},{},[],[])), {'theme':None})
check('layer-precedence scenario 5', solve('layer-precedence', ({}, {'theme':'dark'},{'theme':'light'},{'theme':'blue'},[],['theme'])), {'theme':'blue'})
check('layer-precedence scenario 6', solve('layer-precedence', ({'size':1}, {'size':2},{'size':3},{'size':0},[],[])), {'size':0})
check('locked-workspace-values scenario 1', solve('locked-workspace-values', ({'theme':'light','size':1},{'theme':'dark'},{'size':N},{'theme':''},['size'],[])), {'theme':'','size':N})
check('locked-workspace-values scenario 2', solve('locked-workspace-values', ({'theme':'light'}, {},{}, {},[],[])), {'theme':'light'})
check('locked-workspace-values scenario 3', solve('locked-workspace-values', ({'size':2},{'size':0},{'size':3},{'size':4},['size'],['size'])), {'size':3})
check('locked-workspace-values scenario 4', solve('locked-workspace-values', ({'theme':'light'},{'theme':None},{},{},[],[])), {'theme':None})
check('locked-workspace-values scenario 5', solve('locked-workspace-values', ({}, {'theme':'dark'},{'theme':'light'},{'theme':'blue'},[],['theme'])), {'theme':'blue'})
check('locked-workspace-values scenario 6', solve('locked-workspace-values', ({'size':1}, {'size':2},{'size':3},{'size':0},[],[])), {'size':0})
check('session-only-reset scenario 1', solve('session-only-reset', ({'theme':'light','size':1},{'theme':'dark'},{'size':N},{'theme':''},['size'],[])), {'theme':'dark','size':N})
check('session-only-reset scenario 2', solve('session-only-reset', ({'theme':'light'}, {},{}, {},[],[])), {'theme':'light'})
check('session-only-reset scenario 3', solve('session-only-reset', ({'size':2},{'size':0},{'size':3},{'size':4},['size'],['size'])), {'size':3})
check('session-only-reset scenario 4', solve('session-only-reset', ({'theme':'light'},{'theme':None},{},{},[],[])), {'theme':None})
check('session-only-reset scenario 5', solve('session-only-reset', ({}, {'theme':'dark'},{'theme':'light'},{'theme':'blue'},[],['theme'])), {'theme':'light'})
check('session-only-reset scenario 6', solve('session-only-reset', ({'size':1}, {'size':2},{'size':3},{'size':0},[],[])), {'size':3})
check('device-layer-serialization scenario 1', solve('device-layer-serialization', ({'theme':'light','size':1},{'theme':'dark'},{'size':N},{'theme':''},['size'],[])), {'theme':'dark'})
check('device-layer-serialization scenario 2', solve('device-layer-serialization', ({'theme':'light'}, {},{}, {},[],[])), {})
check('device-layer-serialization scenario 3', solve('device-layer-serialization', ({'size':2},{'size':0},{'size':3},{'size':4},['size'],['size'])), {'size':0})
check('device-layer-serialization scenario 4', solve('device-layer-serialization', ({'theme':'light'},{'theme':None},{},{},[],[])), {'theme':None})
check('device-layer-serialization scenario 5', solve('device-layer-serialization', ({}, {'theme':'dark'},{'theme':'light'},{'theme':'blue'},[],['theme'])), {'theme':'dark'})
check('device-layer-serialization scenario 6', solve('device-layer-serialization', ({'size':1}, {'size':2},{'size':3},{'size':0},[],[])), {'size':2})
check('explicit-session-keys scenario 1', solve('explicit-session-keys', ({'theme':'light','size':1},{'theme':'dark'},{'size':N},{'theme':''},['size'],[])), ['theme'])
check('explicit-session-keys scenario 2', solve('explicit-session-keys', ({'theme':'light'}, {},{}, {},[],[])), [])
check('explicit-session-keys scenario 3', solve('explicit-session-keys', ({'size':2},{'size':0},{'size':3},{'size':4},['size'],['size'])), ['size'])
check('explicit-session-keys scenario 4', solve('explicit-session-keys', ({'theme':'light'},{'theme':None},{},{},[],[])), [])
check('explicit-session-keys scenario 5', solve('explicit-session-keys', ({}, {'theme':'dark'},{'theme':'light'},{'theme':'blue'},[],['theme'])), ['theme'])
check('explicit-session-keys scenario 6', solve('explicit-session-keys', ({'size':1}, {'size':2},{'size':3},{'size':0},[],[])), ['size'])
check('session-key-removal-falls-through scenario 1', solve('session-key-removal-falls-through', ({'theme':'light','size':1},{'theme':'dark'},{'size':N},{'theme':''},['size'],[])), {'theme':'','size':N})
check('session-key-removal-falls-through scenario 2', solve('session-key-removal-falls-through', ({'theme':'light'}, {},{}, {},[],[])), {'theme':'light'})
check('session-key-removal-falls-through scenario 3', solve('session-key-removal-falls-through', ({'size':2},{'size':0},{'size':3},{'size':4},['size'],['size'])), {'size':3})
check('session-key-removal-falls-through scenario 4', solve('session-key-removal-falls-through', ({'theme':'light'},{'theme':None},{},{},[],[])), {'theme':None})
check('session-key-removal-falls-through scenario 5', solve('session-key-removal-falls-through', ({}, {'theme':'dark'},{'theme':'light'},{'theme':'blue'},[],['theme'])), {'theme':'light'})
check('session-key-removal-falls-through scenario 6', solve('session-key-removal-falls-through', ({'size':1}, {'size':2},{'size':3},{'size':0},[],[])), {'size':0})
check('writable-preference-projection scenario 1', solve('writable-preference-projection', ({'theme':'light','size':1},{'theme':'dark'},{'size':N},{'theme':''},['size'],[])), {'theme':''})
check('writable-preference-projection scenario 2', solve('writable-preference-projection', ({'theme':'light'}, {},{}, {},[],[])), {})
check('writable-preference-projection scenario 3', solve('writable-preference-projection', ({'size':2},{'size':0},{'size':3},{'size':4},['size'],['size'])), {})
check('writable-preference-projection scenario 4', solve('writable-preference-projection', ({'theme':'light'},{'theme':None},{},{},[],[])), {})
check('writable-preference-projection scenario 5', solve('writable-preference-projection', ({}, {'theme':'dark'},{'theme':'light'},{'theme':'blue'},[],['theme'])), {'theme':'blue'})
check('writable-preference-projection scenario 6', solve('writable-preference-projection', ({'size':1}, {'size':2},{'size':3},{'size':0},[],[])), {'size':0})
check('preference-source-attribution scenario 1', solve('preference-source-attribution', ({'theme':'light','size':1},{'theme':'dark'},{'size':N},{'theme':''},['size'],[])), {'size':'workspace','theme':'session'})
check('preference-source-attribution scenario 2', solve('preference-source-attribution', ({'theme':'light'}, {},{}, {},[],[])), {'theme':'default'})
check('preference-source-attribution scenario 3', solve('preference-source-attribution', ({'size':2},{'size':0},{'size':3},{'size':4},['size'],['size'])), {'size':'session'})
check('preference-source-attribution scenario 4', solve('preference-source-attribution', ({'theme':'light'},{'theme':None},{},{},[],[])), {'theme':'device'})
check('preference-source-attribution scenario 5', solve('preference-source-attribution', ({}, {'theme':'dark'},{'theme':'light'},{'theme':'blue'},[],['theme'])), {'theme':'session'})
check('preference-source-attribution scenario 6', solve('preference-source-attribution', ({'size':1}, {'size':2},{'size':3},{'size':0},[],[])), {'size':'session'})
check('redundant-device-override-pruning scenario 1', solve('redundant-device-override-pruning', ({'theme':'light','size':1},{'theme':'dark'},{'size':N},{'theme':''},['size'],[])), {'theme':'dark'})
check('redundant-device-override-pruning scenario 2', solve('redundant-device-override-pruning', ({'theme':'light'}, {},{}, {},[],[])), {})
check('redundant-device-override-pruning scenario 3', solve('redundant-device-override-pruning', ({'size':2},{'size':0},{'size':3},{'size':4},['size'],['size'])), {'size':0})
check('redundant-device-override-pruning scenario 4', solve('redundant-device-override-pruning', ({'theme':'light'},{'theme':None},{},{},[],[])), {'theme':None})
check('redundant-device-override-pruning scenario 5', solve('redundant-device-override-pruning', ({}, {'theme':'dark'},{'theme':'light'},{'theme':'blue'},[],['theme'])), {'theme':'dark'})
check('redundant-device-override-pruning scenario 6', solve('redundant-device-override-pruning', ({'size':1}, {'size':2},{'size':3},{'size':0},[],[])), {'size':2})
check('workspace-lock-report scenario 1', solve('workspace-lock-report', ({'theme':'light','size':1},{'theme':'dark'},{'size':N},{'theme':''},['size'],[])), ['size'])
check('workspace-lock-report scenario 2', solve('workspace-lock-report', ({'theme':'light'}, {},{}, {},[],[])), [])
check('workspace-lock-report scenario 3', solve('workspace-lock-report', ({'size':2},{'size':0},{'size':3},{'size':4},['size'],['size'])), ['size'])
check('workspace-lock-report scenario 4', solve('workspace-lock-report', ({'theme':'light'},{'theme':None},{},{},[],[])), [])
check('workspace-lock-report scenario 5', solve('workspace-lock-report', ({}, {'theme':'dark'},{'theme':'light'},{'theme':'blue'},[],['theme'])), [])
check('workspace-lock-report scenario 6', solve('workspace-lock-report', ({'size':1}, {'size':2},{'size':3},{'size':0},[],[])), [])
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
layer-precedence scenario 1{'size': 1, 'theme': ''}{'size': 1, 'theme': ''}Passed
layer-precedence scenario 2{'theme': 'light'}{'theme': 'light'}Passed
layer-precedence scenario 3{'size': 4}{'size': 4}Passed
layer-precedence scenario 4{'theme': None}{'theme': None}Passed
layer-precedence scenario 5{'theme': 'blue'}{'theme': 'blue'}Passed
layer-precedence scenario 6{'size': 0}{'size': 0}Passed
locked-workspace-values scenario 1{'size': 1, 'theme': ''}{'size': 1, 'theme': ''}Passed
locked-workspace-values scenario 2{'theme': 'light'}{'theme': 'light'}Passed
locked-workspace-values scenario 3{'size': 3}{'size': 3}Passed
locked-workspace-values scenario 4{'theme': None}{'theme': None}Passed
locked-workspace-values scenario 5{'theme': 'blue'}{'theme': 'blue'}Passed
locked-workspace-values scenario 6{'size': 0}{'size': 0}Passed
session-only-reset scenario 1{'size': 1, 'theme': 'dark'}{'size': 1, 'theme': 'dark'}Passed
session-only-reset scenario 2{'theme': 'light'}{'theme': 'light'}Passed
session-only-reset scenario 3{'size': 3}{'size': 3}Passed
session-only-reset scenario 4{'theme': None}{'theme': None}Passed
session-only-reset scenario 5{'theme': 'light'}{'theme': 'light'}Passed
session-only-reset scenario 6{'size': 3}{'size': 3}Passed
device-layer-serialization scenario 1{'theme': 'dark'}{'theme': 'dark'}Passed
device-layer-serialization scenario 2{}{}Passed
device-layer-serialization scenario 3{'size': 0}{'size': 0}Passed
device-layer-serialization scenario 4{'theme': None}{'theme': None}Passed
device-layer-serialization scenario 5{'theme': 'dark'}{'theme': 'dark'}Passed
device-layer-serialization scenario 6{'size': 2}{'size': 2}Passed
explicit-session-keys scenario 1['theme']['theme']Passed
explicit-session-keys scenario 2[][]Passed
explicit-session-keys scenario 3['size']['size']Passed
explicit-session-keys scenario 4[][]Passed
explicit-session-keys scenario 5['theme']['theme']Passed
explicit-session-keys scenario 6['size']['size']Passed
session-key-removal-falls-through scenario 1{'size': 1, 'theme': ''}{'size': 1, 'theme': ''}Passed
session-key-removal-falls-through scenario 2{'theme': 'light'}{'theme': 'light'}Passed
session-key-removal-falls-through scenario 3{'size': 3}{'size': 3}Passed
session-key-removal-falls-through scenario 4{'theme': None}{'theme': None}Passed
session-key-removal-falls-through scenario 5{'theme': 'light'}{'theme': 'light'}Passed
session-key-removal-falls-through scenario 6{'size': 0}{'size': 0}Passed
writable-preference-projection scenario 1{'theme': ''}{'theme': ''}Passed
writable-preference-projection scenario 2{}{}Passed
writable-preference-projection scenario 3{}{}Passed
writable-preference-projection scenario 4{}{}Passed
writable-preference-projection scenario 5{'theme': 'blue'}{'theme': 'blue'}Passed
writable-preference-projection scenario 6{'size': 0}{'size': 0}Passed
preference-source-attribution scenario 1{'theme': 'device'}{'size': 'workspace', 'theme': 'session'}Failed
preference-source-attribution scenario 2{}{'theme': 'default'}Failed
preference-source-attribution scenario 3{'size': 'device'}{'size': 'session'}Failed
preference-source-attribution scenario 4{'theme': 'device'}{'theme': 'device'}Passed
preference-source-attribution scenario 5{'theme': 'device'}{'theme': 'session'}Failed
preference-source-attribution scenario 6{'size': 'device'}{'size': 'session'}Failed
redundant-device-override-pruning scenario 1{'theme': 'dark'}{'theme': 'dark'}Passed
redundant-device-override-pruning scenario 2{}{}Passed
redundant-device-override-pruning scenario 3{'size': 0}{'size': 0}Passed
redundant-device-override-pruning scenario 4{'theme': None}{'theme': None}Passed
redundant-device-override-pruning scenario 5{'theme': 'dark'}{'theme': 'dark'}Passed
redundant-device-override-pruning scenario 6{'size': 2}{'size': 2}Passed
workspace-lock-report scenario 1['size']['size']Passed
workspace-lock-report scenario 2[][]Passed
workspace-lock-report scenario 3['size']['size']Passed
workspace-lock-report scenario 4[][]Passed
workspace-lock-report scenario 5[][]Passed
workspace-lock-report scenario 6[][]Passed

SHA-256 / a127493e014f630b15c919c53e68c4072cf26c42284e7fe7d48ecf7bfb6a630e

3 / The verified repair

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

N = 1
observations = []
def solve(operation, s):
    defaults, device, workspace, session, locked, removed = s
    if operation == 'layer-precedence':
        return {**defaults,**device,**workspace,**session}
    if operation == 'locked-workspace-values':
        return {**defaults,**device,**workspace,**{k:v for k,v in session.items() if k not in locked}}
    if operation == 'session-only-reset':
        return {**defaults,**device,**workspace}
    if operation == 'device-layer-serialization':
        return dict(device)
    if operation == 'explicit-session-keys':
        return list(session)
    if operation == 'session-key-removal-falls-through':
        return {**defaults,**device,**workspace,**{k:v for k,v in session.items() if k not in removed}}
    if operation == 'writable-preference-projection':
        return {k:v for k,v in session.items() if k not in locked}
    if operation == 'preference-source-attribution':
        return {k:next(layer for layer,values in [('session',session),('workspace',workspace),('device',device),('default',defaults)] if k in values) for k in sorted(set(defaults)|set(device)|set(workspace)|set(session))}
    if operation == 'redundant-device-override-pruning':
        return {k:v for k,v in device.items() if k not in defaults or defaults[k]!=v}
    if operation == 'workspace-lock-report':
        return [k for k in locked if k in workspace]
    raise ValueError('unknown modeled operation')
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('layer-precedence scenario 1', solve('layer-precedence', ({'theme':'light','size':1},{'theme':'dark'},{'size':N},{'theme':''},['size'],[])), {'theme':'','size':N})
check('layer-precedence scenario 2', solve('layer-precedence', ({'theme':'light'}, {},{}, {},[],[])), {'theme':'light'})
check('layer-precedence scenario 3', solve('layer-precedence', ({'size':2},{'size':0},{'size':3},{'size':4},['size'],['size'])), {'size':4})
check('layer-precedence scenario 4', solve('layer-precedence', ({'theme':'light'},{'theme':None},{},{},[],[])), {'theme':None})
check('layer-precedence scenario 5', solve('layer-precedence', ({}, {'theme':'dark'},{'theme':'light'},{'theme':'blue'},[],['theme'])), {'theme':'blue'})
check('layer-precedence scenario 6', solve('layer-precedence', ({'size':1}, {'size':2},{'size':3},{'size':0},[],[])), {'size':0})
check('locked-workspace-values scenario 1', solve('locked-workspace-values', ({'theme':'light','size':1},{'theme':'dark'},{'size':N},{'theme':''},['size'],[])), {'theme':'','size':N})
check('locked-workspace-values scenario 2', solve('locked-workspace-values', ({'theme':'light'}, {},{}, {},[],[])), {'theme':'light'})
check('locked-workspace-values scenario 3', solve('locked-workspace-values', ({'size':2},{'size':0},{'size':3},{'size':4},['size'],['size'])), {'size':3})
check('locked-workspace-values scenario 4', solve('locked-workspace-values', ({'theme':'light'},{'theme':None},{},{},[],[])), {'theme':None})
check('locked-workspace-values scenario 5', solve('locked-workspace-values', ({}, {'theme':'dark'},{'theme':'light'},{'theme':'blue'},[],['theme'])), {'theme':'blue'})
check('locked-workspace-values scenario 6', solve('locked-workspace-values', ({'size':1}, {'size':2},{'size':3},{'size':0},[],[])), {'size':0})
check('session-only-reset scenario 1', solve('session-only-reset', ({'theme':'light','size':1},{'theme':'dark'},{'size':N},{'theme':''},['size'],[])), {'theme':'dark','size':N})
check('session-only-reset scenario 2', solve('session-only-reset', ({'theme':'light'}, {},{}, {},[],[])), {'theme':'light'})
check('session-only-reset scenario 3', solve('session-only-reset', ({'size':2},{'size':0},{'size':3},{'size':4},['size'],['size'])), {'size':3})
check('session-only-reset scenario 4', solve('session-only-reset', ({'theme':'light'},{'theme':None},{},{},[],[])), {'theme':None})
check('session-only-reset scenario 5', solve('session-only-reset', ({}, {'theme':'dark'},{'theme':'light'},{'theme':'blue'},[],['theme'])), {'theme':'light'})
check('session-only-reset scenario 6', solve('session-only-reset', ({'size':1}, {'size':2},{'size':3},{'size':0},[],[])), {'size':3})
check('device-layer-serialization scenario 1', solve('device-layer-serialization', ({'theme':'light','size':1},{'theme':'dark'},{'size':N},{'theme':''},['size'],[])), {'theme':'dark'})
check('device-layer-serialization scenario 2', solve('device-layer-serialization', ({'theme':'light'}, {},{}, {},[],[])), {})
check('device-layer-serialization scenario 3', solve('device-layer-serialization', ({'size':2},{'size':0},{'size':3},{'size':4},['size'],['size'])), {'size':0})
check('device-layer-serialization scenario 4', solve('device-layer-serialization', ({'theme':'light'},{'theme':None},{},{},[],[])), {'theme':None})
check('device-layer-serialization scenario 5', solve('device-layer-serialization', ({}, {'theme':'dark'},{'theme':'light'},{'theme':'blue'},[],['theme'])), {'theme':'dark'})
check('device-layer-serialization scenario 6', solve('device-layer-serialization', ({'size':1}, {'size':2},{'size':3},{'size':0},[],[])), {'size':2})
check('explicit-session-keys scenario 1', solve('explicit-session-keys', ({'theme':'light','size':1},{'theme':'dark'},{'size':N},{'theme':''},['size'],[])), ['theme'])
check('explicit-session-keys scenario 2', solve('explicit-session-keys', ({'theme':'light'}, {},{}, {},[],[])), [])
check('explicit-session-keys scenario 3', solve('explicit-session-keys', ({'size':2},{'size':0},{'size':3},{'size':4},['size'],['size'])), ['size'])
check('explicit-session-keys scenario 4', solve('explicit-session-keys', ({'theme':'light'},{'theme':None},{},{},[],[])), [])
check('explicit-session-keys scenario 5', solve('explicit-session-keys', ({}, {'theme':'dark'},{'theme':'light'},{'theme':'blue'},[],['theme'])), ['theme'])
check('explicit-session-keys scenario 6', solve('explicit-session-keys', ({'size':1}, {'size':2},{'size':3},{'size':0},[],[])), ['size'])
check('session-key-removal-falls-through scenario 1', solve('session-key-removal-falls-through', ({'theme':'light','size':1},{'theme':'dark'},{'size':N},{'theme':''},['size'],[])), {'theme':'','size':N})
check('session-key-removal-falls-through scenario 2', solve('session-key-removal-falls-through', ({'theme':'light'}, {},{}, {},[],[])), {'theme':'light'})
check('session-key-removal-falls-through scenario 3', solve('session-key-removal-falls-through', ({'size':2},{'size':0},{'size':3},{'size':4},['size'],['size'])), {'size':3})
check('session-key-removal-falls-through scenario 4', solve('session-key-removal-falls-through', ({'theme':'light'},{'theme':None},{},{},[],[])), {'theme':None})
check('session-key-removal-falls-through scenario 5', solve('session-key-removal-falls-through', ({}, {'theme':'dark'},{'theme':'light'},{'theme':'blue'},[],['theme'])), {'theme':'light'})
check('session-key-removal-falls-through scenario 6', solve('session-key-removal-falls-through', ({'size':1}, {'size':2},{'size':3},{'size':0},[],[])), {'size':0})
check('writable-preference-projection scenario 1', solve('writable-preference-projection', ({'theme':'light','size':1},{'theme':'dark'},{'size':N},{'theme':''},['size'],[])), {'theme':''})
check('writable-preference-projection scenario 2', solve('writable-preference-projection', ({'theme':'light'}, {},{}, {},[],[])), {})
check('writable-preference-projection scenario 3', solve('writable-preference-projection', ({'size':2},{'size':0},{'size':3},{'size':4},['size'],['size'])), {})
check('writable-preference-projection scenario 4', solve('writable-preference-projection', ({'theme':'light'},{'theme':None},{},{},[],[])), {})
check('writable-preference-projection scenario 5', solve('writable-preference-projection', ({}, {'theme':'dark'},{'theme':'light'},{'theme':'blue'},[],['theme'])), {'theme':'blue'})
check('writable-preference-projection scenario 6', solve('writable-preference-projection', ({'size':1}, {'size':2},{'size':3},{'size':0},[],[])), {'size':0})
check('preference-source-attribution scenario 1', solve('preference-source-attribution', ({'theme':'light','size':1},{'theme':'dark'},{'size':N},{'theme':''},['size'],[])), {'size':'workspace','theme':'session'})
check('preference-source-attribution scenario 2', solve('preference-source-attribution', ({'theme':'light'}, {},{}, {},[],[])), {'theme':'default'})
check('preference-source-attribution scenario 3', solve('preference-source-attribution', ({'size':2},{'size':0},{'size':3},{'size':4},['size'],['size'])), {'size':'session'})
check('preference-source-attribution scenario 4', solve('preference-source-attribution', ({'theme':'light'},{'theme':None},{},{},[],[])), {'theme':'device'})
check('preference-source-attribution scenario 5', solve('preference-source-attribution', ({}, {'theme':'dark'},{'theme':'light'},{'theme':'blue'},[],['theme'])), {'theme':'session'})
check('preference-source-attribution scenario 6', solve('preference-source-attribution', ({'size':1}, {'size':2},{'size':3},{'size':0},[],[])), {'size':'session'})
check('redundant-device-override-pruning scenario 1', solve('redundant-device-override-pruning', ({'theme':'light','size':1},{'theme':'dark'},{'size':N},{'theme':''},['size'],[])), {'theme':'dark'})
check('redundant-device-override-pruning scenario 2', solve('redundant-device-override-pruning', ({'theme':'light'}, {},{}, {},[],[])), {})
check('redundant-device-override-pruning scenario 3', solve('redundant-device-override-pruning', ({'size':2},{'size':0},{'size':3},{'size':4},['size'],['size'])), {'size':0})
check('redundant-device-override-pruning scenario 4', solve('redundant-device-override-pruning', ({'theme':'light'},{'theme':None},{},{},[],[])), {'theme':None})
check('redundant-device-override-pruning scenario 5', solve('redundant-device-override-pruning', ({}, {'theme':'dark'},{'theme':'light'},{'theme':'blue'},[],['theme'])), {'theme':'dark'})
check('redundant-device-override-pruning scenario 6', solve('redundant-device-override-pruning', ({'size':1}, {'size':2},{'size':3},{'size':0},[],[])), {'size':2})
check('workspace-lock-report scenario 1', solve('workspace-lock-report', ({'theme':'light','size':1},{'theme':'dark'},{'size':N},{'theme':''},['size'],[])), ['size'])
check('workspace-lock-report scenario 2', solve('workspace-lock-report', ({'theme':'light'}, {},{}, {},[],[])), [])
check('workspace-lock-report scenario 3', solve('workspace-lock-report', ({'size':2},{'size':0},{'size':3},{'size':4},['size'],['size'])), ['size'])
check('workspace-lock-report scenario 4', solve('workspace-lock-report', ({'theme':'light'},{'theme':None},{},{},[],[])), [])
check('workspace-lock-report scenario 5', solve('workspace-lock-report', ({}, {'theme':'dark'},{'theme':'light'},{'theme':'blue'},[],['theme'])), [])
check('workspace-lock-report scenario 6', solve('workspace-lock-report', ({'size':1}, {'size':2},{'size':3},{'size':0},[],[])), [])
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
layer-precedence scenario 1{'size': 1, 'theme': ''}{'size': 1, 'theme': ''}Passed
layer-precedence scenario 2{'theme': 'light'}{'theme': 'light'}Passed
layer-precedence scenario 3{'size': 4}{'size': 4}Passed
layer-precedence scenario 4{'theme': None}{'theme': None}Passed
layer-precedence scenario 5{'theme': 'blue'}{'theme': 'blue'}Passed
layer-precedence scenario 6{'size': 0}{'size': 0}Passed
locked-workspace-values scenario 1{'size': 1, 'theme': ''}{'size': 1, 'theme': ''}Passed
locked-workspace-values scenario 2{'theme': 'light'}{'theme': 'light'}Passed
locked-workspace-values scenario 3{'size': 3}{'size': 3}Passed
locked-workspace-values scenario 4{'theme': None}{'theme': None}Passed
locked-workspace-values scenario 5{'theme': 'blue'}{'theme': 'blue'}Passed
locked-workspace-values scenario 6{'size': 0}{'size': 0}Passed
session-only-reset scenario 1{'size': 1, 'theme': 'dark'}{'size': 1, 'theme': 'dark'}Passed
session-only-reset scenario 2{'theme': 'light'}{'theme': 'light'}Passed
session-only-reset scenario 3{'size': 3}{'size': 3}Passed
session-only-reset scenario 4{'theme': None}{'theme': None}Passed
session-only-reset scenario 5{'theme': 'light'}{'theme': 'light'}Passed
session-only-reset scenario 6{'size': 3}{'size': 3}Passed
device-layer-serialization scenario 1{'theme': 'dark'}{'theme': 'dark'}Passed
device-layer-serialization scenario 2{}{}Passed
device-layer-serialization scenario 3{'size': 0}{'size': 0}Passed
device-layer-serialization scenario 4{'theme': None}{'theme': None}Passed
device-layer-serialization scenario 5{'theme': 'dark'}{'theme': 'dark'}Passed
device-layer-serialization scenario 6{'size': 2}{'size': 2}Passed
explicit-session-keys scenario 1['theme']['theme']Passed
explicit-session-keys scenario 2[][]Passed
explicit-session-keys scenario 3['size']['size']Passed
explicit-session-keys scenario 4[][]Passed
explicit-session-keys scenario 5['theme']['theme']Passed
explicit-session-keys scenario 6['size']['size']Passed
session-key-removal-falls-through scenario 1{'size': 1, 'theme': ''}{'size': 1, 'theme': ''}Passed
session-key-removal-falls-through scenario 2{'theme': 'light'}{'theme': 'light'}Passed
session-key-removal-falls-through scenario 3{'size': 3}{'size': 3}Passed
session-key-removal-falls-through scenario 4{'theme': None}{'theme': None}Passed
session-key-removal-falls-through scenario 5{'theme': 'light'}{'theme': 'light'}Passed
session-key-removal-falls-through scenario 6{'size': 0}{'size': 0}Passed
writable-preference-projection scenario 1{'theme': ''}{'theme': ''}Passed
writable-preference-projection scenario 2{}{}Passed
writable-preference-projection scenario 3{}{}Passed
writable-preference-projection scenario 4{}{}Passed
writable-preference-projection scenario 5{'theme': 'blue'}{'theme': 'blue'}Passed
writable-preference-projection scenario 6{'size': 0}{'size': 0}Passed
preference-source-attribution scenario 1{'size': 'workspace', 'theme': 'session'}{'size': 'workspace', 'theme': 'session'}Passed
preference-source-attribution scenario 2{'theme': 'default'}{'theme': 'default'}Passed
preference-source-attribution scenario 3{'size': 'session'}{'size': 'session'}Passed
preference-source-attribution scenario 4{'theme': 'device'}{'theme': 'device'}Passed
preference-source-attribution scenario 5{'theme': 'session'}{'theme': 'session'}Passed
preference-source-attribution scenario 6{'size': 'session'}{'size': 'session'}Passed
redundant-device-override-pruning scenario 1{'theme': 'dark'}{'theme': 'dark'}Passed
redundant-device-override-pruning scenario 2{}{}Passed
redundant-device-override-pruning scenario 3{'size': 0}{'size': 0}Passed
redundant-device-override-pruning scenario 4{'theme': None}{'theme': None}Passed
redundant-device-override-pruning scenario 5{'theme': 'dark'}{'theme': 'dark'}Passed
redundant-device-override-pruning scenario 6{'size': 2}{'size': 2}Passed
workspace-lock-report scenario 1['size']['size']Passed
workspace-lock-report scenario 2[][]Passed
workspace-lock-report scenario 3['size']['size']Passed
workspace-lock-report scenario 4[][]Passed
workspace-lock-report scenario 5[][]Passed
workspace-lock-report scenario 6[][]Passed

SHA-256 / 3ccea91cc3e1c4ddcafb4ca2d8bbb22e8dcb67d3e1c53de10bcb42d147f9ca5e

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:59.950774+00:00.

Case digest / 1eee7eaee14efc65bc694a4529390e8c7e0d9deaf2e6d06093e1da77c971e949