FA-36356 / Tab interfaces / Open access
Maximize pane restore: restore active pane · case 01
The tab workspace reports an incorrect restore active pane.
ROOT CAUSE
The restore active pane decision uses x['active'] instead of x['active'] if x['restore'] else x['maximized'].
VERIFIED REPAIR
Use the stipulated workspace rule: x['active'] if x['restore'] else x['maximized'].
Unsuccessful approach: The partial repair x['maximized'] still violates a workspace boundary or normal case.
Case contract
Maximizing a pane temporarily hides peers without changing split tree weights. Restoring returns saved divider positions, panel scroll positions and active pane.
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['panes'] if x['restore'] else [x['maximized']]
r1 = x['saved_weights']
r2 = x['panes']
r3 = [] if x['restore'] else [p for p in x['panes'] if p!=x['maximized']]
r4 = x['scroll']
r5 = x['active']
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: [({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 20, 'q': 40, 'r': 60}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 20, 'q': 40, 'r': 60}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': True, 'scroll': {'p': 20, 'q': 40, 'r': 60}, 'active': 'q'}, [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 20, 'q': 40, 'r': 60}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'p', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 20, 'q': 40, 'r': 60}, 'active': 'q'}, [['p'], [2, 3, 5], ['p', 'q', 'r'], ['q', 'r'], {'p': 20, 'q': 40, 'r': 60}, 'p']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [1, 1, 1], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 20, 'q': 40, 'r': 60}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 20, 'q': 40, 'r': 60}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 0, 'q': 1, 'r': 2}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 0, 'q': 1, 'r': 2}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 20, 'q': 40, 'r': 60}, 'active': 'r'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 20, 'q': 40, 'r': 60}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': True, 'scroll': {'p': 20, 'q': 40, 'r': 60}, 'active': 'r'}, [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 20, 'q': 40, 'r': 60}, 'r'])], 2: [({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 40, 'q': 80, 'r': 120}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 40, 'q': 80, 'r': 120}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': True, 'scroll': {'p': 40, 'q': 80, 'r': 120}, 'active': 'q'}, [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 40, 'q': 80, 'r': 120}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'p', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 40, 'q': 80, 'r': 120}, 'active': 'q'}, [['p'], [2, 3, 5], ['p', 'q', 'r'], ['q', 'r'], {'p': 40, 'q': 80, 'r': 120}, 'p']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [1, 1, 1], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 40, 'q': 80, 'r': 120}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 40, 'q': 80, 'r': 120}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 0, 'q': 2, 'r': 4}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 0, 'q': 2, 'r': 4}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 40, 'q': 80, 'r': 120}, 'active': 'r'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 40, 'q': 80, 'r': 120}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': True, 'scroll': {'p': 40, 'q': 80, 'r': 120}, 'active': 'r'}, [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 40, 'q': 80, 'r': 120}, 'r'])], 3: [({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 60, 'q': 120, 'r': 180}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 60, 'q': 120, 'r': 180}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': True, 'scroll': {'p': 60, 'q': 120, 'r': 180}, 'active': 'q'}, [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 60, 'q': 120, 'r': 180}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'p', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 60, 'q': 120, 'r': 180}, 'active': 'q'}, [['p'], [2, 3, 5], ['p', 'q', 'r'], ['q', 'r'], {'p': 60, 'q': 120, 'r': 180}, 'p']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [1, 1, 1], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 60, 'q': 120, 'r': 180}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 60, 'q': 120, 'r': 180}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 0, 'q': 3, 'r': 6}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 0, 'q': 3, 'r': 6}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 60, 'q': 120, 'r': 180}, 'active': 'r'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 60, 'q': 120, 'r': 180}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': True, 'scroll': {'p': 60, 'q': 120, 'r': 180}, 'active': 'r'}, [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 60, 'q': 120, 'r': 180}, 'r'])], 4: [({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 80, 'q': 160, 'r': 240}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 80, 'q': 160, 'r': 240}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': True, 'scroll': {'p': 80, 'q': 160, 'r': 240}, 'active': 'q'}, [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 80, 'q': 160, 'r': 240}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'p', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 80, 'q': 160, 'r': 240}, 'active': 'q'}, [['p'], [2, 3, 5], ['p', 'q', 'r'], ['q', 'r'], {'p': 80, 'q': 160, 'r': 240}, 'p']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [1, 1, 1], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 80, 'q': 160, 'r': 240}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 80, 'q': 160, 'r': 240}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 0, 'q': 4, 'r': 8}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 0, 'q': 4, 'r': 8}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 80, 'q': 160, 'r': 240}, 'active': 'r'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 80, 'q': 160, 'r': 240}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': True, 'scroll': {'p': 80, 'q': 160, 'r': 240}, 'active': 'r'}, [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 80, 'q': 160, 'r': 240}, 'r'])], 5: [({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 100, 'q': 200, 'r': 300}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 100, 'q': 200, 'r': 300}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': True, 'scroll': {'p': 100, 'q': 200, 'r': 300}, 'active': 'q'}, [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 100, 'q': 200, 'r': 300}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'p', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 100, 'q': 200, 'r': 300}, 'active': 'q'}, [['p'], [2, 3, 5], ['p', 'q', 'r'], ['q', 'r'], {'p': 100, 'q': 200, 'r': 300}, 'p']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [1, 1, 1], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 100, 'q': 200, 'r': 300}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 100, 'q': 200, 'r': 300}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 0, 'q': 5, 'r': 10}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 0, 'q': 5, 'r': 10}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 100, 'q': 200, 'r': 300}, 'active': 'r'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 100, 'q': 200, 'r': 300}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': True, 'scroll': {'p': 100, 'q': 200, 'r': 300}, 'active': 'r'}, [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 100, 'q': 200, 'r': 300}, 'r'])]}
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 | [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 20, 'q': 40, 'r': 60}, 'q'] | [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 20, 'q': 40, 'r': 60}, 'q'] | Passed |
| workspace regression 1 | [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 20, 'q': 40, 'r': 60}, 'q'] | [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 20, 'q': 40, 'r': 60}, 'q'] | Passed |
| workspace regression 2 | [['p'], [2, 3, 5], ['p', 'q', 'r'], ['q', 'r'], {'p': 20, 'q': 40, 'r': 60}, 'q'] | [['p'], [2, 3, 5], ['p', 'q', 'r'], ['q', 'r'], {'p': 20, 'q': 40, 'r': 60}, 'p'] | Failed |
| workspace regression 3 | [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 20, 'q': 40, 'r': 60}, 'q'] | [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 20, 'q': 40, 'r': 60}, 'q'] | Passed |
| workspace regression 4 | [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 0, 'q': 1, 'r': 2}, 'q'] | [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 0, 'q': 1, 'r': 2}, 'q'] | Passed |
| workspace regression 5 | [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 20, 'q': 40, 'r': 60}, 'r'] | [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 20, 'q': 40, 'r': 60}, 'q'] | Failed |
| workspace regression 6 | [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 20, 'q': 40, 'r': 60}, 'r'] | [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 20, 'q': 40, 'r': 60}, 'r'] | Passed |
SHA-256 / c021b49294ae5b048d7db8374042dfe18d9bd769c5c395f2cfc39ab1fac69ca4
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
r0 = x['panes'] if x['restore'] else [x['maximized']]
r1 = x['saved_weights']
r2 = x['panes']
r3 = [] if x['restore'] else [p for p in x['panes'] if p!=x['maximized']]
r4 = x['scroll']
r5 = x['maximized']
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: [({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 20, 'q': 40, 'r': 60}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 20, 'q': 40, 'r': 60}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': True, 'scroll': {'p': 20, 'q': 40, 'r': 60}, 'active': 'q'}, [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 20, 'q': 40, 'r': 60}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'p', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 20, 'q': 40, 'r': 60}, 'active': 'q'}, [['p'], [2, 3, 5], ['p', 'q', 'r'], ['q', 'r'], {'p': 20, 'q': 40, 'r': 60}, 'p']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [1, 1, 1], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 20, 'q': 40, 'r': 60}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 20, 'q': 40, 'r': 60}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 0, 'q': 1, 'r': 2}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 0, 'q': 1, 'r': 2}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 20, 'q': 40, 'r': 60}, 'active': 'r'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 20, 'q': 40, 'r': 60}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': True, 'scroll': {'p': 20, 'q': 40, 'r': 60}, 'active': 'r'}, [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 20, 'q': 40, 'r': 60}, 'r'])], 2: [({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 40, 'q': 80, 'r': 120}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 40, 'q': 80, 'r': 120}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': True, 'scroll': {'p': 40, 'q': 80, 'r': 120}, 'active': 'q'}, [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 40, 'q': 80, 'r': 120}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'p', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 40, 'q': 80, 'r': 120}, 'active': 'q'}, [['p'], [2, 3, 5], ['p', 'q', 'r'], ['q', 'r'], {'p': 40, 'q': 80, 'r': 120}, 'p']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [1, 1, 1], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 40, 'q': 80, 'r': 120}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 40, 'q': 80, 'r': 120}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 0, 'q': 2, 'r': 4}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 0, 'q': 2, 'r': 4}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 40, 'q': 80, 'r': 120}, 'active': 'r'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 40, 'q': 80, 'r': 120}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': True, 'scroll': {'p': 40, 'q': 80, 'r': 120}, 'active': 'r'}, [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 40, 'q': 80, 'r': 120}, 'r'])], 3: [({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 60, 'q': 120, 'r': 180}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 60, 'q': 120, 'r': 180}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': True, 'scroll': {'p': 60, 'q': 120, 'r': 180}, 'active': 'q'}, [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 60, 'q': 120, 'r': 180}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'p', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 60, 'q': 120, 'r': 180}, 'active': 'q'}, [['p'], [2, 3, 5], ['p', 'q', 'r'], ['q', 'r'], {'p': 60, 'q': 120, 'r': 180}, 'p']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [1, 1, 1], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 60, 'q': 120, 'r': 180}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 60, 'q': 120, 'r': 180}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 0, 'q': 3, 'r': 6}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 0, 'q': 3, 'r': 6}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 60, 'q': 120, 'r': 180}, 'active': 'r'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 60, 'q': 120, 'r': 180}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': True, 'scroll': {'p': 60, 'q': 120, 'r': 180}, 'active': 'r'}, [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 60, 'q': 120, 'r': 180}, 'r'])], 4: [({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 80, 'q': 160, 'r': 240}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 80, 'q': 160, 'r': 240}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': True, 'scroll': {'p': 80, 'q': 160, 'r': 240}, 'active': 'q'}, [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 80, 'q': 160, 'r': 240}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'p', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 80, 'q': 160, 'r': 240}, 'active': 'q'}, [['p'], [2, 3, 5], ['p', 'q', 'r'], ['q', 'r'], {'p': 80, 'q': 160, 'r': 240}, 'p']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [1, 1, 1], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 80, 'q': 160, 'r': 240}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 80, 'q': 160, 'r': 240}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 0, 'q': 4, 'r': 8}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 0, 'q': 4, 'r': 8}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 80, 'q': 160, 'r': 240}, 'active': 'r'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 80, 'q': 160, 'r': 240}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': True, 'scroll': {'p': 80, 'q': 160, 'r': 240}, 'active': 'r'}, [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 80, 'q': 160, 'r': 240}, 'r'])], 5: [({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 100, 'q': 200, 'r': 300}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 100, 'q': 200, 'r': 300}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': True, 'scroll': {'p': 100, 'q': 200, 'r': 300}, 'active': 'q'}, [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 100, 'q': 200, 'r': 300}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'p', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 100, 'q': 200, 'r': 300}, 'active': 'q'}, [['p'], [2, 3, 5], ['p', 'q', 'r'], ['q', 'r'], {'p': 100, 'q': 200, 'r': 300}, 'p']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [1, 1, 1], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 100, 'q': 200, 'r': 300}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 100, 'q': 200, 'r': 300}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 0, 'q': 5, 'r': 10}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 0, 'q': 5, 'r': 10}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 100, 'q': 200, 'r': 300}, 'active': 'r'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 100, 'q': 200, 'r': 300}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': True, 'scroll': {'p': 100, 'q': 200, 'r': 300}, 'active': 'r'}, [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 100, 'q': 200, 'r': 300}, 'r'])]}
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 | [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 20, 'q': 40, 'r': 60}, 'q'] | [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 20, 'q': 40, 'r': 60}, 'q'] | Passed |
| workspace regression 1 | [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 20, 'q': 40, 'r': 60}, 'q'] | [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 20, 'q': 40, 'r': 60}, 'q'] | Passed |
| workspace regression 2 | [['p'], [2, 3, 5], ['p', 'q', 'r'], ['q', 'r'], {'p': 20, 'q': 40, 'r': 60}, 'p'] | [['p'], [2, 3, 5], ['p', 'q', 'r'], ['q', 'r'], {'p': 20, 'q': 40, 'r': 60}, 'p'] | Passed |
| workspace regression 3 | [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 20, 'q': 40, 'r': 60}, 'q'] | [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 20, 'q': 40, 'r': 60}, 'q'] | Passed |
| workspace regression 4 | [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 0, 'q': 1, 'r': 2}, 'q'] | [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 0, 'q': 1, 'r': 2}, 'q'] | Passed |
| workspace regression 5 | [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 20, 'q': 40, 'r': 60}, 'q'] | [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 20, 'q': 40, 'r': 60}, 'q'] | Passed |
| workspace regression 6 | [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 20, 'q': 40, 'r': 60}, 'q'] | [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 20, 'q': 40, 'r': 60}, 'r'] | Failed |
SHA-256 / 2f270fb253c635564ec4734f91f3c34cdaf677a2efba6ea326f6e68fd28e1286
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
r0 = x['panes'] if x['restore'] else [x['maximized']]
r1 = x['saved_weights']
r2 = x['panes']
r3 = [] if x['restore'] else [p for p in x['panes'] if p!=x['maximized']]
r4 = x['scroll']
r5 = x['active'] if x['restore'] else x['maximized']
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: [({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 20, 'q': 40, 'r': 60}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 20, 'q': 40, 'r': 60}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': True, 'scroll': {'p': 20, 'q': 40, 'r': 60}, 'active': 'q'}, [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 20, 'q': 40, 'r': 60}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'p', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 20, 'q': 40, 'r': 60}, 'active': 'q'}, [['p'], [2, 3, 5], ['p', 'q', 'r'], ['q', 'r'], {'p': 20, 'q': 40, 'r': 60}, 'p']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [1, 1, 1], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 20, 'q': 40, 'r': 60}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 20, 'q': 40, 'r': 60}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 0, 'q': 1, 'r': 2}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 0, 'q': 1, 'r': 2}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 20, 'q': 40, 'r': 60}, 'active': 'r'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 20, 'q': 40, 'r': 60}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': True, 'scroll': {'p': 20, 'q': 40, 'r': 60}, 'active': 'r'}, [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 20, 'q': 40, 'r': 60}, 'r'])], 2: [({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 40, 'q': 80, 'r': 120}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 40, 'q': 80, 'r': 120}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': True, 'scroll': {'p': 40, 'q': 80, 'r': 120}, 'active': 'q'}, [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 40, 'q': 80, 'r': 120}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'p', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 40, 'q': 80, 'r': 120}, 'active': 'q'}, [['p'], [2, 3, 5], ['p', 'q', 'r'], ['q', 'r'], {'p': 40, 'q': 80, 'r': 120}, 'p']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [1, 1, 1], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 40, 'q': 80, 'r': 120}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 40, 'q': 80, 'r': 120}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 0, 'q': 2, 'r': 4}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 0, 'q': 2, 'r': 4}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 40, 'q': 80, 'r': 120}, 'active': 'r'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 40, 'q': 80, 'r': 120}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': True, 'scroll': {'p': 40, 'q': 80, 'r': 120}, 'active': 'r'}, [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 40, 'q': 80, 'r': 120}, 'r'])], 3: [({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 60, 'q': 120, 'r': 180}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 60, 'q': 120, 'r': 180}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': True, 'scroll': {'p': 60, 'q': 120, 'r': 180}, 'active': 'q'}, [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 60, 'q': 120, 'r': 180}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'p', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 60, 'q': 120, 'r': 180}, 'active': 'q'}, [['p'], [2, 3, 5], ['p', 'q', 'r'], ['q', 'r'], {'p': 60, 'q': 120, 'r': 180}, 'p']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [1, 1, 1], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 60, 'q': 120, 'r': 180}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 60, 'q': 120, 'r': 180}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 0, 'q': 3, 'r': 6}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 0, 'q': 3, 'r': 6}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 60, 'q': 120, 'r': 180}, 'active': 'r'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 60, 'q': 120, 'r': 180}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': True, 'scroll': {'p': 60, 'q': 120, 'r': 180}, 'active': 'r'}, [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 60, 'q': 120, 'r': 180}, 'r'])], 4: [({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 80, 'q': 160, 'r': 240}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 80, 'q': 160, 'r': 240}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': True, 'scroll': {'p': 80, 'q': 160, 'r': 240}, 'active': 'q'}, [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 80, 'q': 160, 'r': 240}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'p', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 80, 'q': 160, 'r': 240}, 'active': 'q'}, [['p'], [2, 3, 5], ['p', 'q', 'r'], ['q', 'r'], {'p': 80, 'q': 160, 'r': 240}, 'p']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [1, 1, 1], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 80, 'q': 160, 'r': 240}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 80, 'q': 160, 'r': 240}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 0, 'q': 4, 'r': 8}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 0, 'q': 4, 'r': 8}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 80, 'q': 160, 'r': 240}, 'active': 'r'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 80, 'q': 160, 'r': 240}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': True, 'scroll': {'p': 80, 'q': 160, 'r': 240}, 'active': 'r'}, [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 80, 'q': 160, 'r': 240}, 'r'])], 5: [({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 100, 'q': 200, 'r': 300}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 100, 'q': 200, 'r': 300}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': True, 'scroll': {'p': 100, 'q': 200, 'r': 300}, 'active': 'q'}, [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 100, 'q': 200, 'r': 300}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'p', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 100, 'q': 200, 'r': 300}, 'active': 'q'}, [['p'], [2, 3, 5], ['p', 'q', 'r'], ['q', 'r'], {'p': 100, 'q': 200, 'r': 300}, 'p']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [1, 1, 1], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 100, 'q': 200, 'r': 300}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 100, 'q': 200, 'r': 300}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 0, 'q': 5, 'r': 10}, 'active': 'q'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 0, 'q': 5, 'r': 10}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': False, 'scroll': {'p': 100, 'q': 200, 'r': 300}, 'active': 'r'}, [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 100, 'q': 200, 'r': 300}, 'q']), ({'panes': ['p', 'q', 'r'], 'maximized': 'q', 'weights': [2, 3, 5], 'saved_weights': [2, 3, 5], 'restore': True, 'scroll': {'p': 100, 'q': 200, 'r': 300}, 'active': 'r'}, [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 100, 'q': 200, 'r': 300}, 'r'])]}
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 | [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 20, 'q': 40, 'r': 60}, 'q'] | [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 20, 'q': 40, 'r': 60}, 'q'] | Passed |
| workspace regression 1 | [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 20, 'q': 40, 'r': 60}, 'q'] | [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 20, 'q': 40, 'r': 60}, 'q'] | Passed |
| workspace regression 2 | [['p'], [2, 3, 5], ['p', 'q', 'r'], ['q', 'r'], {'p': 20, 'q': 40, 'r': 60}, 'p'] | [['p'], [2, 3, 5], ['p', 'q', 'r'], ['q', 'r'], {'p': 20, 'q': 40, 'r': 60}, 'p'] | Passed |
| workspace regression 3 | [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 20, 'q': 40, 'r': 60}, 'q'] | [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 20, 'q': 40, 'r': 60}, 'q'] | Passed |
| workspace regression 4 | [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 0, 'q': 1, 'r': 2}, 'q'] | [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 0, 'q': 1, 'r': 2}, 'q'] | Passed |
| workspace regression 5 | [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 20, 'q': 40, 'r': 60}, 'q'] | [['q'], [2, 3, 5], ['p', 'q', 'r'], ['p', 'r'], {'p': 20, 'q': 40, 'r': 60}, 'q'] | Passed |
| workspace regression 6 | [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 20, 'q': 40, 'r': 60}, 'r'] | [['p', 'q', 'r'], [2, 3, 5], ['p', 'q', 'r'], [], {'p': 20, 'q': 40, 'r': 60}, 'r'] | Passed |
SHA-256 / 3e94638385b8b9b75861c61d9655333e420f655223a72d5c7815fa7f9a11ff87
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:50.420865+00:00.
Case digest / ecc88696e7882645944939907224a8e3c919ccee7ff6e66793c081882748de34