FA-35891 / Tab interfaces / Open access
Collapse empty pane: promoted subtree · case 01
The tab workspace reports an incorrect promoted subtree.
ROOT CAUSE
The promoted subtree decision uses x['pane'] instead of x['sibling'] if x['remaining']==0 and not x['root'] else x['pane'].
VERIFIED REPAIR
Use the stipulated workspace rule: x['sibling'] if x['remaining']==0 and not x['root'] else x['pane'].
Unsuccessful approach: The partial repair x['sibling'] still violates a workspace boundary or normal case.
Case contract
A pane disappears only after its last tab closes; promote its sibling subtree, remove the separator, transfer active-pane ownership and retain sibling extent.
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['remaining']==0 and not x['root']
r1 = x['remaining']==0 and x['root']
r2 = x['pane']
r3 = x['gutter'] if x['remaining']==0 and not x['root'] else 0
r4 = x['sibling'] if x['remaining']==0 and not x['root'] and x['active']==x['pane'] else x['active']
r5 = x['width']+x['sibling_width']+x['gutter'] if x['remaining']==0 and not x['root'] else x['sibling_width']
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: [({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 300, 'sibling_width': 200, 'gutter': 8}, [True, False, 'q', 8, 'q', 508]), ({'remaining': 1, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 300, 'sibling_width': 200, 'gutter': 8}, [False, False, 'p', 0, 'p', 200]), ({'remaining': 0, 'root': True, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 300, 'sibling_width': 200, 'gutter': 8}, [False, True, 'p', 0, 'p', 200]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'q', 'width': 300, 'sibling_width': 200, 'gutter': 8}, [True, False, 'q', 8, 'q', 508]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 0, 'sibling_width': 200, 'gutter': 8}, [True, False, 'q', 8, 'q', 208]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 300, 'sibling_width': 200, 'gutter': 0}, [True, False, 'q', 0, 'q', 500]), ({'remaining': 1, 'root': True, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 300, 'sibling_width': 200, 'gutter': 8}, [False, False, 'p', 0, 'p', 200])], 2: [({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 600, 'sibling_width': 400, 'gutter': 16}, [True, False, 'q', 16, 'q', 1016]), ({'remaining': 1, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 600, 'sibling_width': 400, 'gutter': 16}, [False, False, 'p', 0, 'p', 400]), ({'remaining': 0, 'root': True, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 600, 'sibling_width': 400, 'gutter': 16}, [False, True, 'p', 0, 'p', 400]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'q', 'width': 600, 'sibling_width': 400, 'gutter': 16}, [True, False, 'q', 16, 'q', 1016]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 0, 'sibling_width': 400, 'gutter': 16}, [True, False, 'q', 16, 'q', 416]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 600, 'sibling_width': 400, 'gutter': 0}, [True, False, 'q', 0, 'q', 1000]), ({'remaining': 1, 'root': True, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 600, 'sibling_width': 400, 'gutter': 16}, [False, False, 'p', 0, 'p', 400])], 3: [({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 900, 'sibling_width': 600, 'gutter': 24}, [True, False, 'q', 24, 'q', 1524]), ({'remaining': 1, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 900, 'sibling_width': 600, 'gutter': 24}, [False, False, 'p', 0, 'p', 600]), ({'remaining': 0, 'root': True, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 900, 'sibling_width': 600, 'gutter': 24}, [False, True, 'p', 0, 'p', 600]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'q', 'width': 900, 'sibling_width': 600, 'gutter': 24}, [True, False, 'q', 24, 'q', 1524]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 0, 'sibling_width': 600, 'gutter': 24}, [True, False, 'q', 24, 'q', 624]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 900, 'sibling_width': 600, 'gutter': 0}, [True, False, 'q', 0, 'q', 1500]), ({'remaining': 1, 'root': True, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 900, 'sibling_width': 600, 'gutter': 24}, [False, False, 'p', 0, 'p', 600])], 4: [({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 1200, 'sibling_width': 800, 'gutter': 32}, [True, False, 'q', 32, 'q', 2032]), ({'remaining': 1, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 1200, 'sibling_width': 800, 'gutter': 32}, [False, False, 'p', 0, 'p', 800]), ({'remaining': 0, 'root': True, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 1200, 'sibling_width': 800, 'gutter': 32}, [False, True, 'p', 0, 'p', 800]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'q', 'width': 1200, 'sibling_width': 800, 'gutter': 32}, [True, False, 'q', 32, 'q', 2032]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 0, 'sibling_width': 800, 'gutter': 32}, [True, False, 'q', 32, 'q', 832]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 1200, 'sibling_width': 800, 'gutter': 0}, [True, False, 'q', 0, 'q', 2000]), ({'remaining': 1, 'root': True, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 1200, 'sibling_width': 800, 'gutter': 32}, [False, False, 'p', 0, 'p', 800])], 5: [({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 1500, 'sibling_width': 1000, 'gutter': 40}, [True, False, 'q', 40, 'q', 2540]), ({'remaining': 1, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 1500, 'sibling_width': 1000, 'gutter': 40}, [False, False, 'p', 0, 'p', 1000]), ({'remaining': 0, 'root': True, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 1500, 'sibling_width': 1000, 'gutter': 40}, [False, True, 'p', 0, 'p', 1000]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'q', 'width': 1500, 'sibling_width': 1000, 'gutter': 40}, [True, False, 'q', 40, 'q', 2540]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 0, 'sibling_width': 1000, 'gutter': 40}, [True, False, 'q', 40, 'q', 1040]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 1500, 'sibling_width': 1000, 'gutter': 0}, [True, False, 'q', 0, 'q', 2500]), ({'remaining': 1, 'root': True, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 1500, 'sibling_width': 1000, 'gutter': 40}, [False, False, 'p', 0, 'p', 1000])]}
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 | [True, False, 'p', 8, 'q', 508] | [True, False, 'q', 8, 'q', 508] | Failed |
| workspace regression 1 | [False, False, 'p', 0, 'p', 200] | [False, False, 'p', 0, 'p', 200] | Passed |
| workspace regression 2 | [False, True, 'p', 0, 'p', 200] | [False, True, 'p', 0, 'p', 200] | Passed |
| workspace regression 3 | [True, False, 'p', 8, 'q', 508] | [True, False, 'q', 8, 'q', 508] | Failed |
| workspace regression 4 | [True, False, 'p', 8, 'q', 208] | [True, False, 'q', 8, 'q', 208] | Failed |
| workspace regression 5 | [True, False, 'p', 0, 'q', 500] | [True, False, 'q', 0, 'q', 500] | Failed |
| workspace regression 6 | [False, False, 'p', 0, 'p', 200] | [False, False, 'p', 0, 'p', 200] | Passed |
SHA-256 / 004edf9acbc3b69e03d99d74794d1c2bb3905a4db8cb48afef8f1a019104aa08
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
r0 = x['remaining']==0 and not x['root']
r1 = x['remaining']==0 and x['root']
r2 = x['sibling']
r3 = x['gutter'] if x['remaining']==0 and not x['root'] else 0
r4 = x['sibling'] if x['remaining']==0 and not x['root'] and x['active']==x['pane'] else x['active']
r5 = x['width']+x['sibling_width']+x['gutter'] if x['remaining']==0 and not x['root'] else x['sibling_width']
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: [({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 300, 'sibling_width': 200, 'gutter': 8}, [True, False, 'q', 8, 'q', 508]), ({'remaining': 1, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 300, 'sibling_width': 200, 'gutter': 8}, [False, False, 'p', 0, 'p', 200]), ({'remaining': 0, 'root': True, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 300, 'sibling_width': 200, 'gutter': 8}, [False, True, 'p', 0, 'p', 200]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'q', 'width': 300, 'sibling_width': 200, 'gutter': 8}, [True, False, 'q', 8, 'q', 508]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 0, 'sibling_width': 200, 'gutter': 8}, [True, False, 'q', 8, 'q', 208]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 300, 'sibling_width': 200, 'gutter': 0}, [True, False, 'q', 0, 'q', 500]), ({'remaining': 1, 'root': True, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 300, 'sibling_width': 200, 'gutter': 8}, [False, False, 'p', 0, 'p', 200])], 2: [({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 600, 'sibling_width': 400, 'gutter': 16}, [True, False, 'q', 16, 'q', 1016]), ({'remaining': 1, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 600, 'sibling_width': 400, 'gutter': 16}, [False, False, 'p', 0, 'p', 400]), ({'remaining': 0, 'root': True, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 600, 'sibling_width': 400, 'gutter': 16}, [False, True, 'p', 0, 'p', 400]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'q', 'width': 600, 'sibling_width': 400, 'gutter': 16}, [True, False, 'q', 16, 'q', 1016]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 0, 'sibling_width': 400, 'gutter': 16}, [True, False, 'q', 16, 'q', 416]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 600, 'sibling_width': 400, 'gutter': 0}, [True, False, 'q', 0, 'q', 1000]), ({'remaining': 1, 'root': True, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 600, 'sibling_width': 400, 'gutter': 16}, [False, False, 'p', 0, 'p', 400])], 3: [({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 900, 'sibling_width': 600, 'gutter': 24}, [True, False, 'q', 24, 'q', 1524]), ({'remaining': 1, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 900, 'sibling_width': 600, 'gutter': 24}, [False, False, 'p', 0, 'p', 600]), ({'remaining': 0, 'root': True, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 900, 'sibling_width': 600, 'gutter': 24}, [False, True, 'p', 0, 'p', 600]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'q', 'width': 900, 'sibling_width': 600, 'gutter': 24}, [True, False, 'q', 24, 'q', 1524]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 0, 'sibling_width': 600, 'gutter': 24}, [True, False, 'q', 24, 'q', 624]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 900, 'sibling_width': 600, 'gutter': 0}, [True, False, 'q', 0, 'q', 1500]), ({'remaining': 1, 'root': True, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 900, 'sibling_width': 600, 'gutter': 24}, [False, False, 'p', 0, 'p', 600])], 4: [({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 1200, 'sibling_width': 800, 'gutter': 32}, [True, False, 'q', 32, 'q', 2032]), ({'remaining': 1, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 1200, 'sibling_width': 800, 'gutter': 32}, [False, False, 'p', 0, 'p', 800]), ({'remaining': 0, 'root': True, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 1200, 'sibling_width': 800, 'gutter': 32}, [False, True, 'p', 0, 'p', 800]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'q', 'width': 1200, 'sibling_width': 800, 'gutter': 32}, [True, False, 'q', 32, 'q', 2032]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 0, 'sibling_width': 800, 'gutter': 32}, [True, False, 'q', 32, 'q', 832]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 1200, 'sibling_width': 800, 'gutter': 0}, [True, False, 'q', 0, 'q', 2000]), ({'remaining': 1, 'root': True, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 1200, 'sibling_width': 800, 'gutter': 32}, [False, False, 'p', 0, 'p', 800])], 5: [({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 1500, 'sibling_width': 1000, 'gutter': 40}, [True, False, 'q', 40, 'q', 2540]), ({'remaining': 1, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 1500, 'sibling_width': 1000, 'gutter': 40}, [False, False, 'p', 0, 'p', 1000]), ({'remaining': 0, 'root': True, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 1500, 'sibling_width': 1000, 'gutter': 40}, [False, True, 'p', 0, 'p', 1000]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'q', 'width': 1500, 'sibling_width': 1000, 'gutter': 40}, [True, False, 'q', 40, 'q', 2540]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 0, 'sibling_width': 1000, 'gutter': 40}, [True, False, 'q', 40, 'q', 1040]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 1500, 'sibling_width': 1000, 'gutter': 0}, [True, False, 'q', 0, 'q', 2500]), ({'remaining': 1, 'root': True, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 1500, 'sibling_width': 1000, 'gutter': 40}, [False, False, 'p', 0, 'p', 1000])]}
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 | [True, False, 'q', 8, 'q', 508] | [True, False, 'q', 8, 'q', 508] | Passed |
| workspace regression 1 | [False, False, 'q', 0, 'p', 200] | [False, False, 'p', 0, 'p', 200] | Failed |
| workspace regression 2 | [False, True, 'q', 0, 'p', 200] | [False, True, 'p', 0, 'p', 200] | Failed |
| workspace regression 3 | [True, False, 'q', 8, 'q', 508] | [True, False, 'q', 8, 'q', 508] | Passed |
| workspace regression 4 | [True, False, 'q', 8, 'q', 208] | [True, False, 'q', 8, 'q', 208] | Passed |
| workspace regression 5 | [True, False, 'q', 0, 'q', 500] | [True, False, 'q', 0, 'q', 500] | Passed |
| workspace regression 6 | [False, False, 'q', 0, 'p', 200] | [False, False, 'p', 0, 'p', 200] | Failed |
SHA-256 / e7893c724e77e647f5f3476302c0f3c741c58d168bb0464332b3b4b758a5c1a7
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
r0 = x['remaining']==0 and not x['root']
r1 = x['remaining']==0 and x['root']
r2 = x['sibling'] if x['remaining']==0 and not x['root'] else x['pane']
r3 = x['gutter'] if x['remaining']==0 and not x['root'] else 0
r4 = x['sibling'] if x['remaining']==0 and not x['root'] and x['active']==x['pane'] else x['active']
r5 = x['width']+x['sibling_width']+x['gutter'] if x['remaining']==0 and not x['root'] else x['sibling_width']
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: [({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 300, 'sibling_width': 200, 'gutter': 8}, [True, False, 'q', 8, 'q', 508]), ({'remaining': 1, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 300, 'sibling_width': 200, 'gutter': 8}, [False, False, 'p', 0, 'p', 200]), ({'remaining': 0, 'root': True, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 300, 'sibling_width': 200, 'gutter': 8}, [False, True, 'p', 0, 'p', 200]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'q', 'width': 300, 'sibling_width': 200, 'gutter': 8}, [True, False, 'q', 8, 'q', 508]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 0, 'sibling_width': 200, 'gutter': 8}, [True, False, 'q', 8, 'q', 208]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 300, 'sibling_width': 200, 'gutter': 0}, [True, False, 'q', 0, 'q', 500]), ({'remaining': 1, 'root': True, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 300, 'sibling_width': 200, 'gutter': 8}, [False, False, 'p', 0, 'p', 200])], 2: [({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 600, 'sibling_width': 400, 'gutter': 16}, [True, False, 'q', 16, 'q', 1016]), ({'remaining': 1, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 600, 'sibling_width': 400, 'gutter': 16}, [False, False, 'p', 0, 'p', 400]), ({'remaining': 0, 'root': True, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 600, 'sibling_width': 400, 'gutter': 16}, [False, True, 'p', 0, 'p', 400]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'q', 'width': 600, 'sibling_width': 400, 'gutter': 16}, [True, False, 'q', 16, 'q', 1016]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 0, 'sibling_width': 400, 'gutter': 16}, [True, False, 'q', 16, 'q', 416]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 600, 'sibling_width': 400, 'gutter': 0}, [True, False, 'q', 0, 'q', 1000]), ({'remaining': 1, 'root': True, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 600, 'sibling_width': 400, 'gutter': 16}, [False, False, 'p', 0, 'p', 400])], 3: [({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 900, 'sibling_width': 600, 'gutter': 24}, [True, False, 'q', 24, 'q', 1524]), ({'remaining': 1, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 900, 'sibling_width': 600, 'gutter': 24}, [False, False, 'p', 0, 'p', 600]), ({'remaining': 0, 'root': True, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 900, 'sibling_width': 600, 'gutter': 24}, [False, True, 'p', 0, 'p', 600]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'q', 'width': 900, 'sibling_width': 600, 'gutter': 24}, [True, False, 'q', 24, 'q', 1524]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 0, 'sibling_width': 600, 'gutter': 24}, [True, False, 'q', 24, 'q', 624]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 900, 'sibling_width': 600, 'gutter': 0}, [True, False, 'q', 0, 'q', 1500]), ({'remaining': 1, 'root': True, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 900, 'sibling_width': 600, 'gutter': 24}, [False, False, 'p', 0, 'p', 600])], 4: [({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 1200, 'sibling_width': 800, 'gutter': 32}, [True, False, 'q', 32, 'q', 2032]), ({'remaining': 1, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 1200, 'sibling_width': 800, 'gutter': 32}, [False, False, 'p', 0, 'p', 800]), ({'remaining': 0, 'root': True, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 1200, 'sibling_width': 800, 'gutter': 32}, [False, True, 'p', 0, 'p', 800]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'q', 'width': 1200, 'sibling_width': 800, 'gutter': 32}, [True, False, 'q', 32, 'q', 2032]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 0, 'sibling_width': 800, 'gutter': 32}, [True, False, 'q', 32, 'q', 832]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 1200, 'sibling_width': 800, 'gutter': 0}, [True, False, 'q', 0, 'q', 2000]), ({'remaining': 1, 'root': True, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 1200, 'sibling_width': 800, 'gutter': 32}, [False, False, 'p', 0, 'p', 800])], 5: [({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 1500, 'sibling_width': 1000, 'gutter': 40}, [True, False, 'q', 40, 'q', 2540]), ({'remaining': 1, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 1500, 'sibling_width': 1000, 'gutter': 40}, [False, False, 'p', 0, 'p', 1000]), ({'remaining': 0, 'root': True, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 1500, 'sibling_width': 1000, 'gutter': 40}, [False, True, 'p', 0, 'p', 1000]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'q', 'width': 1500, 'sibling_width': 1000, 'gutter': 40}, [True, False, 'q', 40, 'q', 2540]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 0, 'sibling_width': 1000, 'gutter': 40}, [True, False, 'q', 40, 'q', 1040]), ({'remaining': 0, 'root': False, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 1500, 'sibling_width': 1000, 'gutter': 0}, [True, False, 'q', 0, 'q', 2500]), ({'remaining': 1, 'root': True, 'sibling': 'q', 'pane': 'p', 'active': 'p', 'width': 1500, 'sibling_width': 1000, 'gutter': 40}, [False, False, 'p', 0, 'p', 1000])]}
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 | [True, False, 'q', 8, 'q', 508] | [True, False, 'q', 8, 'q', 508] | Passed |
| workspace regression 1 | [False, False, 'p', 0, 'p', 200] | [False, False, 'p', 0, 'p', 200] | Passed |
| workspace regression 2 | [False, True, 'p', 0, 'p', 200] | [False, True, 'p', 0, 'p', 200] | Passed |
| workspace regression 3 | [True, False, 'q', 8, 'q', 508] | [True, False, 'q', 8, 'q', 508] | Passed |
| workspace regression 4 | [True, False, 'q', 8, 'q', 208] | [True, False, 'q', 8, 'q', 208] | Passed |
| workspace regression 5 | [True, False, 'q', 0, 'q', 500] | [True, False, 'q', 0, 'q', 500] | Passed |
| workspace regression 6 | [False, False, 'p', 0, 'p', 200] | [False, False, 'p', 0, 'p', 200] | Passed |
SHA-256 / 8f86eea3a98990eaa6ba06f75b86f7310aa526b995773ed962f0bb1201691b9f
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:45.855813+00:00.
Case digest / 19080e2bb2df111156973f5d15b1362fa9468e41620ad5d9616849ec61e10a1a