FA-36696 / Tab interfaces / Open access
Discarded tab revival: resident memory after discard · case 01
The tab workspace reports an incorrect resident memory after discard.
ROOT CAUSE
The resident memory after discard decision uses x['memory'] instead of 0 if x['discarded'] else x['memory'].
VERIFIED REPAIR
Use the stipulated workspace rule: 0 if x['discarded'] else x['memory'].
Unsuccessful approach: The partial repair 0 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 = 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, 80, 'file:d', False, 240, True] | [True, 0, 'file:d', False, 240, True] | Failed |
| workspace regression 1 | [False, 80, 'file:d', True, 240, True] | [False, 0, 'file:d', True, 240, True] | Failed |
| workspace regression 2 | [False, 80, 'file:d', False, 240, True] | [False, 0, 'file:d', False, 240, True] | Failed |
| workspace regression 3 | [True, 80, 'file:d', 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, 80, 'file:d', False, 0, True] | [True, 0, 'file:d', False, 0, True] | Failed |
| workspace regression 6 | [False, 80, 'file:d', 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 / affa4d5636aa2c5a55b4d9e4887fa8432de72a924fd4d87dfa792f6a7e6bb08f
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
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, 0, 'file:d', False, 240, False] | [True, 80, 'file:d', False, 240, False] | Failed |
| 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, 0, 'file:d', False, 240, False] | [False, 80, 'file:d', False, 240, False] | Failed |
SHA-256 / a46a44ae0d8045b251d2415ffb44a2d85967f8376679b207114599a0d7ae849f
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.902641+00:00.
Case digest / 4c13cb5c48bdbfd71fb41b677820adadf399b18511a97c11f213e3c9edd80045