FA-36701 / Tab interfaces / Open access
Discarded tab revival: discard locator retention · case 01
The tab workspace reports an incorrect discard locator retention.
ROOT CAUSE
The discard locator retention decision uses None if x['discarded'] else x['locator'] instead of x['locator'].
VERIFIED REPAIR
Use the stipulated workspace rule: x['locator'].
Unsuccessful approach: The partial repair None still violates a workspace boundary or normal case.
Case contract
Discarding a clean inactive tab releases renderer memory but retains its tab entry and document locator. Activating a discarded tab revives it once and restores saved scroll.
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 = not x['active'] and not x['dirty']
r1 = 0 if x['discarded'] else x['memory']
r2 = None if x['discarded'] else x['locator']
r3 = x['discarded'] and x['active'] and not x['loading']
r4 = x['scroll']
r5 = x['discarded'] and not x['loading']
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: [({'discarded': True, 'active': False, 'dirty': False, 'memory': 80, 'scroll': 240, 'locator': 'file:d', 'loading': False}, [True, 0, 'file:d', False, 240, True]), ({'discarded': True, 'active': True, 'dirty': False, 'memory': 80, 'scroll': 240, 'locator': 'file:d', 'loading': False}, [False, 0, 'file:d', True, 240, True]), ({'discarded': True, 'active': False, 'dirty': True, 'memory': 80, 'scroll': 240, 'locator': 'file:d', 'loading': False}, [False, 0, 'file:d', False, 240, True]), ({'discarded': True, 'active': False, 'dirty': False, 'memory': 80, 'scroll': 240, 'locator': 'file:d', 'loading': True}, [True, 0, 'file:d', False, 240, False]), ({'discarded': False, 'active': False, 'dirty': False, 'memory': 80, 'scroll': 240, 'locator': 'file:d', 'loading': False}, [True, 80, 'file:d', False, 240, False]), ({'discarded': True, 'active': False, 'dirty': False, 'memory': 80, 'scroll': 0, 'locator': 'file:d', 'loading': False}, [True, 0, 'file:d', False, 0, True]), ({'discarded': True, 'active': True, 'dirty': False, 'memory': 80, 'scroll': 240, 'locator': 'file:d', 'loading': True}, [False, 0, 'file:d', False, 240, False]), ({'discarded': False, 'active': True, 'dirty': False, 'memory': 80, 'scroll': 240, 'locator': 'file:d', 'loading': False}, [False, 80, 'file:d', False, 240, False])], 2: [({'discarded': True, 'active': False, 'dirty': False, 'memory': 160, 'scroll': 480, 'locator': 'file:d', 'loading': False}, [True, 0, 'file:d', False, 480, True]), ({'discarded': True, 'active': True, 'dirty': False, 'memory': 160, 'scroll': 480, 'locator': 'file:d', 'loading': False}, [False, 0, 'file:d', True, 480, True]), ({'discarded': True, 'active': False, 'dirty': True, 'memory': 160, 'scroll': 480, 'locator': 'file:d', 'loading': False}, [False, 0, 'file:d', False, 480, True]), ({'discarded': True, 'active': False, 'dirty': False, 'memory': 160, 'scroll': 480, 'locator': 'file:d', 'loading': True}, [True, 0, 'file:d', False, 480, False]), ({'discarded': False, 'active': False, 'dirty': False, 'memory': 160, 'scroll': 480, 'locator': 'file:d', 'loading': False}, [True, 160, 'file:d', False, 480, False]), ({'discarded': True, 'active': False, 'dirty': False, 'memory': 160, 'scroll': 0, 'locator': 'file:d', 'loading': False}, [True, 0, 'file:d', False, 0, True]), ({'discarded': True, 'active': True, 'dirty': False, 'memory': 160, 'scroll': 480, 'locator': 'file:d', 'loading': True}, [False, 0, 'file:d', False, 480, False]), ({'discarded': False, 'active': True, 'dirty': False, 'memory': 160, 'scroll': 480, 'locator': 'file:d', 'loading': False}, [False, 160, 'file:d', False, 480, False])], 3: [({'discarded': True, 'active': False, 'dirty': False, 'memory': 240, 'scroll': 720, 'locator': 'file:d', 'loading': False}, [True, 0, 'file:d', False, 720, True]), ({'discarded': True, 'active': True, 'dirty': False, 'memory': 240, 'scroll': 720, 'locator': 'file:d', 'loading': False}, [False, 0, 'file:d', True, 720, True]), ({'discarded': True, 'active': False, 'dirty': True, 'memory': 240, 'scroll': 720, 'locator': 'file:d', 'loading': False}, [False, 0, 'file:d', False, 720, True]), ({'discarded': True, 'active': False, 'dirty': False, 'memory': 240, 'scroll': 720, 'locator': 'file:d', 'loading': True}, [True, 0, 'file:d', False, 720, False]), ({'discarded': False, 'active': False, 'dirty': False, 'memory': 240, 'scroll': 720, 'locator': 'file:d', 'loading': False}, [True, 240, 'file:d', False, 720, False]), ({'discarded': True, 'active': False, 'dirty': False, 'memory': 240, 'scroll': 0, 'locator': 'file:d', 'loading': False}, [True, 0, 'file:d', False, 0, True]), ({'discarded': True, 'active': True, 'dirty': False, 'memory': 240, 'scroll': 720, 'locator': 'file:d', 'loading': True}, [False, 0, 'file:d', False, 720, False]), ({'discarded': False, 'active': True, 'dirty': False, 'memory': 240, 'scroll': 720, 'locator': 'file:d', 'loading': False}, [False, 240, 'file:d', False, 720, False])], 4: [({'discarded': True, 'active': False, 'dirty': False, 'memory': 320, 'scroll': 960, 'locator': 'file:d', 'loading': False}, [True, 0, 'file:d', False, 960, True]), ({'discarded': True, 'active': True, 'dirty': False, 'memory': 320, 'scroll': 960, 'locator': 'file:d', 'loading': False}, [False, 0, 'file:d', True, 960, True]), ({'discarded': True, 'active': False, 'dirty': True, 'memory': 320, 'scroll': 960, 'locator': 'file:d', 'loading': False}, [False, 0, 'file:d', False, 960, True]), ({'discarded': True, 'active': False, 'dirty': False, 'memory': 320, 'scroll': 960, 'locator': 'file:d', 'loading': True}, [True, 0, 'file:d', False, 960, False]), ({'discarded': False, 'active': False, 'dirty': False, 'memory': 320, 'scroll': 960, 'locator': 'file:d', 'loading': False}, [True, 320, 'file:d', False, 960, False]), ({'discarded': True, 'active': False, 'dirty': False, 'memory': 320, 'scroll': 0, 'locator': 'file:d', 'loading': False}, [True, 0, 'file:d', False, 0, True]), ({'discarded': True, 'active': True, 'dirty': False, 'memory': 320, 'scroll': 960, 'locator': 'file:d', 'loading': True}, [False, 0, 'file:d', False, 960, False]), ({'discarded': False, 'active': True, 'dirty': False, 'memory': 320, 'scroll': 960, 'locator': 'file:d', 'loading': False}, [False, 320, 'file:d', False, 960, False])], 5: [({'discarded': True, 'active': False, 'dirty': False, 'memory': 400, 'scroll': 1200, 'locator': 'file:d', 'loading': False}, [True, 0, 'file:d', False, 1200, True]), ({'discarded': True, 'active': True, 'dirty': False, 'memory': 400, 'scroll': 1200, 'locator': 'file:d', 'loading': False}, [False, 0, 'file:d', True, 1200, True]), ({'discarded': True, 'active': False, 'dirty': True, 'memory': 400, 'scroll': 1200, 'locator': 'file:d', 'loading': False}, [False, 0, 'file:d', False, 1200, True]), ({'discarded': True, 'active': False, 'dirty': False, 'memory': 400, 'scroll': 1200, 'locator': 'file:d', 'loading': True}, [True, 0, 'file:d', False, 1200, False]), ({'discarded': False, 'active': False, 'dirty': False, 'memory': 400, 'scroll': 1200, 'locator': 'file:d', 'loading': False}, [True, 400, 'file:d', False, 1200, False]), ({'discarded': True, 'active': False, 'dirty': False, 'memory': 400, 'scroll': 0, 'locator': 'file:d', 'loading': False}, [True, 0, 'file:d', False, 0, True]), ({'discarded': True, 'active': True, 'dirty': False, 'memory': 400, 'scroll': 1200, 'locator': 'file:d', 'loading': True}, [False, 0, 'file:d', False, 1200, False]), ({'discarded': False, 'active': True, 'dirty': False, 'memory': 400, 'scroll': 1200, 'locator': 'file:d', 'loading': False}, [False, 400, 'file:d', False, 1200, False])]}
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, 0, None, False, 240, True] | [True, 0, 'file:d', False, 240, True] | Failed |
| workspace regression 1 | [False, 0, None, True, 240, True] | [False, 0, 'file:d', True, 240, True] | Failed |
| workspace regression 2 | [False, 0, None, False, 240, True] | [False, 0, 'file:d', False, 240, True] | Failed |
| workspace regression 3 | [True, 0, None, False, 240, False] | [True, 0, 'file:d', False, 240, False] | Failed |
| workspace regression 4 | [True, 80, 'file:d', False, 240, False] | [True, 80, 'file:d', False, 240, False] | Passed |
| workspace regression 5 | [True, 0, None, False, 0, True] | [True, 0, 'file:d', False, 0, True] | Failed |
| workspace regression 6 | [False, 0, None, False, 240, False] | [False, 0, 'file:d', False, 240, False] | Failed |
| workspace regression 7 | [False, 80, 'file:d', False, 240, False] | [False, 80, 'file:d', False, 240, False] | Passed |
SHA-256 / 54d79300b5e8a431bedc4db7cdbd890b4682a1e2c46f85a594712d6f1caeb0d1
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
r0 = not x['active'] and not x['dirty']
r1 = 0 if x['discarded'] else x['memory']
r2 = None
r3 = x['discarded'] and x['active'] and not x['loading']
r4 = x['scroll']
r5 = x['discarded'] and not x['loading']
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: [({'discarded': True, 'active': False, 'dirty': False, 'memory': 80, 'scroll': 240, 'locator': 'file:d', 'loading': False}, [True, 0, 'file:d', False, 240, True]), ({'discarded': True, 'active': True, 'dirty': False, 'memory': 80, 'scroll': 240, 'locator': 'file:d', 'loading': False}, [False, 0, 'file:d', True, 240, True]), ({'discarded': True, 'active': False, 'dirty': True, 'memory': 80, 'scroll': 240, 'locator': 'file:d', 'loading': False}, [False, 0, 'file:d', False, 240, True]), ({'discarded': True, 'active': False, 'dirty': False, 'memory': 80, 'scroll': 240, 'locator': 'file:d', 'loading': True}, [True, 0, 'file:d', False, 240, False]), ({'discarded': False, 'active': False, 'dirty': False, 'memory': 80, 'scroll': 240, 'locator': 'file:d', 'loading': False}, [True, 80, 'file:d', False, 240, False]), ({'discarded': True, 'active': False, 'dirty': False, 'memory': 80, 'scroll': 0, 'locator': 'file:d', 'loading': False}, [True, 0, 'file:d', False, 0, True]), ({'discarded': True, 'active': True, 'dirty': False, 'memory': 80, 'scroll': 240, 'locator': 'file:d', 'loading': True}, [False, 0, 'file:d', False, 240, False]), ({'discarded': False, 'active': True, 'dirty': False, 'memory': 80, 'scroll': 240, 'locator': 'file:d', 'loading': False}, [False, 80, 'file:d', False, 240, False])], 2: [({'discarded': True, 'active': False, 'dirty': False, 'memory': 160, 'scroll': 480, 'locator': 'file:d', 'loading': False}, [True, 0, 'file:d', False, 480, True]), ({'discarded': True, 'active': True, 'dirty': False, 'memory': 160, 'scroll': 480, 'locator': 'file:d', 'loading': False}, [False, 0, 'file:d', True, 480, True]), ({'discarded': True, 'active': False, 'dirty': True, 'memory': 160, 'scroll': 480, 'locator': 'file:d', 'loading': False}, [False, 0, 'file:d', False, 480, True]), ({'discarded': True, 'active': False, 'dirty': False, 'memory': 160, 'scroll': 480, 'locator': 'file:d', 'loading': True}, [True, 0, 'file:d', False, 480, False]), ({'discarded': False, 'active': False, 'dirty': False, 'memory': 160, 'scroll': 480, 'locator': 'file:d', 'loading': False}, [True, 160, 'file:d', False, 480, False]), ({'discarded': True, 'active': False, 'dirty': False, 'memory': 160, 'scroll': 0, 'locator': 'file:d', 'loading': False}, [True, 0, 'file:d', False, 0, True]), ({'discarded': True, 'active': True, 'dirty': False, 'memory': 160, 'scroll': 480, 'locator': 'file:d', 'loading': True}, [False, 0, 'file:d', False, 480, False]), ({'discarded': False, 'active': True, 'dirty': False, 'memory': 160, 'scroll': 480, 'locator': 'file:d', 'loading': False}, [False, 160, 'file:d', False, 480, False])], 3: [({'discarded': True, 'active': False, 'dirty': False, 'memory': 240, 'scroll': 720, 'locator': 'file:d', 'loading': False}, [True, 0, 'file:d', False, 720, True]), ({'discarded': True, 'active': True, 'dirty': False, 'memory': 240, 'scroll': 720, 'locator': 'file:d', 'loading': False}, [False, 0, 'file:d', True, 720, True]), ({'discarded': True, 'active': False, 'dirty': True, 'memory': 240, 'scroll': 720, 'locator': 'file:d', 'loading': False}, [False, 0, 'file:d', False, 720, True]), ({'discarded': True, 'active': False, 'dirty': False, 'memory': 240, 'scroll': 720, 'locator': 'file:d', 'loading': True}, [True, 0, 'file:d', False, 720, False]), ({'discarded': False, 'active': False, 'dirty': False, 'memory': 240, 'scroll': 720, 'locator': 'file:d', 'loading': False}, [True, 240, 'file:d', False, 720, False]), ({'discarded': True, 'active': False, 'dirty': False, 'memory': 240, 'scroll': 0, 'locator': 'file:d', 'loading': False}, [True, 0, 'file:d', False, 0, True]), ({'discarded': True, 'active': True, 'dirty': False, 'memory': 240, 'scroll': 720, 'locator': 'file:d', 'loading': True}, [False, 0, 'file:d', False, 720, False]), ({'discarded': False, 'active': True, 'dirty': False, 'memory': 240, 'scroll': 720, 'locator': 'file:d', 'loading': False}, [False, 240, 'file:d', False, 720, False])], 4: [({'discarded': True, 'active': False, 'dirty': False, 'memory': 320, 'scroll': 960, 'locator': 'file:d', 'loading': False}, [True, 0, 'file:d', False, 960, True]), ({'discarded': True, 'active': True, 'dirty': False, 'memory': 320, 'scroll': 960, 'locator': 'file:d', 'loading': False}, [False, 0, 'file:d', True, 960, True]), ({'discarded': True, 'active': False, 'dirty': True, 'memory': 320, 'scroll': 960, 'locator': 'file:d', 'loading': False}, [False, 0, 'file:d', False, 960, True]), ({'discarded': True, 'active': False, 'dirty': False, 'memory': 320, 'scroll': 960, 'locator': 'file:d', 'loading': True}, [True, 0, 'file:d', False, 960, False]), ({'discarded': False, 'active': False, 'dirty': False, 'memory': 320, 'scroll': 960, 'locator': 'file:d', 'loading': False}, [True, 320, 'file:d', False, 960, False]), ({'discarded': True, 'active': False, 'dirty': False, 'memory': 320, 'scroll': 0, 'locator': 'file:d', 'loading': False}, [True, 0, 'file:d', False, 0, True]), ({'discarded': True, 'active': True, 'dirty': False, 'memory': 320, 'scroll': 960, 'locator': 'file:d', 'loading': True}, [False, 0, 'file:d', False, 960, False]), ({'discarded': False, 'active': True, 'dirty': False, 'memory': 320, 'scroll': 960, 'locator': 'file:d', 'loading': False}, [False, 320, 'file:d', False, 960, False])], 5: [({'discarded': True, 'active': False, 'dirty': False, 'memory': 400, 'scroll': 1200, 'locator': 'file:d', 'loading': False}, [True, 0, 'file:d', False, 1200, True]), ({'discarded': True, 'active': True, 'dirty': False, 'memory': 400, 'scroll': 1200, 'locator': 'file:d', 'loading': False}, [False, 0, 'file:d', True, 1200, True]), ({'discarded': True, 'active': False, 'dirty': True, 'memory': 400, 'scroll': 1200, 'locator': 'file:d', 'loading': False}, [False, 0, 'file:d', False, 1200, True]), ({'discarded': True, 'active': False, 'dirty': False, 'memory': 400, 'scroll': 1200, 'locator': 'file:d', 'loading': True}, [True, 0, 'file:d', False, 1200, False]), ({'discarded': False, 'active': False, 'dirty': False, 'memory': 400, 'scroll': 1200, 'locator': 'file:d', 'loading': False}, [True, 400, 'file:d', False, 1200, False]), ({'discarded': True, 'active': False, 'dirty': False, 'memory': 400, 'scroll': 0, 'locator': 'file:d', 'loading': False}, [True, 0, 'file:d', False, 0, True]), ({'discarded': True, 'active': True, 'dirty': False, 'memory': 400, 'scroll': 1200, 'locator': 'file:d', 'loading': True}, [False, 0, 'file:d', False, 1200, False]), ({'discarded': False, 'active': True, 'dirty': False, 'memory': 400, 'scroll': 1200, 'locator': 'file:d', 'loading': False}, [False, 400, 'file:d', False, 1200, False])]}
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, 0, None, False, 240, True] | [True, 0, 'file:d', False, 240, True] | Failed |
| workspace regression 1 | [False, 0, None, True, 240, True] | [False, 0, 'file:d', True, 240, True] | Failed |
| workspace regression 2 | [False, 0, None, False, 240, True] | [False, 0, 'file:d', False, 240, True] | Failed |
| workspace regression 3 | [True, 0, None, False, 240, False] | [True, 0, 'file:d', False, 240, False] | Failed |
| workspace regression 4 | [True, 80, None, False, 240, False] | [True, 80, 'file:d', False, 240, False] | Failed |
| workspace regression 5 | [True, 0, None, False, 0, True] | [True, 0, 'file:d', False, 0, True] | Failed |
| workspace regression 6 | [False, 0, None, False, 240, False] | [False, 0, 'file:d', False, 240, False] | Failed |
| workspace regression 7 | [False, 80, None, False, 240, False] | [False, 80, 'file:d', False, 240, False] | Failed |
SHA-256 / d8bd30b9e82e069f01bc7cba4af6ca8690c2f636655004219b9546963cff1a5b
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
r0 = not x['active'] and not x['dirty']
r1 = 0 if x['discarded'] else x['memory']
r2 = x['locator']
r3 = x['discarded'] and x['active'] and not x['loading']
r4 = x['scroll']
r5 = x['discarded'] and not x['loading']
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: [({'discarded': True, 'active': False, 'dirty': False, 'memory': 80, 'scroll': 240, 'locator': 'file:d', 'loading': False}, [True, 0, 'file:d', False, 240, True]), ({'discarded': True, 'active': True, 'dirty': False, 'memory': 80, 'scroll': 240, 'locator': 'file:d', 'loading': False}, [False, 0, 'file:d', True, 240, True]), ({'discarded': True, 'active': False, 'dirty': True, 'memory': 80, 'scroll': 240, 'locator': 'file:d', 'loading': False}, [False, 0, 'file:d', False, 240, True]), ({'discarded': True, 'active': False, 'dirty': False, 'memory': 80, 'scroll': 240, 'locator': 'file:d', 'loading': True}, [True, 0, 'file:d', False, 240, False]), ({'discarded': False, 'active': False, 'dirty': False, 'memory': 80, 'scroll': 240, 'locator': 'file:d', 'loading': False}, [True, 80, 'file:d', False, 240, False]), ({'discarded': True, 'active': False, 'dirty': False, 'memory': 80, 'scroll': 0, 'locator': 'file:d', 'loading': False}, [True, 0, 'file:d', False, 0, True]), ({'discarded': True, 'active': True, 'dirty': False, 'memory': 80, 'scroll': 240, 'locator': 'file:d', 'loading': True}, [False, 0, 'file:d', False, 240, False]), ({'discarded': False, 'active': True, 'dirty': False, 'memory': 80, 'scroll': 240, 'locator': 'file:d', 'loading': False}, [False, 80, 'file:d', False, 240, False])], 2: [({'discarded': True, 'active': False, 'dirty': False, 'memory': 160, 'scroll': 480, 'locator': 'file:d', 'loading': False}, [True, 0, 'file:d', False, 480, True]), ({'discarded': True, 'active': True, 'dirty': False, 'memory': 160, 'scroll': 480, 'locator': 'file:d', 'loading': False}, [False, 0, 'file:d', True, 480, True]), ({'discarded': True, 'active': False, 'dirty': True, 'memory': 160, 'scroll': 480, 'locator': 'file:d', 'loading': False}, [False, 0, 'file:d', False, 480, True]), ({'discarded': True, 'active': False, 'dirty': False, 'memory': 160, 'scroll': 480, 'locator': 'file:d', 'loading': True}, [True, 0, 'file:d', False, 480, False]), ({'discarded': False, 'active': False, 'dirty': False, 'memory': 160, 'scroll': 480, 'locator': 'file:d', 'loading': False}, [True, 160, 'file:d', False, 480, False]), ({'discarded': True, 'active': False, 'dirty': False, 'memory': 160, 'scroll': 0, 'locator': 'file:d', 'loading': False}, [True, 0, 'file:d', False, 0, True]), ({'discarded': True, 'active': True, 'dirty': False, 'memory': 160, 'scroll': 480, 'locator': 'file:d', 'loading': True}, [False, 0, 'file:d', False, 480, False]), ({'discarded': False, 'active': True, 'dirty': False, 'memory': 160, 'scroll': 480, 'locator': 'file:d', 'loading': False}, [False, 160, 'file:d', False, 480, False])], 3: [({'discarded': True, 'active': False, 'dirty': False, 'memory': 240, 'scroll': 720, 'locator': 'file:d', 'loading': False}, [True, 0, 'file:d', False, 720, True]), ({'discarded': True, 'active': True, 'dirty': False, 'memory': 240, 'scroll': 720, 'locator': 'file:d', 'loading': False}, [False, 0, 'file:d', True, 720, True]), ({'discarded': True, 'active': False, 'dirty': True, 'memory': 240, 'scroll': 720, 'locator': 'file:d', 'loading': False}, [False, 0, 'file:d', False, 720, True]), ({'discarded': True, 'active': False, 'dirty': False, 'memory': 240, 'scroll': 720, 'locator': 'file:d', 'loading': True}, [True, 0, 'file:d', False, 720, False]), ({'discarded': False, 'active': False, 'dirty': False, 'memory': 240, 'scroll': 720, 'locator': 'file:d', 'loading': False}, [True, 240, 'file:d', False, 720, False]), ({'discarded': True, 'active': False, 'dirty': False, 'memory': 240, 'scroll': 0, 'locator': 'file:d', 'loading': False}, [True, 0, 'file:d', False, 0, True]), ({'discarded': True, 'active': True, 'dirty': False, 'memory': 240, 'scroll': 720, 'locator': 'file:d', 'loading': True}, [False, 0, 'file:d', False, 720, False]), ({'discarded': False, 'active': True, 'dirty': False, 'memory': 240, 'scroll': 720, 'locator': 'file:d', 'loading': False}, [False, 240, 'file:d', False, 720, False])], 4: [({'discarded': True, 'active': False, 'dirty': False, 'memory': 320, 'scroll': 960, 'locator': 'file:d', 'loading': False}, [True, 0, 'file:d', False, 960, True]), ({'discarded': True, 'active': True, 'dirty': False, 'memory': 320, 'scroll': 960, 'locator': 'file:d', 'loading': False}, [False, 0, 'file:d', True, 960, True]), ({'discarded': True, 'active': False, 'dirty': True, 'memory': 320, 'scroll': 960, 'locator': 'file:d', 'loading': False}, [False, 0, 'file:d', False, 960, True]), ({'discarded': True, 'active': False, 'dirty': False, 'memory': 320, 'scroll': 960, 'locator': 'file:d', 'loading': True}, [True, 0, 'file:d', False, 960, False]), ({'discarded': False, 'active': False, 'dirty': False, 'memory': 320, 'scroll': 960, 'locator': 'file:d', 'loading': False}, [True, 320, 'file:d', False, 960, False]), ({'discarded': True, 'active': False, 'dirty': False, 'memory': 320, 'scroll': 0, 'locator': 'file:d', 'loading': False}, [True, 0, 'file:d', False, 0, True]), ({'discarded': True, 'active': True, 'dirty': False, 'memory': 320, 'scroll': 960, 'locator': 'file:d', 'loading': True}, [False, 0, 'file:d', False, 960, False]), ({'discarded': False, 'active': True, 'dirty': False, 'memory': 320, 'scroll': 960, 'locator': 'file:d', 'loading': False}, [False, 320, 'file:d', False, 960, False])], 5: [({'discarded': True, 'active': False, 'dirty': False, 'memory': 400, 'scroll': 1200, 'locator': 'file:d', 'loading': False}, [True, 0, 'file:d', False, 1200, True]), ({'discarded': True, 'active': True, 'dirty': False, 'memory': 400, 'scroll': 1200, 'locator': 'file:d', 'loading': False}, [False, 0, 'file:d', True, 1200, True]), ({'discarded': True, 'active': False, 'dirty': True, 'memory': 400, 'scroll': 1200, 'locator': 'file:d', 'loading': False}, [False, 0, 'file:d', False, 1200, True]), ({'discarded': True, 'active': False, 'dirty': False, 'memory': 400, 'scroll': 1200, 'locator': 'file:d', 'loading': True}, [True, 0, 'file:d', False, 1200, False]), ({'discarded': False, 'active': False, 'dirty': False, 'memory': 400, 'scroll': 1200, 'locator': 'file:d', 'loading': False}, [True, 400, 'file:d', False, 1200, False]), ({'discarded': True, 'active': False, 'dirty': False, 'memory': 400, 'scroll': 0, 'locator': 'file:d', 'loading': False}, [True, 0, 'file:d', False, 0, True]), ({'discarded': True, 'active': True, 'dirty': False, 'memory': 400, 'scroll': 1200, 'locator': 'file:d', 'loading': True}, [False, 0, 'file:d', False, 1200, False]), ({'discarded': False, 'active': True, 'dirty': False, 'memory': 400, 'scroll': 1200, 'locator': 'file:d', 'loading': False}, [False, 400, 'file:d', False, 1200, False])]}
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, 0, 'file:d', False, 240, True] | [True, 0, 'file:d', False, 240, True] | Passed |
| workspace regression 1 | [False, 0, 'file:d', True, 240, True] | [False, 0, 'file:d', True, 240, True] | Passed |
| workspace regression 2 | [False, 0, 'file:d', False, 240, True] | [False, 0, 'file:d', False, 240, True] | Passed |
| workspace regression 3 | [True, 0, 'file:d', False, 240, False] | [True, 0, 'file:d', False, 240, False] | Passed |
| workspace regression 4 | [True, 80, 'file:d', False, 240, False] | [True, 80, 'file:d', False, 240, False] | Passed |
| workspace regression 5 | [True, 0, 'file:d', False, 0, True] | [True, 0, 'file:d', False, 0, True] | Passed |
| workspace regression 6 | [False, 0, 'file:d', False, 240, False] | [False, 0, 'file:d', False, 240, False] | Passed |
| workspace regression 7 | [False, 80, 'file:d', False, 240, False] | [False, 80, 'file:d', False, 240, False] | Passed |
SHA-256 / b7b89675498acc0d9029a20fa3ad7cd8787bb98cd69f905403367da8ecfef651
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:53.925014+00:00.
Case digest / ae5634d528327ac5663ea88f59bf512afe2f20ad519d72eadb20b3bc5bc50e17