FAILURE MAP
← Case archive

FA-35566 / Tab interfaces / Open access

Reorder drop: same gap noop · case 01

The tab workspace reports an incorrect same gap noop.

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

ROOT CAUSE

The same gap noop decision uses False instead of x['boundary'] in (x['index'],x['index']+1).

VERIFIED REPAIR

Use the stipulated workspace rule: x['boundary'] in (x['index'],x['index']+1).

Unsuccessful approach: The partial repair x['boundary']==x['index'] still violates a workspace boundary or normal case.

Case contract

A strip drag uses pre-removal boundary indices: remove the dragged view, decrement later boundaries, clamp and insert while retaining active identity.

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['tabs'][x['index']]
    r1 = x['tabs'][:x['index']]+x['tabs'][x['index']+1:]
    r2 = x['boundary']-(x['boundary']>x['index'])
    r3 = False
    r4 = abs(x['boundary']-(x['boundary']>x['index'])-x['index'])
    r5 = x['active']
    return [r0,r1,r2,r3,r4,r5]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = {1: [({'tabs': ['a', 'b', 'c', 'd'], 'index': 1, 'boundary': 4, 'active': 'c'}, ['b', ['a', 'c', 'd'], 3, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd'], 'index': 1, 'boundary': 0, 'active': 'c'}, ['b', ['a', 'c', 'd'], 0, False, 1, 'c']), ({'tabs': ['a', 'b', 'c', 'd'], 'index': 1, 'boundary': 2, 'active': 'c'}, ['b', ['a', 'c', 'd'], 1, True, 0, 'c']), ({'tabs': ['a', 'b', 'c', 'd'], 'index': 0, 'boundary': 3, 'active': 'c'}, ['a', ['b', 'c', 'd'], 2, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd'], 'index': 3, 'boundary': 1, 'active': 'c'}, ['d', ['a', 'b', 'c'], 1, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd'], 'index': 1, 'boundary': 4, 'active': 'b'}, ['b', ['a', 'c', 'd'], 3, False, 2, 'b'])], 2: [({'tabs': ['a', 'b', 'c', 'd', 'background0'], 'index': 1, 'boundary': 4, 'active': 'c'}, ['b', ['a', 'c', 'd', 'background0'], 3, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0'], 'index': 1, 'boundary': 0, 'active': 'c'}, ['b', ['a', 'c', 'd', 'background0'], 0, False, 1, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0'], 'index': 1, 'boundary': 2, 'active': 'c'}, ['b', ['a', 'c', 'd', 'background0'], 1, True, 0, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0'], 'index': 0, 'boundary': 3, 'active': 'c'}, ['a', ['b', 'c', 'd', 'background0'], 2, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0'], 'index': 3, 'boundary': 1, 'active': 'c'}, ['d', ['a', 'b', 'c', 'background0'], 1, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0'], 'index': 1, 'boundary': 4, 'active': 'b'}, ['b', ['a', 'c', 'd', 'background0'], 3, False, 2, 'b'])], 3: [({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1'], 'index': 1, 'boundary': 4, 'active': 'c'}, ['b', ['a', 'c', 'd', 'background0', 'background1'], 3, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1'], 'index': 1, 'boundary': 0, 'active': 'c'}, ['b', ['a', 'c', 'd', 'background0', 'background1'], 0, False, 1, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1'], 'index': 1, 'boundary': 2, 'active': 'c'}, ['b', ['a', 'c', 'd', 'background0', 'background1'], 1, True, 0, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1'], 'index': 0, 'boundary': 3, 'active': 'c'}, ['a', ['b', 'c', 'd', 'background0', 'background1'], 2, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1'], 'index': 3, 'boundary': 1, 'active': 'c'}, ['d', ['a', 'b', 'c', 'background0', 'background1'], 1, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1'], 'index': 1, 'boundary': 4, 'active': 'b'}, ['b', ['a', 'c', 'd', 'background0', 'background1'], 3, False, 2, 'b'])], 4: [({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], 'index': 1, 'boundary': 4, 'active': 'c'}, ['b', ['a', 'c', 'd', 'background0', 'background1', 'background2'], 3, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], 'index': 1, 'boundary': 0, 'active': 'c'}, ['b', ['a', 'c', 'd', 'background0', 'background1', 'background2'], 0, False, 1, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], 'index': 1, 'boundary': 2, 'active': 'c'}, ['b', ['a', 'c', 'd', 'background0', 'background1', 'background2'], 1, True, 0, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], 'index': 0, 'boundary': 3, 'active': 'c'}, ['a', ['b', 'c', 'd', 'background0', 'background1', 'background2'], 2, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], 'index': 3, 'boundary': 1, 'active': 'c'}, ['d', ['a', 'b', 'c', 'background0', 'background1', 'background2'], 1, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], 'index': 1, 'boundary': 4, 'active': 'b'}, ['b', ['a', 'c', 'd', 'background0', 'background1', 'background2'], 3, False, 2, 'b'])], 5: [({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 'index': 1, 'boundary': 4, 'active': 'c'}, ['b', ['a', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 3, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 'index': 1, 'boundary': 0, 'active': 'c'}, ['b', ['a', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 0, False, 1, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 'index': 1, 'boundary': 2, 'active': 'c'}, ['b', ['a', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 1, True, 0, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 'index': 0, 'boundary': 3, 'active': 'c'}, ['a', ['b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 2, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 'index': 3, 'boundary': 1, 'active': 'c'}, ['d', ['a', 'b', 'c', 'background0', 'background1', 'background2', 'background3'], 1, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 'index': 1, 'boundary': 4, 'active': 'b'}, ['b', ['a', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 3, False, 2, 'b'])]}
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['b', ['a', 'c', 'd'], 3, False, 2, 'c']['b', ['a', 'c', 'd'], 3, False, 2, 'c']Passed
workspace regression 1['b', ['a', 'c', 'd'], 0, False, 1, 'c']['b', ['a', 'c', 'd'], 0, False, 1, 'c']Passed
workspace regression 2['b', ['a', 'c', 'd'], 1, False, 0, 'c']['b', ['a', 'c', 'd'], 1, True, 0, 'c']Failed
workspace regression 3['a', ['b', 'c', 'd'], 2, False, 2, 'c']['a', ['b', 'c', 'd'], 2, False, 2, 'c']Passed
workspace regression 4['d', ['a', 'b', 'c'], 1, False, 2, 'c']['d', ['a', 'b', 'c'], 1, False, 2, 'c']Passed
workspace regression 5['b', ['a', 'c', 'd'], 3, False, 2, 'b']['b', ['a', 'c', 'd'], 3, False, 2, 'b']Passed

SHA-256 / 7764acfe6a15774c66805ce21615a12ad1992365cfdcfeb798731c6ab33345fd

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(x):
    r0 = x['tabs'][x['index']]
    r1 = x['tabs'][:x['index']]+x['tabs'][x['index']+1:]
    r2 = x['boundary']-(x['boundary']>x['index'])
    r3 = x['boundary']==x['index']
    r4 = abs(x['boundary']-(x['boundary']>x['index'])-x['index'])
    r5 = x['active']
    return [r0,r1,r2,r3,r4,r5]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = {1: [({'tabs': ['a', 'b', 'c', 'd'], 'index': 1, 'boundary': 4, 'active': 'c'}, ['b', ['a', 'c', 'd'], 3, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd'], 'index': 1, 'boundary': 0, 'active': 'c'}, ['b', ['a', 'c', 'd'], 0, False, 1, 'c']), ({'tabs': ['a', 'b', 'c', 'd'], 'index': 1, 'boundary': 2, 'active': 'c'}, ['b', ['a', 'c', 'd'], 1, True, 0, 'c']), ({'tabs': ['a', 'b', 'c', 'd'], 'index': 0, 'boundary': 3, 'active': 'c'}, ['a', ['b', 'c', 'd'], 2, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd'], 'index': 3, 'boundary': 1, 'active': 'c'}, ['d', ['a', 'b', 'c'], 1, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd'], 'index': 1, 'boundary': 4, 'active': 'b'}, ['b', ['a', 'c', 'd'], 3, False, 2, 'b'])], 2: [({'tabs': ['a', 'b', 'c', 'd', 'background0'], 'index': 1, 'boundary': 4, 'active': 'c'}, ['b', ['a', 'c', 'd', 'background0'], 3, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0'], 'index': 1, 'boundary': 0, 'active': 'c'}, ['b', ['a', 'c', 'd', 'background0'], 0, False, 1, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0'], 'index': 1, 'boundary': 2, 'active': 'c'}, ['b', ['a', 'c', 'd', 'background0'], 1, True, 0, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0'], 'index': 0, 'boundary': 3, 'active': 'c'}, ['a', ['b', 'c', 'd', 'background0'], 2, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0'], 'index': 3, 'boundary': 1, 'active': 'c'}, ['d', ['a', 'b', 'c', 'background0'], 1, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0'], 'index': 1, 'boundary': 4, 'active': 'b'}, ['b', ['a', 'c', 'd', 'background0'], 3, False, 2, 'b'])], 3: [({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1'], 'index': 1, 'boundary': 4, 'active': 'c'}, ['b', ['a', 'c', 'd', 'background0', 'background1'], 3, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1'], 'index': 1, 'boundary': 0, 'active': 'c'}, ['b', ['a', 'c', 'd', 'background0', 'background1'], 0, False, 1, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1'], 'index': 1, 'boundary': 2, 'active': 'c'}, ['b', ['a', 'c', 'd', 'background0', 'background1'], 1, True, 0, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1'], 'index': 0, 'boundary': 3, 'active': 'c'}, ['a', ['b', 'c', 'd', 'background0', 'background1'], 2, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1'], 'index': 3, 'boundary': 1, 'active': 'c'}, ['d', ['a', 'b', 'c', 'background0', 'background1'], 1, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1'], 'index': 1, 'boundary': 4, 'active': 'b'}, ['b', ['a', 'c', 'd', 'background0', 'background1'], 3, False, 2, 'b'])], 4: [({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], 'index': 1, 'boundary': 4, 'active': 'c'}, ['b', ['a', 'c', 'd', 'background0', 'background1', 'background2'], 3, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], 'index': 1, 'boundary': 0, 'active': 'c'}, ['b', ['a', 'c', 'd', 'background0', 'background1', 'background2'], 0, False, 1, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], 'index': 1, 'boundary': 2, 'active': 'c'}, ['b', ['a', 'c', 'd', 'background0', 'background1', 'background2'], 1, True, 0, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], 'index': 0, 'boundary': 3, 'active': 'c'}, ['a', ['b', 'c', 'd', 'background0', 'background1', 'background2'], 2, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], 'index': 3, 'boundary': 1, 'active': 'c'}, ['d', ['a', 'b', 'c', 'background0', 'background1', 'background2'], 1, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], 'index': 1, 'boundary': 4, 'active': 'b'}, ['b', ['a', 'c', 'd', 'background0', 'background1', 'background2'], 3, False, 2, 'b'])], 5: [({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 'index': 1, 'boundary': 4, 'active': 'c'}, ['b', ['a', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 3, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 'index': 1, 'boundary': 0, 'active': 'c'}, ['b', ['a', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 0, False, 1, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 'index': 1, 'boundary': 2, 'active': 'c'}, ['b', ['a', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 1, True, 0, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 'index': 0, 'boundary': 3, 'active': 'c'}, ['a', ['b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 2, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 'index': 3, 'boundary': 1, 'active': 'c'}, ['d', ['a', 'b', 'c', 'background0', 'background1', 'background2', 'background3'], 1, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 'index': 1, 'boundary': 4, 'active': 'b'}, ['b', ['a', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 3, False, 2, 'b'])]}
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['b', ['a', 'c', 'd'], 3, False, 2, 'c']['b', ['a', 'c', 'd'], 3, False, 2, 'c']Passed
workspace regression 1['b', ['a', 'c', 'd'], 0, False, 1, 'c']['b', ['a', 'c', 'd'], 0, False, 1, 'c']Passed
workspace regression 2['b', ['a', 'c', 'd'], 1, False, 0, 'c']['b', ['a', 'c', 'd'], 1, True, 0, 'c']Failed
workspace regression 3['a', ['b', 'c', 'd'], 2, False, 2, 'c']['a', ['b', 'c', 'd'], 2, False, 2, 'c']Passed
workspace regression 4['d', ['a', 'b', 'c'], 1, False, 2, 'c']['d', ['a', 'b', 'c'], 1, False, 2, 'c']Passed
workspace regression 5['b', ['a', 'c', 'd'], 3, False, 2, 'b']['b', ['a', 'c', 'd'], 3, False, 2, 'b']Passed

SHA-256 / 85970c66ba716333d817a5ae3574c1a137245527a14af66c94d54a84bae25ffc

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(x):
    r0 = x['tabs'][x['index']]
    r1 = x['tabs'][:x['index']]+x['tabs'][x['index']+1:]
    r2 = x['boundary']-(x['boundary']>x['index'])
    r3 = x['boundary'] in (x['index'],x['index']+1)
    r4 = abs(x['boundary']-(x['boundary']>x['index'])-x['index'])
    r5 = x['active']
    return [r0,r1,r2,r3,r4,r5]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = {1: [({'tabs': ['a', 'b', 'c', 'd'], 'index': 1, 'boundary': 4, 'active': 'c'}, ['b', ['a', 'c', 'd'], 3, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd'], 'index': 1, 'boundary': 0, 'active': 'c'}, ['b', ['a', 'c', 'd'], 0, False, 1, 'c']), ({'tabs': ['a', 'b', 'c', 'd'], 'index': 1, 'boundary': 2, 'active': 'c'}, ['b', ['a', 'c', 'd'], 1, True, 0, 'c']), ({'tabs': ['a', 'b', 'c', 'd'], 'index': 0, 'boundary': 3, 'active': 'c'}, ['a', ['b', 'c', 'd'], 2, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd'], 'index': 3, 'boundary': 1, 'active': 'c'}, ['d', ['a', 'b', 'c'], 1, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd'], 'index': 1, 'boundary': 4, 'active': 'b'}, ['b', ['a', 'c', 'd'], 3, False, 2, 'b'])], 2: [({'tabs': ['a', 'b', 'c', 'd', 'background0'], 'index': 1, 'boundary': 4, 'active': 'c'}, ['b', ['a', 'c', 'd', 'background0'], 3, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0'], 'index': 1, 'boundary': 0, 'active': 'c'}, ['b', ['a', 'c', 'd', 'background0'], 0, False, 1, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0'], 'index': 1, 'boundary': 2, 'active': 'c'}, ['b', ['a', 'c', 'd', 'background0'], 1, True, 0, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0'], 'index': 0, 'boundary': 3, 'active': 'c'}, ['a', ['b', 'c', 'd', 'background0'], 2, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0'], 'index': 3, 'boundary': 1, 'active': 'c'}, ['d', ['a', 'b', 'c', 'background0'], 1, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0'], 'index': 1, 'boundary': 4, 'active': 'b'}, ['b', ['a', 'c', 'd', 'background0'], 3, False, 2, 'b'])], 3: [({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1'], 'index': 1, 'boundary': 4, 'active': 'c'}, ['b', ['a', 'c', 'd', 'background0', 'background1'], 3, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1'], 'index': 1, 'boundary': 0, 'active': 'c'}, ['b', ['a', 'c', 'd', 'background0', 'background1'], 0, False, 1, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1'], 'index': 1, 'boundary': 2, 'active': 'c'}, ['b', ['a', 'c', 'd', 'background0', 'background1'], 1, True, 0, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1'], 'index': 0, 'boundary': 3, 'active': 'c'}, ['a', ['b', 'c', 'd', 'background0', 'background1'], 2, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1'], 'index': 3, 'boundary': 1, 'active': 'c'}, ['d', ['a', 'b', 'c', 'background0', 'background1'], 1, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1'], 'index': 1, 'boundary': 4, 'active': 'b'}, ['b', ['a', 'c', 'd', 'background0', 'background1'], 3, False, 2, 'b'])], 4: [({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], 'index': 1, 'boundary': 4, 'active': 'c'}, ['b', ['a', 'c', 'd', 'background0', 'background1', 'background2'], 3, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], 'index': 1, 'boundary': 0, 'active': 'c'}, ['b', ['a', 'c', 'd', 'background0', 'background1', 'background2'], 0, False, 1, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], 'index': 1, 'boundary': 2, 'active': 'c'}, ['b', ['a', 'c', 'd', 'background0', 'background1', 'background2'], 1, True, 0, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], 'index': 0, 'boundary': 3, 'active': 'c'}, ['a', ['b', 'c', 'd', 'background0', 'background1', 'background2'], 2, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], 'index': 3, 'boundary': 1, 'active': 'c'}, ['d', ['a', 'b', 'c', 'background0', 'background1', 'background2'], 1, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2'], 'index': 1, 'boundary': 4, 'active': 'b'}, ['b', ['a', 'c', 'd', 'background0', 'background1', 'background2'], 3, False, 2, 'b'])], 5: [({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 'index': 1, 'boundary': 4, 'active': 'c'}, ['b', ['a', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 3, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 'index': 1, 'boundary': 0, 'active': 'c'}, ['b', ['a', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 0, False, 1, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 'index': 1, 'boundary': 2, 'active': 'c'}, ['b', ['a', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 1, True, 0, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 'index': 0, 'boundary': 3, 'active': 'c'}, ['a', ['b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 2, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 'index': 3, 'boundary': 1, 'active': 'c'}, ['d', ['a', 'b', 'c', 'background0', 'background1', 'background2', 'background3'], 1, False, 2, 'c']), ({'tabs': ['a', 'b', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 'index': 1, 'boundary': 4, 'active': 'b'}, ['b', ['a', 'c', 'd', 'background0', 'background1', 'background2', 'background3'], 3, False, 2, 'b'])]}
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['b', ['a', 'c', 'd'], 3, False, 2, 'c']['b', ['a', 'c', 'd'], 3, False, 2, 'c']Passed
workspace regression 1['b', ['a', 'c', 'd'], 0, False, 1, 'c']['b', ['a', 'c', 'd'], 0, False, 1, 'c']Passed
workspace regression 2['b', ['a', 'c', 'd'], 1, True, 0, 'c']['b', ['a', 'c', 'd'], 1, True, 0, 'c']Passed
workspace regression 3['a', ['b', 'c', 'd'], 2, False, 2, 'c']['a', ['b', 'c', 'd'], 2, False, 2, 'c']Passed
workspace regression 4['d', ['a', 'b', 'c'], 1, False, 2, 'c']['d', ['a', 'b', 'c'], 1, False, 2, 'c']Passed
workspace regression 5['b', ['a', 'c', 'd'], 3, False, 2, 'b']['b', ['a', 'c', 'd'], 3, False, 2, 'b']Passed

SHA-256 / 81dde98bc703caa1fe7b9ec79a1c2afa8cb607368520ab450691eca9c245e565

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

Case digest / 100b0ddbb70da3d073d78d8454c85ce327d7a744aa03d46ea53f9c484215b718