FAILURE MAP
← Case archive

FA-36691 / Tab interfaces / Open access

Discarded tab revival: discard eligibility · case 01

The tab workspace reports an incorrect discard eligibility.

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

ROOT CAUSE

The discard eligibility decision uses not x['active'] instead of not x['active'] and not x['dirty'].

VERIFIED REPAIR

Use the stipulated workspace rule: not x['active'] and not x['dirty'].

Unsuccessful approach: The partial repair not x['dirty'] 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']
    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 fixtureActualExpectedOutcome
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[True, 0, 'file:d', False, 240, True][False, 0, 'file:d', False, 240, True]Failed
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 / fc3f10063f078eadba188877dbe3ea2cc5ba037681dfeb7f6a1739626b5c976d

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['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 fixtureActualExpectedOutcome
workspace regression 0[True, 0, 'file:d', False, 240, True][True, 0, 'file:d', False, 240, True]Passed
workspace regression 1[True, 0, 'file:d', True, 240, True][False, 0, 'file:d', True, 240, True]Failed
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[True, 0, 'file:d', False, 240, False][False, 0, 'file:d', False, 240, False]Failed
workspace regression 7[True, 80, 'file:d', False, 240, False][False, 80, 'file:d', False, 240, False]Failed

SHA-256 / 90a6595e6102f03ecafad70d2cbd6e989beb3970e0b67be038f7ec81b60c0a43

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 fixtureActualExpectedOutcome
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.891594+00:00.

Case digest / 9b46295979203741185bdd68c864b02960c154bfc6866b02ff8bd89eb20be5bc