FAILURE MAP
← Case archive

FA-36356 / Tab interfaces / Open access

Maximize pane restore: restore active pane · case 01

The tab workspace reports an incorrect restore active pane.

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

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 fixtureActualExpectedOutcome
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 fixtureActualExpectedOutcome
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 fixtureActualExpectedOutcome
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