FA-36331 / Tab interfaces / Open access
Maximize pane restore: maximized visible pane · case 01
The tab workspace reports an incorrect maximized visible pane.
ROOT CAUSE
The maximized visible pane decision uses x['panes'] instead of x['panes'] if x['restore'] else [x['maximized']].
VERIFIED REPAIR
Use the stipulated workspace rule: x['panes'] 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']
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 | [['p', 'q', 'r'], [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'] | Failed |
| 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', 'q', 'r'], [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'] | Failed |
| workspace regression 3 | [['p', 'q', 'r'], [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'] | Failed |
| workspace regression 4 | [['p', 'q', 'r'], [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'] | Failed |
| workspace regression 5 | [['p', 'q', 'r'], [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'] | 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 / 0545c68a5eeb08293529ce8013e24d64cfcd45455649e57a447f9f3a0e59e540
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
r0 = [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 | [['q'], [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'] | Failed |
| 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 | [['q'], [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'] | Failed |
SHA-256 / b4e88d937baceb5953d895aa7afa71446977aec29aae2a3ddcd8a66c376f12bc
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.269273+00:00.
Case digest / 65a5a3bf979e366441ebec1814bc27792beb72ddf6669c6dfb7f60f4da809cef