FA-35641 / Tab interfaces / Open access
Session persistence: durable only · case 01
The tab workspace reports an incorrect durable only.
ROOT CAUSE
The durable only decision uses x['tabs'] instead of [t for t in x['tabs'] if t not in x['preview']].
VERIFIED REPAIR
Use the stipulated workspace rule: [t for t in x['tabs'] if t not in x['preview']].
Unsuccessful approach: The partial repair [t for t in x['tabs'] if t in x['preview']] still violates a workspace boundary or normal case.
Case contract
Persist durable file tabs in visual order, excluding private and preview tabs; retain pinned IDs, pane selection and per-view scroll only for eligible tabs.
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['tabs']
r1 = [t for t in x['tabs'] if t not in x['private']]
r2 = [t for t in x['tabs'] if t not in x['preview'] and t not in x['private']]
r3 = [t for t in x['pins'] if t not in x['preview'] and t not in x['private']]
r4 = x['selected'] if x['selected'] not in x['preview']+x['private'] else None
r5 = {t:v for t,v in x['scroll'].items() if t not in x['preview']+x['private']}
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: [({'tabs': ['a', 'b', 'c', 'd'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], ['a'], 'd', {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd'], 'preview': [], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'b', 'c', 'd'], ['a', 'b', 'd'], ['a', 'b', 'd'], ['a'], 'd', {'a': 20, 'b': 0, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd'], 'preview': ['b'], 'private': [], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd'], ['a', 'b', 'c', 'd'], ['a', 'c', 'd'], ['a', 'c'], 'd', {'a': 20, 'c': 40, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'b', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], ['a'], None, {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd'], 'preview': ['b'], 'private': ['c'], 'pins': ['d'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], ['d'], 'd', {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 0, 'b': 10, 'c': 20, 'd': 30}}, [['a', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], ['a'], 'd', {'a': 0, 'd': 30}])], 2: [({'tabs': ['a', 'b', 'c', 'd', 'background0'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0'], ['a', 'b', 'd', 'background0'], ['a', 'd', 'background0'], ['a'], 'd', {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0'], 'preview': [], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'b', 'c', 'd', 'background0'], ['a', 'b', 'd', 'background0'], ['a', 'b', 'd', 'background0'], ['a'], 'd', {'a': 20, 'b': 0, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0'], 'preview': ['b'], 'private': [], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0'], ['a', 'b', 'c', 'd', 'background0'], ['a', 'c', 'd', 'background0'], ['a', 'c'], 'd', {'a': 20, 'c': 40, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'b', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0'], ['a', 'b', 'd', 'background0'], ['a', 'd', 'background0'], ['a'], None, {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0'], 'preview': ['b'], 'private': ['c'], 'pins': ['d'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0'], ['a', 'b', 'd', 'background0'], ['a', 'd', 'background0'], ['d'], 'd', {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 0, 'b': 10, 'c': 20, 'd': 30}}, [['a', 'c', 'd', 'background0'], ['a', 'b', 'd', 'background0'], ['a', 'd', 'background0'], ['a'], 'd', {'a': 0, 'd': 30}])], 3: [({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0', 'background1'], ['a', 'b', 'd', 'background0', 'background1'], ['a', 'd', 'background0', 'background1'], ['a'], 'd', {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1'], 'preview': [], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'b', 'c', 'd', 'background0', 'background1'], ['a', 'b', 'd', 'background0', 'background1'], ['a', 'b', 'd', 'background0', 'background1'], ['a'], 'd', {'a': 20, 'b': 0, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1'], 'preview': ['b'], 'private': [], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0', 'background1'], ['a', 'b', 'c', 'd', 'background0', 'background1'], ['a', 'c', 'd', 'background0', 'background1'], ['a', 'c'], 'd', {'a': 20, 'c': 40, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'b', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0', 'background1'], ['a', 'b', 'd', 'background0', 'background1'], ['a', 'd', 'background0', 'background1'], ['a'], None, {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1'], 'preview': ['b'], 'private': ['c'], 'pins': ['d'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0', 'background1'], ['a', 'b', 'd', 'background0', 'background1'], ['a', 'd', 'background0', 'background1'], ['d'], 'd', {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 0, 'b': 10, 'c': 20, 'd': 30}}, [['a', 'c', 'd', 'background0', 'background1'], ['a', 'b', 'd', 'background0', 'background1'], ['a', 'd', 'background0', 'background1'], ['a'], 'd', {'a': 0, 'd': 30}])], 4: [({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0', 'background1', 'background2'], ['a', 'b', 'd', 'background0', 'background1', 'background2'], ['a', 'd', 'background0', 'background1', 'background2'], ['a'], 'd', {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], 'preview': [], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], ['a', 'b', 'd', 'background0', 'background1', 'background2'], ['a', 'b', 'd', 'background0', 'background1', 'background2'], ['a'], 'd', {'a': 20, 'b': 0, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], 'preview': ['b'], 'private': [], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0', 'background1', 'background2'], ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], ['a', 'c', 'd', 'background0', 'background1', 'background2'], ['a', 'c'], 'd', {'a': 20, 'c': 40, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'b', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0', 'background1', 'background2'], ['a', 'b', 'd', 'background0', 'background1', 'background2'], ['a', 'd', 'background0', 'background1', 'background2'], ['a'], None, {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], 'preview': ['b'], 'private': ['c'], 'pins': ['d'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0', 'background1', 'background2'], ['a', 'b', 'd', 'background0', 'background1', 'background2'], ['a', 'd', 'background0', 'background1', 'background2'], ['d'], 'd', {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 0, 'b': 10, 'c': 20, 'd': 30}}, [['a', 'c', 'd', 'background0', 'background1', 'background2'], ['a', 'b', 'd', 'background0', 'background1', 'background2'], ['a', 'd', 'background0', 'background1', 'background2'], ['a'], 'd', {'a': 0, 'd': 30}])], 5: [({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'b', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'd', 'background0', 'background1', 'background2', 'background3'], ['a'], 'd', {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 'preview': [], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'b', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'b', 'd', 'background0', 'background1', 'background2', 'background3'], ['a'], 'd', {'a': 20, 'b': 0, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 'preview': ['b'], 'private': [], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'c'], 'd', {'a': 20, 'c': 40, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'b', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'b', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'd', 'background0', 'background1', 'background2', 'background3'], ['a'], None, {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 'preview': ['b'], 'private': ['c'], 'pins': ['d'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'b', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'd', 'background0', 'background1', 'background2', 'background3'], ['d'], 'd', {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 0, 'b': 10, 'c': 20, 'd': 30}}, [['a', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'b', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'd', 'background0', 'background1', 'background2', 'background3'], ['a'], 'd', {'a': 0, 'd': 30}])]}
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| workspace regression 0 | [['a', 'b', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], ['a'], 'd', {'a': 20, 'd': 60}] | [['a', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], ['a'], 'd', {'a': 20, 'd': 60}] | Failed |
| workspace regression 1 | [['a', 'b', 'c', 'd'], ['a', 'b', 'd'], ['a', 'b', 'd'], ['a'], 'd', {'a': 20, 'b': 0, 'd': 60}] | [['a', 'b', 'c', 'd'], ['a', 'b', 'd'], ['a', 'b', 'd'], ['a'], 'd', {'a': 20, 'b': 0, 'd': 60}] | Passed |
| workspace regression 2 | [['a', 'b', 'c', 'd'], ['a', 'b', 'c', 'd'], ['a', 'c', 'd'], ['a', 'c'], 'd', {'a': 20, 'c': 40, 'd': 60}] | [['a', 'c', 'd'], ['a', 'b', 'c', 'd'], ['a', 'c', 'd'], ['a', 'c'], 'd', {'a': 20, 'c': 40, 'd': 60}] | Failed |
| workspace regression 3 | [['a', 'b', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], ['a'], None, {'a': 20, 'd': 60}] | [['a', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], ['a'], None, {'a': 20, 'd': 60}] | Failed |
| workspace regression 4 | [['a', 'b', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], ['d'], 'd', {'a': 20, 'd': 60}] | [['a', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], ['d'], 'd', {'a': 20, 'd': 60}] | Failed |
| workspace regression 5 | [['a', 'b', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], ['a'], 'd', {'a': 0, 'd': 30}] | [['a', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], ['a'], 'd', {'a': 0, 'd': 30}] | Failed |
SHA-256 / ee299761c13e266354776f2454dcc997c650c9bb7bd8a17d38beb1eb53d804d8
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
r0 = [t for t in x['tabs'] if t in x['preview']]
r1 = [t for t in x['tabs'] if t not in x['private']]
r2 = [t for t in x['tabs'] if t not in x['preview'] and t not in x['private']]
r3 = [t for t in x['pins'] if t not in x['preview'] and t not in x['private']]
r4 = x['selected'] if x['selected'] not in x['preview']+x['private'] else None
r5 = {t:v for t,v in x['scroll'].items() if t not in x['preview']+x['private']}
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: [({'tabs': ['a', 'b', 'c', 'd'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], ['a'], 'd', {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd'], 'preview': [], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'b', 'c', 'd'], ['a', 'b', 'd'], ['a', 'b', 'd'], ['a'], 'd', {'a': 20, 'b': 0, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd'], 'preview': ['b'], 'private': [], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd'], ['a', 'b', 'c', 'd'], ['a', 'c', 'd'], ['a', 'c'], 'd', {'a': 20, 'c': 40, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'b', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], ['a'], None, {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd'], 'preview': ['b'], 'private': ['c'], 'pins': ['d'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], ['d'], 'd', {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 0, 'b': 10, 'c': 20, 'd': 30}}, [['a', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], ['a'], 'd', {'a': 0, 'd': 30}])], 2: [({'tabs': ['a', 'b', 'c', 'd', 'background0'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0'], ['a', 'b', 'd', 'background0'], ['a', 'd', 'background0'], ['a'], 'd', {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0'], 'preview': [], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'b', 'c', 'd', 'background0'], ['a', 'b', 'd', 'background0'], ['a', 'b', 'd', 'background0'], ['a'], 'd', {'a': 20, 'b': 0, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0'], 'preview': ['b'], 'private': [], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0'], ['a', 'b', 'c', 'd', 'background0'], ['a', 'c', 'd', 'background0'], ['a', 'c'], 'd', {'a': 20, 'c': 40, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'b', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0'], ['a', 'b', 'd', 'background0'], ['a', 'd', 'background0'], ['a'], None, {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0'], 'preview': ['b'], 'private': ['c'], 'pins': ['d'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0'], ['a', 'b', 'd', 'background0'], ['a', 'd', 'background0'], ['d'], 'd', {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 0, 'b': 10, 'c': 20, 'd': 30}}, [['a', 'c', 'd', 'background0'], ['a', 'b', 'd', 'background0'], ['a', 'd', 'background0'], ['a'], 'd', {'a': 0, 'd': 30}])], 3: [({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0', 'background1'], ['a', 'b', 'd', 'background0', 'background1'], ['a', 'd', 'background0', 'background1'], ['a'], 'd', {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1'], 'preview': [], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'b', 'c', 'd', 'background0', 'background1'], ['a', 'b', 'd', 'background0', 'background1'], ['a', 'b', 'd', 'background0', 'background1'], ['a'], 'd', {'a': 20, 'b': 0, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1'], 'preview': ['b'], 'private': [], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0', 'background1'], ['a', 'b', 'c', 'd', 'background0', 'background1'], ['a', 'c', 'd', 'background0', 'background1'], ['a', 'c'], 'd', {'a': 20, 'c': 40, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'b', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0', 'background1'], ['a', 'b', 'd', 'background0', 'background1'], ['a', 'd', 'background0', 'background1'], ['a'], None, {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1'], 'preview': ['b'], 'private': ['c'], 'pins': ['d'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0', 'background1'], ['a', 'b', 'd', 'background0', 'background1'], ['a', 'd', 'background0', 'background1'], ['d'], 'd', {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 0, 'b': 10, 'c': 20, 'd': 30}}, [['a', 'c', 'd', 'background0', 'background1'], ['a', 'b', 'd', 'background0', 'background1'], ['a', 'd', 'background0', 'background1'], ['a'], 'd', {'a': 0, 'd': 30}])], 4: [({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0', 'background1', 'background2'], ['a', 'b', 'd', 'background0', 'background1', 'background2'], ['a', 'd', 'background0', 'background1', 'background2'], ['a'], 'd', {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], 'preview': [], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], ['a', 'b', 'd', 'background0', 'background1', 'background2'], ['a', 'b', 'd', 'background0', 'background1', 'background2'], ['a'], 'd', {'a': 20, 'b': 0, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], 'preview': ['b'], 'private': [], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0', 'background1', 'background2'], ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], ['a', 'c', 'd', 'background0', 'background1', 'background2'], ['a', 'c'], 'd', {'a': 20, 'c': 40, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'b', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0', 'background1', 'background2'], ['a', 'b', 'd', 'background0', 'background1', 'background2'], ['a', 'd', 'background0', 'background1', 'background2'], ['a'], None, {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], 'preview': ['b'], 'private': ['c'], 'pins': ['d'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0', 'background1', 'background2'], ['a', 'b', 'd', 'background0', 'background1', 'background2'], ['a', 'd', 'background0', 'background1', 'background2'], ['d'], 'd', {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 0, 'b': 10, 'c': 20, 'd': 30}}, [['a', 'c', 'd', 'background0', 'background1', 'background2'], ['a', 'b', 'd', 'background0', 'background1', 'background2'], ['a', 'd', 'background0', 'background1', 'background2'], ['a'], 'd', {'a': 0, 'd': 30}])], 5: [({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'b', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'd', 'background0', 'background1', 'background2', 'background3'], ['a'], 'd', {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 'preview': [], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'b', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'b', 'd', 'background0', 'background1', 'background2', 'background3'], ['a'], 'd', {'a': 20, 'b': 0, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 'preview': ['b'], 'private': [], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'c'], 'd', {'a': 20, 'c': 40, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'b', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'b', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'd', 'background0', 'background1', 'background2', 'background3'], ['a'], None, {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 'preview': ['b'], 'private': ['c'], 'pins': ['d'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'b', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'd', 'background0', 'background1', 'background2', 'background3'], ['d'], 'd', {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 0, 'b': 10, 'c': 20, 'd': 30}}, [['a', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'b', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'd', 'background0', 'background1', 'background2', 'background3'], ['a'], 'd', {'a': 0, 'd': 30}])]}
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| workspace regression 0 | [['b'], ['a', 'b', 'd'], ['a', 'd'], ['a'], 'd', {'a': 20, 'd': 60}] | [['a', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], ['a'], 'd', {'a': 20, 'd': 60}] | Failed |
| workspace regression 1 | [[], ['a', 'b', 'd'], ['a', 'b', 'd'], ['a'], 'd', {'a': 20, 'b': 0, 'd': 60}] | [['a', 'b', 'c', 'd'], ['a', 'b', 'd'], ['a', 'b', 'd'], ['a'], 'd', {'a': 20, 'b': 0, 'd': 60}] | Failed |
| workspace regression 2 | [['b'], ['a', 'b', 'c', 'd'], ['a', 'c', 'd'], ['a', 'c'], 'd', {'a': 20, 'c': 40, 'd': 60}] | [['a', 'c', 'd'], ['a', 'b', 'c', 'd'], ['a', 'c', 'd'], ['a', 'c'], 'd', {'a': 20, 'c': 40, 'd': 60}] | Failed |
| workspace regression 3 | [['b'], ['a', 'b', 'd'], ['a', 'd'], ['a'], None, {'a': 20, 'd': 60}] | [['a', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], ['a'], None, {'a': 20, 'd': 60}] | Failed |
| workspace regression 4 | [['b'], ['a', 'b', 'd'], ['a', 'd'], ['d'], 'd', {'a': 20, 'd': 60}] | [['a', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], ['d'], 'd', {'a': 20, 'd': 60}] | Failed |
| workspace regression 5 | [['b'], ['a', 'b', 'd'], ['a', 'd'], ['a'], 'd', {'a': 0, 'd': 30}] | [['a', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], ['a'], 'd', {'a': 0, 'd': 30}] | Failed |
SHA-256 / 3e43cd95d0d5a2256aeba1ac0440c58eaf6aaef39535f06fcb850f043fa079e1
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
r0 = [t for t in x['tabs'] if t not in x['preview']]
r1 = [t for t in x['tabs'] if t not in x['private']]
r2 = [t for t in x['tabs'] if t not in x['preview'] and t not in x['private']]
r3 = [t for t in x['pins'] if t not in x['preview'] and t not in x['private']]
r4 = x['selected'] if x['selected'] not in x['preview']+x['private'] else None
r5 = {t:v for t,v in x['scroll'].items() if t not in x['preview']+x['private']}
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: [({'tabs': ['a', 'b', 'c', 'd'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], ['a'], 'd', {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd'], 'preview': [], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'b', 'c', 'd'], ['a', 'b', 'd'], ['a', 'b', 'd'], ['a'], 'd', {'a': 20, 'b': 0, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd'], 'preview': ['b'], 'private': [], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd'], ['a', 'b', 'c', 'd'], ['a', 'c', 'd'], ['a', 'c'], 'd', {'a': 20, 'c': 40, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'b', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], ['a'], None, {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd'], 'preview': ['b'], 'private': ['c'], 'pins': ['d'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], ['d'], 'd', {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 0, 'b': 10, 'c': 20, 'd': 30}}, [['a', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], ['a'], 'd', {'a': 0, 'd': 30}])], 2: [({'tabs': ['a', 'b', 'c', 'd', 'background0'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0'], ['a', 'b', 'd', 'background0'], ['a', 'd', 'background0'], ['a'], 'd', {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0'], 'preview': [], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'b', 'c', 'd', 'background0'], ['a', 'b', 'd', 'background0'], ['a', 'b', 'd', 'background0'], ['a'], 'd', {'a': 20, 'b': 0, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0'], 'preview': ['b'], 'private': [], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0'], ['a', 'b', 'c', 'd', 'background0'], ['a', 'c', 'd', 'background0'], ['a', 'c'], 'd', {'a': 20, 'c': 40, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'b', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0'], ['a', 'b', 'd', 'background0'], ['a', 'd', 'background0'], ['a'], None, {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0'], 'preview': ['b'], 'private': ['c'], 'pins': ['d'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0'], ['a', 'b', 'd', 'background0'], ['a', 'd', 'background0'], ['d'], 'd', {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 0, 'b': 10, 'c': 20, 'd': 30}}, [['a', 'c', 'd', 'background0'], ['a', 'b', 'd', 'background0'], ['a', 'd', 'background0'], ['a'], 'd', {'a': 0, 'd': 30}])], 3: [({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0', 'background1'], ['a', 'b', 'd', 'background0', 'background1'], ['a', 'd', 'background0', 'background1'], ['a'], 'd', {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1'], 'preview': [], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'b', 'c', 'd', 'background0', 'background1'], ['a', 'b', 'd', 'background0', 'background1'], ['a', 'b', 'd', 'background0', 'background1'], ['a'], 'd', {'a': 20, 'b': 0, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1'], 'preview': ['b'], 'private': [], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0', 'background1'], ['a', 'b', 'c', 'd', 'background0', 'background1'], ['a', 'c', 'd', 'background0', 'background1'], ['a', 'c'], 'd', {'a': 20, 'c': 40, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'b', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0', 'background1'], ['a', 'b', 'd', 'background0', 'background1'], ['a', 'd', 'background0', 'background1'], ['a'], None, {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1'], 'preview': ['b'], 'private': ['c'], 'pins': ['d'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0', 'background1'], ['a', 'b', 'd', 'background0', 'background1'], ['a', 'd', 'background0', 'background1'], ['d'], 'd', {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 0, 'b': 10, 'c': 20, 'd': 30}}, [['a', 'c', 'd', 'background0', 'background1'], ['a', 'b', 'd', 'background0', 'background1'], ['a', 'd', 'background0', 'background1'], ['a'], 'd', {'a': 0, 'd': 30}])], 4: [({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0', 'background1', 'background2'], ['a', 'b', 'd', 'background0', 'background1', 'background2'], ['a', 'd', 'background0', 'background1', 'background2'], ['a'], 'd', {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], 'preview': [], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], ['a', 'b', 'd', 'background0', 'background1', 'background2'], ['a', 'b', 'd', 'background0', 'background1', 'background2'], ['a'], 'd', {'a': 20, 'b': 0, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], 'preview': ['b'], 'private': [], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0', 'background1', 'background2'], ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], ['a', 'c', 'd', 'background0', 'background1', 'background2'], ['a', 'c'], 'd', {'a': 20, 'c': 40, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'b', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0', 'background1', 'background2'], ['a', 'b', 'd', 'background0', 'background1', 'background2'], ['a', 'd', 'background0', 'background1', 'background2'], ['a'], None, {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], 'preview': ['b'], 'private': ['c'], 'pins': ['d'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0', 'background1', 'background2'], ['a', 'b', 'd', 'background0', 'background1', 'background2'], ['a', 'd', 'background0', 'background1', 'background2'], ['d'], 'd', {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 0, 'b': 10, 'c': 20, 'd': 30}}, [['a', 'c', 'd', 'background0', 'background1', 'background2'], ['a', 'b', 'd', 'background0', 'background1', 'background2'], ['a', 'd', 'background0', 'background1', 'background2'], ['a'], 'd', {'a': 0, 'd': 30}])], 5: [({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'b', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'd', 'background0', 'background1', 'background2', 'background3'], ['a'], 'd', {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 'preview': [], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'b', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'b', 'd', 'background0', 'background1', 'background2', 'background3'], ['a'], 'd', {'a': 20, 'b': 0, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 'preview': ['b'], 'private': [], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'c'], 'd', {'a': 20, 'c': 40, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'b', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'b', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'd', 'background0', 'background1', 'background2', 'background3'], ['a'], None, {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 'preview': ['b'], 'private': ['c'], 'pins': ['d'], 'selected': 'd', 'scroll': {'a': 20, 'b': 0, 'c': 40, 'd': 60}}, [['a', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'b', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'd', 'background0', 'background1', 'background2', 'background3'], ['d'], 'd', {'a': 20, 'd': 60}]), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 'preview': ['b'], 'private': ['c'], 'pins': ['a', 'c'], 'selected': 'd', 'scroll': {'a': 0, 'b': 10, 'c': 20, 'd': 30}}, [['a', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'b', 'd', 'background0', 'background1', 'background2', 'background3'], ['a', 'd', 'background0', 'background1', 'background2', 'background3'], ['a'], 'd', {'a': 0, 'd': 30}])]}
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| workspace regression 0 | [['a', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], ['a'], 'd', {'a': 20, 'd': 60}] | [['a', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], ['a'], 'd', {'a': 20, 'd': 60}] | Passed |
| workspace regression 1 | [['a', 'b', 'c', 'd'], ['a', 'b', 'd'], ['a', 'b', 'd'], ['a'], 'd', {'a': 20, 'b': 0, 'd': 60}] | [['a', 'b', 'c', 'd'], ['a', 'b', 'd'], ['a', 'b', 'd'], ['a'], 'd', {'a': 20, 'b': 0, 'd': 60}] | Passed |
| workspace regression 2 | [['a', 'c', 'd'], ['a', 'b', 'c', 'd'], ['a', 'c', 'd'], ['a', 'c'], 'd', {'a': 20, 'c': 40, 'd': 60}] | [['a', 'c', 'd'], ['a', 'b', 'c', 'd'], ['a', 'c', 'd'], ['a', 'c'], 'd', {'a': 20, 'c': 40, 'd': 60}] | Passed |
| workspace regression 3 | [['a', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], ['a'], None, {'a': 20, 'd': 60}] | [['a', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], ['a'], None, {'a': 20, 'd': 60}] | Passed |
| workspace regression 4 | [['a', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], ['d'], 'd', {'a': 20, 'd': 60}] | [['a', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], ['d'], 'd', {'a': 20, 'd': 60}] | Passed |
| workspace regression 5 | [['a', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], ['a'], 'd', {'a': 0, 'd': 30}] | [['a', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], ['a'], 'd', {'a': 0, 'd': 30}] | Passed |
SHA-256 / eb2bf0f4ff3d7d1059b4936bde04f4acb4bbf91badb6baf6503338dd40a63065
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:43.630720+00:00.
Case digest / d140d280d41eb070f38d3cb961201c6d9db33edbd5c23f07e90b514b7f40b9e9