FA-35656 / Tab interfaces / Open access
Session persistence: pin references · case 01
The tab workspace reports an incorrect pin references.
ROOT CAUSE
The pin references decision uses x['pins'] instead of [t for t in x['pins'] if t not in x['preview'] and t not in x['private']].
VERIFIED REPAIR
Use the stipulated workspace rule: [t for t in x['pins'] if t not in x['preview'] and t not in x['private']].
Unsuccessful approach: The partial repair [] 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 = [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 = x['pins']
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', 'c'], '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', 'c'], '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 | [['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', 'c'], None, {'a': 20, 'd': 60}] | [['a', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], ['a'], None, {'a': 20, 'd': 60}] | Failed |
| 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', 'c'], 'd', {'a': 0, 'd': 30}] | [['a', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], ['a'], 'd', {'a': 0, 'd': 30}] | Failed |
SHA-256 / 3fb7ea63a3cf8ab1957711f080cad9e421598dc269d7a2bf3f2f5e6c92a9bad5
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 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 = []
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'], [], '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'], [], '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 | [['a', 'c', 'd'], ['a', 'b', 'c', 'd'], ['a', 'c', 'd'], [], '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', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], [], None, {'a': 20, 'd': 60}] | [['a', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], ['a'], None, {'a': 20, 'd': 60}] | Failed |
| workspace regression 4 | [['a', 'c', 'd'], ['a', 'b', 'd'], ['a', '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', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], [], 'd', {'a': 0, 'd': 30}] | [['a', 'c', 'd'], ['a', 'b', 'd'], ['a', 'd'], ['a'], 'd', {'a': 0, 'd': 30}] | Failed |
SHA-256 / c1243b0b123314c0e4027d3fa56b391d8803f865dab35cf3dce324f38c779aea
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.676677+00:00.
Case digest / 1ae9e98b6b1d10f976381dd1439782997a081aa9193d9b7f726baa49c5610911