FAILURE MAP
← Case archive

FA-36776 / Tab interfaces / Open access

Locked tab policy: duplicate starts unlocked · case 01

The tab workspace reports an incorrect duplicate starts unlocked.

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

ROOT CAUSE

The duplicate starts unlocked decision uses x['locked']+[x['duplicate']] instead of [t for t in x['locked'] if t!=x['duplicate']].

VERIFIED REPAIR

Use the stipulated workspace rule: [t for t in x['locked'] if t!=x['duplicate']].

Unsuccessful approach: The partial repair [] still violates a workspace boundary or normal case.

Case contract

Locked tabs forbid replacement and close commands but permit selection, scrolling and explicit duplication. Lock badges and command predicates are attached to view identity.

Why this case matters

Offline tab/panel workspace behavior; no browser or desktop framework is emulated.

1 / The failure

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

N = 1
observations = []
def solve(x):
    r0 = x['target'] not in x['locked']
    r1 = [t for t in x['locked'] if t!=x['target']] if x['target'] in x['locked'] else x['locked']+[x['target']]
    r2 = x['target']
    r3 = x['view'] in x['locked']
    r4 = x['duplicate']
    r5 = x['locked']+[x['duplicate']]
    return [r0,r1,r2,r3,r4,r5]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = {1: [({'locked': ['a', 'c'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [False, ['c'], 'a', True, 'd', ['a', 'c']]), ({'locked': ['a', 'c'], 'target': 'b', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [True, ['a', 'c', 'b'], 'b', True, 'd', ['a', 'c']]), ({'locked': [], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [True, ['a'], 'a', False, 'd', []]), ({'locked': ['a', 'c'], 'target': 'a', 'selected': 'b', 'dirty': [], 'view': 'a', 'duplicate': 'd'}, [False, ['c'], 'a', True, 'd', ['a', 'c']]), ({'locked': ['a', 'c'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'b', 'duplicate': 'd'}, [False, ['c'], 'a', False, 'd', ['a', 'c']]), ({'locked': ['a', 'c'], 'target': 'a', 'selected': 'a', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [False, ['c'], 'a', True, 'd', ['a', 'c']])], 2: [({'locked': ['a', 'c', 'extra0'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [False, ['c', 'extra0'], 'a', True, 'd', ['a', 'c', 'extra0']]), ({'locked': ['a', 'c', 'extra0'], 'target': 'b', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [True, ['a', 'c', 'extra0', 'b'], 'b', True, 'd', ['a', 'c', 'extra0']]), ({'locked': ['extra0'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [True, ['extra0', 'a'], 'a', False, 'd', ['extra0']]), ({'locked': ['a', 'c', 'extra0'], 'target': 'a', 'selected': 'b', 'dirty': [], 'view': 'a', 'duplicate': 'd'}, [False, ['c', 'extra0'], 'a', True, 'd', ['a', 'c', 'extra0']]), ({'locked': ['a', 'c', 'extra0'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'b', 'duplicate': 'd'}, [False, ['c', 'extra0'], 'a', False, 'd', ['a', 'c', 'extra0']]), ({'locked': ['a', 'c', 'extra0'], 'target': 'a', 'selected': 'a', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [False, ['c', 'extra0'], 'a', True, 'd', ['a', 'c', 'extra0']])], 3: [({'locked': ['a', 'c', 'extra0', 'extra1'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [False, ['c', 'extra0', 'extra1'], 'a', True, 'd', ['a', 'c', 'extra0', 'extra1']]), ({'locked': ['a', 'c', 'extra0', 'extra1'], 'target': 'b', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [True, ['a', 'c', 'extra0', 'extra1', 'b'], 'b', True, 'd', ['a', 'c', 'extra0', 'extra1']]), ({'locked': ['extra0', 'extra1'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [True, ['extra0', 'extra1', 'a'], 'a', False, 'd', ['extra0', 'extra1']]), ({'locked': ['a', 'c', 'extra0', 'extra1'], 'target': 'a', 'selected': 'b', 'dirty': [], 'view': 'a', 'duplicate': 'd'}, [False, ['c', 'extra0', 'extra1'], 'a', True, 'd', ['a', 'c', 'extra0', 'extra1']]), ({'locked': ['a', 'c', 'extra0', 'extra1'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'b', 'duplicate': 'd'}, [False, ['c', 'extra0', 'extra1'], 'a', False, 'd', ['a', 'c', 'extra0', 'extra1']]), ({'locked': ['a', 'c', 'extra0', 'extra1'], 'target': 'a', 'selected': 'a', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [False, ['c', 'extra0', 'extra1'], 'a', True, 'd', ['a', 'c', 'extra0', 'extra1']])], 4: [({'locked': ['a', 'c', 'extra0', 'extra1', 'extra2'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [False, ['c', 'extra0', 'extra1', 'extra2'], 'a', True, 'd', ['a', 'c', 'extra0', 'extra1', 'extra2']]), ({'locked': ['a', 'c', 'extra0', 'extra1', 'extra2'], 'target': 'b', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [True, ['a', 'c', 'extra0', 'extra1', 'extra2', 'b'], 'b', True, 'd', ['a', 'c', 'extra0', 'extra1', 'extra2']]), ({'locked': ['extra0', 'extra1', 'extra2'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [True, ['extra0', 'extra1', 'extra2', 'a'], 'a', False, 'd', ['extra0', 'extra1', 'extra2']]), ({'locked': ['a', 'c', 'extra0', 'extra1', 'extra2'], 'target': 'a', 'selected': 'b', 'dirty': [], 'view': 'a', 'duplicate': 'd'}, [False, ['c', 'extra0', 'extra1', 'extra2'], 'a', True, 'd', ['a', 'c', 'extra0', 'extra1', 'extra2']]), ({'locked': ['a', 'c', 'extra0', 'extra1', 'extra2'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'b', 'duplicate': 'd'}, [False, ['c', 'extra0', 'extra1', 'extra2'], 'a', False, 'd', ['a', 'c', 'extra0', 'extra1', 'extra2']]), ({'locked': ['a', 'c', 'extra0', 'extra1', 'extra2'], 'target': 'a', 'selected': 'a', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [False, ['c', 'extra0', 'extra1', 'extra2'], 'a', True, 'd', ['a', 'c', 'extra0', 'extra1', 'extra2']])], 5: [({'locked': ['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [False, ['c', 'extra0', 'extra1', 'extra2', 'extra3'], 'a', True, 'd', ['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3']]), ({'locked': ['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3'], 'target': 'b', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [True, ['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3', 'b'], 'b', True, 'd', ['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3']]), ({'locked': ['extra0', 'extra1', 'extra2', 'extra3'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [True, ['extra0', 'extra1', 'extra2', 'extra3', 'a'], 'a', False, 'd', ['extra0', 'extra1', 'extra2', 'extra3']]), ({'locked': ['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3'], 'target': 'a', 'selected': 'b', 'dirty': [], 'view': 'a', 'duplicate': 'd'}, [False, ['c', 'extra0', 'extra1', 'extra2', 'extra3'], 'a', True, 'd', ['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3']]), ({'locked': ['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'b', 'duplicate': 'd'}, [False, ['c', 'extra0', 'extra1', 'extra2', 'extra3'], 'a', False, 'd', ['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3']]), ({'locked': ['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3'], 'target': 'a', 'selected': 'a', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [False, ['c', 'extra0', 'extra1', 'extra2', 'extra3'], 'a', True, 'd', ['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3']])]}
for i, (inputs, expected) in enumerate(fixtures[N]):
    check("workspace regression "+str(i), solve(inputs), expected)
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
workspace regression 0[False, ['c'], 'a', True, 'd', ['a', 'c', 'd']][False, ['c'], 'a', True, 'd', ['a', 'c']]Failed
workspace regression 1[True, ['a', 'c', 'b'], 'b', True, 'd', ['a', 'c', 'd']][True, ['a', 'c', 'b'], 'b', True, 'd', ['a', 'c']]Failed
workspace regression 2[True, ['a'], 'a', False, 'd', ['d']][True, ['a'], 'a', False, 'd', []]Failed
workspace regression 3[False, ['c'], 'a', True, 'd', ['a', 'c', 'd']][False, ['c'], 'a', True, 'd', ['a', 'c']]Failed
workspace regression 4[False, ['c'], 'a', False, 'd', ['a', 'c', 'd']][False, ['c'], 'a', False, 'd', ['a', 'c']]Failed
workspace regression 5[False, ['c'], 'a', True, 'd', ['a', 'c', 'd']][False, ['c'], 'a', True, 'd', ['a', 'c']]Failed

SHA-256 / b4a0c994238d39fc1283e1e75b80b037ec3ba1ff4d3241c5cad2081070c12ea2

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(x):
    r0 = x['target'] not in x['locked']
    r1 = [t for t in x['locked'] if t!=x['target']] if x['target'] in x['locked'] else x['locked']+[x['target']]
    r2 = x['target']
    r3 = x['view'] in x['locked']
    r4 = x['duplicate']
    r5 = []
    return [r0,r1,r2,r3,r4,r5]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = {1: [({'locked': ['a', 'c'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [False, ['c'], 'a', True, 'd', ['a', 'c']]), ({'locked': ['a', 'c'], 'target': 'b', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [True, ['a', 'c', 'b'], 'b', True, 'd', ['a', 'c']]), ({'locked': [], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [True, ['a'], 'a', False, 'd', []]), ({'locked': ['a', 'c'], 'target': 'a', 'selected': 'b', 'dirty': [], 'view': 'a', 'duplicate': 'd'}, [False, ['c'], 'a', True, 'd', ['a', 'c']]), ({'locked': ['a', 'c'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'b', 'duplicate': 'd'}, [False, ['c'], 'a', False, 'd', ['a', 'c']]), ({'locked': ['a', 'c'], 'target': 'a', 'selected': 'a', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [False, ['c'], 'a', True, 'd', ['a', 'c']])], 2: [({'locked': ['a', 'c', 'extra0'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [False, ['c', 'extra0'], 'a', True, 'd', ['a', 'c', 'extra0']]), ({'locked': ['a', 'c', 'extra0'], 'target': 'b', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [True, ['a', 'c', 'extra0', 'b'], 'b', True, 'd', ['a', 'c', 'extra0']]), ({'locked': ['extra0'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [True, ['extra0', 'a'], 'a', False, 'd', ['extra0']]), ({'locked': ['a', 'c', 'extra0'], 'target': 'a', 'selected': 'b', 'dirty': [], 'view': 'a', 'duplicate': 'd'}, [False, ['c', 'extra0'], 'a', True, 'd', ['a', 'c', 'extra0']]), ({'locked': ['a', 'c', 'extra0'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'b', 'duplicate': 'd'}, [False, ['c', 'extra0'], 'a', False, 'd', ['a', 'c', 'extra0']]), ({'locked': ['a', 'c', 'extra0'], 'target': 'a', 'selected': 'a', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [False, ['c', 'extra0'], 'a', True, 'd', ['a', 'c', 'extra0']])], 3: [({'locked': ['a', 'c', 'extra0', 'extra1'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [False, ['c', 'extra0', 'extra1'], 'a', True, 'd', ['a', 'c', 'extra0', 'extra1']]), ({'locked': ['a', 'c', 'extra0', 'extra1'], 'target': 'b', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [True, ['a', 'c', 'extra0', 'extra1', 'b'], 'b', True, 'd', ['a', 'c', 'extra0', 'extra1']]), ({'locked': ['extra0', 'extra1'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [True, ['extra0', 'extra1', 'a'], 'a', False, 'd', ['extra0', 'extra1']]), ({'locked': ['a', 'c', 'extra0', 'extra1'], 'target': 'a', 'selected': 'b', 'dirty': [], 'view': 'a', 'duplicate': 'd'}, [False, ['c', 'extra0', 'extra1'], 'a', True, 'd', ['a', 'c', 'extra0', 'extra1']]), ({'locked': ['a', 'c', 'extra0', 'extra1'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'b', 'duplicate': 'd'}, [False, ['c', 'extra0', 'extra1'], 'a', False, 'd', ['a', 'c', 'extra0', 'extra1']]), ({'locked': ['a', 'c', 'extra0', 'extra1'], 'target': 'a', 'selected': 'a', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [False, ['c', 'extra0', 'extra1'], 'a', True, 'd', ['a', 'c', 'extra0', 'extra1']])], 4: [({'locked': ['a', 'c', 'extra0', 'extra1', 'extra2'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [False, ['c', 'extra0', 'extra1', 'extra2'], 'a', True, 'd', ['a', 'c', 'extra0', 'extra1', 'extra2']]), ({'locked': ['a', 'c', 'extra0', 'extra1', 'extra2'], 'target': 'b', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [True, ['a', 'c', 'extra0', 'extra1', 'extra2', 'b'], 'b', True, 'd', ['a', 'c', 'extra0', 'extra1', 'extra2']]), ({'locked': ['extra0', 'extra1', 'extra2'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [True, ['extra0', 'extra1', 'extra2', 'a'], 'a', False, 'd', ['extra0', 'extra1', 'extra2']]), ({'locked': ['a', 'c', 'extra0', 'extra1', 'extra2'], 'target': 'a', 'selected': 'b', 'dirty': [], 'view': 'a', 'duplicate': 'd'}, [False, ['c', 'extra0', 'extra1', 'extra2'], 'a', True, 'd', ['a', 'c', 'extra0', 'extra1', 'extra2']]), ({'locked': ['a', 'c', 'extra0', 'extra1', 'extra2'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'b', 'duplicate': 'd'}, [False, ['c', 'extra0', 'extra1', 'extra2'], 'a', False, 'd', ['a', 'c', 'extra0', 'extra1', 'extra2']]), ({'locked': ['a', 'c', 'extra0', 'extra1', 'extra2'], 'target': 'a', 'selected': 'a', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [False, ['c', 'extra0', 'extra1', 'extra2'], 'a', True, 'd', ['a', 'c', 'extra0', 'extra1', 'extra2']])], 5: [({'locked': ['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [False, ['c', 'extra0', 'extra1', 'extra2', 'extra3'], 'a', True, 'd', ['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3']]), ({'locked': ['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3'], 'target': 'b', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [True, ['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3', 'b'], 'b', True, 'd', ['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3']]), ({'locked': ['extra0', 'extra1', 'extra2', 'extra3'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [True, ['extra0', 'extra1', 'extra2', 'extra3', 'a'], 'a', False, 'd', ['extra0', 'extra1', 'extra2', 'extra3']]), ({'locked': ['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3'], 'target': 'a', 'selected': 'b', 'dirty': [], 'view': 'a', 'duplicate': 'd'}, [False, ['c', 'extra0', 'extra1', 'extra2', 'extra3'], 'a', True, 'd', ['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3']]), ({'locked': ['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'b', 'duplicate': 'd'}, [False, ['c', 'extra0', 'extra1', 'extra2', 'extra3'], 'a', False, 'd', ['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3']]), ({'locked': ['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3'], 'target': 'a', 'selected': 'a', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [False, ['c', 'extra0', 'extra1', 'extra2', 'extra3'], 'a', True, 'd', ['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3']])]}
for i, (inputs, expected) in enumerate(fixtures[N]):
    check("workspace regression "+str(i), solve(inputs), expected)
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
workspace regression 0[False, ['c'], 'a', True, 'd', []][False, ['c'], 'a', True, 'd', ['a', 'c']]Failed
workspace regression 1[True, ['a', 'c', 'b'], 'b', True, 'd', []][True, ['a', 'c', 'b'], 'b', True, 'd', ['a', 'c']]Failed
workspace regression 2[True, ['a'], 'a', False, 'd', []][True, ['a'], 'a', False, 'd', []]Passed
workspace regression 3[False, ['c'], 'a', True, 'd', []][False, ['c'], 'a', True, 'd', ['a', 'c']]Failed
workspace regression 4[False, ['c'], 'a', False, 'd', []][False, ['c'], 'a', False, 'd', ['a', 'c']]Failed
workspace regression 5[False, ['c'], 'a', True, 'd', []][False, ['c'], 'a', True, 'd', ['a', 'c']]Failed

SHA-256 / 6d74668455c93949d39c0ab2f467d775b15c2566ffcd97bf30c03c336ed1e7ed

3 / The verified repair

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

N = 1
observations = []
def solve(x):
    r0 = x['target'] not in x['locked']
    r1 = [t for t in x['locked'] if t!=x['target']] if x['target'] in x['locked'] else x['locked']+[x['target']]
    r2 = x['target']
    r3 = x['view'] in x['locked']
    r4 = x['duplicate']
    r5 = [t for t in x['locked'] if t!=x['duplicate']]
    return [r0,r1,r2,r3,r4,r5]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = {1: [({'locked': ['a', 'c'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [False, ['c'], 'a', True, 'd', ['a', 'c']]), ({'locked': ['a', 'c'], 'target': 'b', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [True, ['a', 'c', 'b'], 'b', True, 'd', ['a', 'c']]), ({'locked': [], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [True, ['a'], 'a', False, 'd', []]), ({'locked': ['a', 'c'], 'target': 'a', 'selected': 'b', 'dirty': [], 'view': 'a', 'duplicate': 'd'}, [False, ['c'], 'a', True, 'd', ['a', 'c']]), ({'locked': ['a', 'c'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'b', 'duplicate': 'd'}, [False, ['c'], 'a', False, 'd', ['a', 'c']]), ({'locked': ['a', 'c'], 'target': 'a', 'selected': 'a', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [False, ['c'], 'a', True, 'd', ['a', 'c']])], 2: [({'locked': ['a', 'c', 'extra0'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [False, ['c', 'extra0'], 'a', True, 'd', ['a', 'c', 'extra0']]), ({'locked': ['a', 'c', 'extra0'], 'target': 'b', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [True, ['a', 'c', 'extra0', 'b'], 'b', True, 'd', ['a', 'c', 'extra0']]), ({'locked': ['extra0'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [True, ['extra0', 'a'], 'a', False, 'd', ['extra0']]), ({'locked': ['a', 'c', 'extra0'], 'target': 'a', 'selected': 'b', 'dirty': [], 'view': 'a', 'duplicate': 'd'}, [False, ['c', 'extra0'], 'a', True, 'd', ['a', 'c', 'extra0']]), ({'locked': ['a', 'c', 'extra0'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'b', 'duplicate': 'd'}, [False, ['c', 'extra0'], 'a', False, 'd', ['a', 'c', 'extra0']]), ({'locked': ['a', 'c', 'extra0'], 'target': 'a', 'selected': 'a', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [False, ['c', 'extra0'], 'a', True, 'd', ['a', 'c', 'extra0']])], 3: [({'locked': ['a', 'c', 'extra0', 'extra1'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [False, ['c', 'extra0', 'extra1'], 'a', True, 'd', ['a', 'c', 'extra0', 'extra1']]), ({'locked': ['a', 'c', 'extra0', 'extra1'], 'target': 'b', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [True, ['a', 'c', 'extra0', 'extra1', 'b'], 'b', True, 'd', ['a', 'c', 'extra0', 'extra1']]), ({'locked': ['extra0', 'extra1'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [True, ['extra0', 'extra1', 'a'], 'a', False, 'd', ['extra0', 'extra1']]), ({'locked': ['a', 'c', 'extra0', 'extra1'], 'target': 'a', 'selected': 'b', 'dirty': [], 'view': 'a', 'duplicate': 'd'}, [False, ['c', 'extra0', 'extra1'], 'a', True, 'd', ['a', 'c', 'extra0', 'extra1']]), ({'locked': ['a', 'c', 'extra0', 'extra1'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'b', 'duplicate': 'd'}, [False, ['c', 'extra0', 'extra1'], 'a', False, 'd', ['a', 'c', 'extra0', 'extra1']]), ({'locked': ['a', 'c', 'extra0', 'extra1'], 'target': 'a', 'selected': 'a', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [False, ['c', 'extra0', 'extra1'], 'a', True, 'd', ['a', 'c', 'extra0', 'extra1']])], 4: [({'locked': ['a', 'c', 'extra0', 'extra1', 'extra2'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [False, ['c', 'extra0', 'extra1', 'extra2'], 'a', True, 'd', ['a', 'c', 'extra0', 'extra1', 'extra2']]), ({'locked': ['a', 'c', 'extra0', 'extra1', 'extra2'], 'target': 'b', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [True, ['a', 'c', 'extra0', 'extra1', 'extra2', 'b'], 'b', True, 'd', ['a', 'c', 'extra0', 'extra1', 'extra2']]), ({'locked': ['extra0', 'extra1', 'extra2'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [True, ['extra0', 'extra1', 'extra2', 'a'], 'a', False, 'd', ['extra0', 'extra1', 'extra2']]), ({'locked': ['a', 'c', 'extra0', 'extra1', 'extra2'], 'target': 'a', 'selected': 'b', 'dirty': [], 'view': 'a', 'duplicate': 'd'}, [False, ['c', 'extra0', 'extra1', 'extra2'], 'a', True, 'd', ['a', 'c', 'extra0', 'extra1', 'extra2']]), ({'locked': ['a', 'c', 'extra0', 'extra1', 'extra2'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'b', 'duplicate': 'd'}, [False, ['c', 'extra0', 'extra1', 'extra2'], 'a', False, 'd', ['a', 'c', 'extra0', 'extra1', 'extra2']]), ({'locked': ['a', 'c', 'extra0', 'extra1', 'extra2'], 'target': 'a', 'selected': 'a', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [False, ['c', 'extra0', 'extra1', 'extra2'], 'a', True, 'd', ['a', 'c', 'extra0', 'extra1', 'extra2']])], 5: [({'locked': ['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [False, ['c', 'extra0', 'extra1', 'extra2', 'extra3'], 'a', True, 'd', ['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3']]), ({'locked': ['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3'], 'target': 'b', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [True, ['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3', 'b'], 'b', True, 'd', ['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3']]), ({'locked': ['extra0', 'extra1', 'extra2', 'extra3'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [True, ['extra0', 'extra1', 'extra2', 'extra3', 'a'], 'a', False, 'd', ['extra0', 'extra1', 'extra2', 'extra3']]), ({'locked': ['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3'], 'target': 'a', 'selected': 'b', 'dirty': [], 'view': 'a', 'duplicate': 'd'}, [False, ['c', 'extra0', 'extra1', 'extra2', 'extra3'], 'a', True, 'd', ['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3']]), ({'locked': ['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3'], 'target': 'a', 'selected': 'b', 'dirty': ['a'], 'view': 'b', 'duplicate': 'd'}, [False, ['c', 'extra0', 'extra1', 'extra2', 'extra3'], 'a', False, 'd', ['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3']]), ({'locked': ['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3'], 'target': 'a', 'selected': 'a', 'dirty': ['a'], 'view': 'a', 'duplicate': 'd'}, [False, ['c', 'extra0', 'extra1', 'extra2', 'extra3'], 'a', True, 'd', ['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3']])]}
for i, (inputs, expected) in enumerate(fixtures[N]):
    check("workspace regression "+str(i), solve(inputs), expected)
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
workspace regression 0[False, ['c'], 'a', True, 'd', ['a', 'c']][False, ['c'], 'a', True, 'd', ['a', 'c']]Passed
workspace regression 1[True, ['a', 'c', 'b'], 'b', True, 'd', ['a', 'c']][True, ['a', 'c', 'b'], 'b', True, 'd', ['a', 'c']]Passed
workspace regression 2[True, ['a'], 'a', False, 'd', []][True, ['a'], 'a', False, 'd', []]Passed
workspace regression 3[False, ['c'], 'a', True, 'd', ['a', 'c']][False, ['c'], 'a', True, 'd', ['a', 'c']]Passed
workspace regression 4[False, ['c'], 'a', False, 'd', ['a', 'c']][False, ['c'], 'a', False, 'd', ['a', 'c']]Passed
workspace regression 5[False, ['c'], 'a', True, 'd', ['a', 'c']][False, ['c'], 'a', True, 'd', ['a', 'c']]Passed

SHA-256 / 2ce22d9bd836b0532abadcd9a96b19a00e5c383bf1a9c6d16108ea09e3865ccc

Verification & scope

Finite stipulated workspace snapshots only. Independent result fields describe observable obligations, not a full UI runtime. 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:42:54.674596+00:00.

Case digest / 509acbe6b4e3f021d88e68d06505c546bf50a176844195e3600925294abe299f