FA-35786 / Tab interfaces / Open access
Overflow menu map: duplicate label retention · case 01
The tab workspace reports an incorrect duplicate label retention.
ROOT CAUSE
The duplicate label retention decision uses list(set(x['labels'][t] for t in x['ids'] if t in x['hidden'])) instead of [x['labels'][t] for t in x['ids'] if t in x['hidden']].
VERIFIED REPAIR
Use the stipulated workspace rule: [x['labels'][t] for t in x['ids'] if t in x['hidden']].
Unsuccessful approach: The partial repair [x['labels'][x['hidden'][0]]] if x['hidden'] else [] still violates a workspace boundary or normal case.
Case contract
An overflow menu represents only fully hidden tabs in visual order, retains ID despite duplicate labels, exposes active/dirty badges, and locates original strip indices.
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 = [t for t in x['ids'] if t in x['hidden']]
r1 = [[x['labels'][t],t] for t in x['ids'] if t in x['hidden']]
r2 = x['active'] in x['hidden']
r3 = [t for t in x['ids'] if t in x['hidden'] and t in x['dirty']]
r4 = [i for i,t in enumerate(x['ids']) if t in x['hidden']]
r5 = list(set(x['labels'][t] for t in x['ids'] if t in x['hidden']))
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: [({'ids': ['a', 'b', 'c', 'd'], 'hidden': ['b', 'd'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same'}}, [['b', 'd'], [['same', 'b'], ['same', 'd']], True, ['b'], [1, 3], ['same', 'same']]), ({'ids': ['a', 'b', 'c', 'd'], 'hidden': ['a', 'c'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same'}}, [['a', 'c'], [['one', 'a'], ['three', 'c']], False, [], [0, 2], ['one', 'three']]), ({'ids': ['a', 'b', 'c', 'd'], 'hidden': ['b', 'd'], 'active': 'a', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same'}}, [['b', 'd'], [['same', 'b'], ['same', 'd']], False, ['b'], [1, 3], ['same', 'same']]), ({'ids': ['a', 'b', 'c', 'd'], 'hidden': ['b', 'd'], 'active': 'd', 'dirty': ['d'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same'}}, [['b', 'd'], [['same', 'b'], ['same', 'd']], True, ['d'], [1, 3], ['same', 'same']]), ({'ids': ['a', 'b', 'c', 'd'], 'hidden': [], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same'}}, [[], [], False, [], [], []]), ({'ids': ['a', 'b', 'c', 'd'], 'hidden': ['d', 'b'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same'}}, [['b', 'd'], [['same', 'b'], ['same', 'd']], True, ['b'], [1, 3], ['same', 'same']])], 2: [({'ids': ['a', 'b', 'c', 'd', 'extra0'], 'hidden': ['b', 'd', 'extra0'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional'}}, [['b', 'd', 'extra0'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0']], True, ['b'], [1, 3, 4], ['same', 'same', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0'], 'hidden': ['a', 'c', 'extra0'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional'}}, [['a', 'c', 'extra0'], [['one', 'a'], ['three', 'c'], ['additional', 'extra0']], False, [], [0, 2, 4], ['one', 'three', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0'], 'hidden': ['b', 'd', 'extra0'], 'active': 'a', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional'}}, [['b', 'd', 'extra0'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0']], False, ['b'], [1, 3, 4], ['same', 'same', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0'], 'hidden': ['b', 'd', 'extra0'], 'active': 'd', 'dirty': ['d'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional'}}, [['b', 'd', 'extra0'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0']], True, ['d'], [1, 3, 4], ['same', 'same', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0'], 'hidden': ['extra0'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional'}}, [['extra0'], [['additional', 'extra0']], False, [], [4], ['additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0'], 'hidden': ['d', 'b', 'extra0'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional'}}, [['b', 'd', 'extra0'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0']], True, ['b'], [1, 3, 4], ['same', 'same', 'additional']])], 3: [({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1'], 'hidden': ['b', 'd', 'extra0', 'extra1'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional'}}, [['b', 'd', 'extra0', 'extra1'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0'], ['additional', 'extra1']], True, ['b'], [1, 3, 4, 5], ['same', 'same', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1'], 'hidden': ['a', 'c', 'extra0', 'extra1'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional'}}, [['a', 'c', 'extra0', 'extra1'], [['one', 'a'], ['three', 'c'], ['additional', 'extra0'], ['additional', 'extra1']], False, [], [0, 2, 4, 5], ['one', 'three', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1'], 'hidden': ['b', 'd', 'extra0', 'extra1'], 'active': 'a', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional'}}, [['b', 'd', 'extra0', 'extra1'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0'], ['additional', 'extra1']], False, ['b'], [1, 3, 4, 5], ['same', 'same', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1'], 'hidden': ['b', 'd', 'extra0', 'extra1'], 'active': 'd', 'dirty': ['d'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional'}}, [['b', 'd', 'extra0', 'extra1'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0'], ['additional', 'extra1']], True, ['d'], [1, 3, 4, 5], ['same', 'same', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1'], 'hidden': ['extra0', 'extra1'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional'}}, [['extra0', 'extra1'], [['additional', 'extra0'], ['additional', 'extra1']], False, [], [4, 5], ['additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1'], 'hidden': ['d', 'b', 'extra0', 'extra1'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional'}}, [['b', 'd', 'extra0', 'extra1'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0'], ['additional', 'extra1']], True, ['b'], [1, 3, 4, 5], ['same', 'same', 'additional', 'additional']])], 4: [({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1', 'extra2'], 'hidden': ['b', 'd', 'extra0', 'extra1', 'extra2'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional', 'extra2': 'additional'}}, [['b', 'd', 'extra0', 'extra1', 'extra2'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0'], ['additional', 'extra1'], ['additional', 'extra2']], True, ['b'], [1, 3, 4, 5, 6], ['same', 'same', 'additional', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1', 'extra2'], 'hidden': ['a', 'c', 'extra0', 'extra1', 'extra2'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional', 'extra2': 'additional'}}, [['a', 'c', 'extra0', 'extra1', 'extra2'], [['one', 'a'], ['three', 'c'], ['additional', 'extra0'], ['additional', 'extra1'], ['additional', 'extra2']], False, [], [0, 2, 4, 5, 6], ['one', 'three', 'additional', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1', 'extra2'], 'hidden': ['b', 'd', 'extra0', 'extra1', 'extra2'], 'active': 'a', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional', 'extra2': 'additional'}}, [['b', 'd', 'extra0', 'extra1', 'extra2'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0'], ['additional', 'extra1'], ['additional', 'extra2']], False, ['b'], [1, 3, 4, 5, 6], ['same', 'same', 'additional', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1', 'extra2'], 'hidden': ['b', 'd', 'extra0', 'extra1', 'extra2'], 'active': 'd', 'dirty': ['d'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional', 'extra2': 'additional'}}, [['b', 'd', 'extra0', 'extra1', 'extra2'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0'], ['additional', 'extra1'], ['additional', 'extra2']], True, ['d'], [1, 3, 4, 5, 6], ['same', 'same', 'additional', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1', 'extra2'], 'hidden': ['extra0', 'extra1', 'extra2'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional', 'extra2': 'additional'}}, [['extra0', 'extra1', 'extra2'], [['additional', 'extra0'], ['additional', 'extra1'], ['additional', 'extra2']], False, [], [4, 5, 6], ['additional', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1', 'extra2'], 'hidden': ['d', 'b', 'extra0', 'extra1', 'extra2'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional', 'extra2': 'additional'}}, [['b', 'd', 'extra0', 'extra1', 'extra2'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0'], ['additional', 'extra1'], ['additional', 'extra2']], True, ['b'], [1, 3, 4, 5, 6], ['same', 'same', 'additional', 'additional', 'additional']])], 5: [({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], 'hidden': ['b', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional', 'extra2': 'additional', 'extra3': 'additional'}}, [['b', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0'], ['additional', 'extra1'], ['additional', 'extra2'], ['additional', 'extra3']], True, ['b'], [1, 3, 4, 5, 6, 7], ['same', 'same', 'additional', 'additional', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], 'hidden': ['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional', 'extra2': 'additional', 'extra3': 'additional'}}, [['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3'], [['one', 'a'], ['three', 'c'], ['additional', 'extra0'], ['additional', 'extra1'], ['additional', 'extra2'], ['additional', 'extra3']], False, [], [0, 2, 4, 5, 6, 7], ['one', 'three', 'additional', 'additional', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], 'hidden': ['b', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], 'active': 'a', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional', 'extra2': 'additional', 'extra3': 'additional'}}, [['b', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0'], ['additional', 'extra1'], ['additional', 'extra2'], ['additional', 'extra3']], False, ['b'], [1, 3, 4, 5, 6, 7], ['same', 'same', 'additional', 'additional', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], 'hidden': ['b', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], 'active': 'd', 'dirty': ['d'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional', 'extra2': 'additional', 'extra3': 'additional'}}, [['b', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0'], ['additional', 'extra1'], ['additional', 'extra2'], ['additional', 'extra3']], True, ['d'], [1, 3, 4, 5, 6, 7], ['same', 'same', 'additional', 'additional', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], 'hidden': ['extra0', 'extra1', 'extra2', 'extra3'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional', 'extra2': 'additional', 'extra3': 'additional'}}, [['extra0', 'extra1', 'extra2', 'extra3'], [['additional', 'extra0'], ['additional', 'extra1'], ['additional', 'extra2'], ['additional', 'extra3']], False, [], [4, 5, 6, 7], ['additional', 'additional', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], 'hidden': ['d', 'b', 'extra0', 'extra1', 'extra2', 'extra3'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional', 'extra2': 'additional', 'extra3': 'additional'}}, [['b', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0'], ['additional', 'extra1'], ['additional', 'extra2'], ['additional', 'extra3']], True, ['b'], [1, 3, 4, 5, 6, 7], ['same', 'same', 'additional', 'additional', 'additional', 'additional']])]}
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 | [['b', 'd'], [['same', 'b'], ['same', 'd']], True, ['b'], [1, 3], ['same']] | [['b', 'd'], [['same', 'b'], ['same', 'd']], True, ['b'], [1, 3], ['same', 'same']] | Failed |
| workspace regression 1 | [['a', 'c'], [['one', 'a'], ['three', 'c']], False, [], [0, 2], ['three', 'one']] | [['a', 'c'], [['one', 'a'], ['three', 'c']], False, [], [0, 2], ['one', 'three']] | Failed |
| workspace regression 2 | [['b', 'd'], [['same', 'b'], ['same', 'd']], False, ['b'], [1, 3], ['same']] | [['b', 'd'], [['same', 'b'], ['same', 'd']], False, ['b'], [1, 3], ['same', 'same']] | Failed |
| workspace regression 3 | [['b', 'd'], [['same', 'b'], ['same', 'd']], True, ['d'], [1, 3], ['same']] | [['b', 'd'], [['same', 'b'], ['same', 'd']], True, ['d'], [1, 3], ['same', 'same']] | Failed |
| workspace regression 4 | [[], [], False, [], [], []] | [[], [], False, [], [], []] | Passed |
| workspace regression 5 | [['b', 'd'], [['same', 'b'], ['same', 'd']], True, ['b'], [1, 3], ['same']] | [['b', 'd'], [['same', 'b'], ['same', 'd']], True, ['b'], [1, 3], ['same', 'same']] | Failed |
SHA-256 / 94790a6b84e2afa2a7ffa5b41132a35085a1881504491ec0de902bc8e321711b
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
r0 = [t for t in x['ids'] if t in x['hidden']]
r1 = [[x['labels'][t],t] for t in x['ids'] if t in x['hidden']]
r2 = x['active'] in x['hidden']
r3 = [t for t in x['ids'] if t in x['hidden'] and t in x['dirty']]
r4 = [i for i,t in enumerate(x['ids']) if t in x['hidden']]
r5 = [x['labels'][x['hidden'][0]]] if x['hidden'] else []
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: [({'ids': ['a', 'b', 'c', 'd'], 'hidden': ['b', 'd'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same'}}, [['b', 'd'], [['same', 'b'], ['same', 'd']], True, ['b'], [1, 3], ['same', 'same']]), ({'ids': ['a', 'b', 'c', 'd'], 'hidden': ['a', 'c'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same'}}, [['a', 'c'], [['one', 'a'], ['three', 'c']], False, [], [0, 2], ['one', 'three']]), ({'ids': ['a', 'b', 'c', 'd'], 'hidden': ['b', 'd'], 'active': 'a', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same'}}, [['b', 'd'], [['same', 'b'], ['same', 'd']], False, ['b'], [1, 3], ['same', 'same']]), ({'ids': ['a', 'b', 'c', 'd'], 'hidden': ['b', 'd'], 'active': 'd', 'dirty': ['d'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same'}}, [['b', 'd'], [['same', 'b'], ['same', 'd']], True, ['d'], [1, 3], ['same', 'same']]), ({'ids': ['a', 'b', 'c', 'd'], 'hidden': [], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same'}}, [[], [], False, [], [], []]), ({'ids': ['a', 'b', 'c', 'd'], 'hidden': ['d', 'b'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same'}}, [['b', 'd'], [['same', 'b'], ['same', 'd']], True, ['b'], [1, 3], ['same', 'same']])], 2: [({'ids': ['a', 'b', 'c', 'd', 'extra0'], 'hidden': ['b', 'd', 'extra0'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional'}}, [['b', 'd', 'extra0'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0']], True, ['b'], [1, 3, 4], ['same', 'same', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0'], 'hidden': ['a', 'c', 'extra0'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional'}}, [['a', 'c', 'extra0'], [['one', 'a'], ['three', 'c'], ['additional', 'extra0']], False, [], [0, 2, 4], ['one', 'three', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0'], 'hidden': ['b', 'd', 'extra0'], 'active': 'a', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional'}}, [['b', 'd', 'extra0'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0']], False, ['b'], [1, 3, 4], ['same', 'same', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0'], 'hidden': ['b', 'd', 'extra0'], 'active': 'd', 'dirty': ['d'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional'}}, [['b', 'd', 'extra0'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0']], True, ['d'], [1, 3, 4], ['same', 'same', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0'], 'hidden': ['extra0'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional'}}, [['extra0'], [['additional', 'extra0']], False, [], [4], ['additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0'], 'hidden': ['d', 'b', 'extra0'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional'}}, [['b', 'd', 'extra0'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0']], True, ['b'], [1, 3, 4], ['same', 'same', 'additional']])], 3: [({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1'], 'hidden': ['b', 'd', 'extra0', 'extra1'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional'}}, [['b', 'd', 'extra0', 'extra1'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0'], ['additional', 'extra1']], True, ['b'], [1, 3, 4, 5], ['same', 'same', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1'], 'hidden': ['a', 'c', 'extra0', 'extra1'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional'}}, [['a', 'c', 'extra0', 'extra1'], [['one', 'a'], ['three', 'c'], ['additional', 'extra0'], ['additional', 'extra1']], False, [], [0, 2, 4, 5], ['one', 'three', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1'], 'hidden': ['b', 'd', 'extra0', 'extra1'], 'active': 'a', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional'}}, [['b', 'd', 'extra0', 'extra1'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0'], ['additional', 'extra1']], False, ['b'], [1, 3, 4, 5], ['same', 'same', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1'], 'hidden': ['b', 'd', 'extra0', 'extra1'], 'active': 'd', 'dirty': ['d'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional'}}, [['b', 'd', 'extra0', 'extra1'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0'], ['additional', 'extra1']], True, ['d'], [1, 3, 4, 5], ['same', 'same', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1'], 'hidden': ['extra0', 'extra1'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional'}}, [['extra0', 'extra1'], [['additional', 'extra0'], ['additional', 'extra1']], False, [], [4, 5], ['additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1'], 'hidden': ['d', 'b', 'extra0', 'extra1'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional'}}, [['b', 'd', 'extra0', 'extra1'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0'], ['additional', 'extra1']], True, ['b'], [1, 3, 4, 5], ['same', 'same', 'additional', 'additional']])], 4: [({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1', 'extra2'], 'hidden': ['b', 'd', 'extra0', 'extra1', 'extra2'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional', 'extra2': 'additional'}}, [['b', 'd', 'extra0', 'extra1', 'extra2'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0'], ['additional', 'extra1'], ['additional', 'extra2']], True, ['b'], [1, 3, 4, 5, 6], ['same', 'same', 'additional', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1', 'extra2'], 'hidden': ['a', 'c', 'extra0', 'extra1', 'extra2'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional', 'extra2': 'additional'}}, [['a', 'c', 'extra0', 'extra1', 'extra2'], [['one', 'a'], ['three', 'c'], ['additional', 'extra0'], ['additional', 'extra1'], ['additional', 'extra2']], False, [], [0, 2, 4, 5, 6], ['one', 'three', 'additional', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1', 'extra2'], 'hidden': ['b', 'd', 'extra0', 'extra1', 'extra2'], 'active': 'a', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional', 'extra2': 'additional'}}, [['b', 'd', 'extra0', 'extra1', 'extra2'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0'], ['additional', 'extra1'], ['additional', 'extra2']], False, ['b'], [1, 3, 4, 5, 6], ['same', 'same', 'additional', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1', 'extra2'], 'hidden': ['b', 'd', 'extra0', 'extra1', 'extra2'], 'active': 'd', 'dirty': ['d'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional', 'extra2': 'additional'}}, [['b', 'd', 'extra0', 'extra1', 'extra2'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0'], ['additional', 'extra1'], ['additional', 'extra2']], True, ['d'], [1, 3, 4, 5, 6], ['same', 'same', 'additional', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1', 'extra2'], 'hidden': ['extra0', 'extra1', 'extra2'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional', 'extra2': 'additional'}}, [['extra0', 'extra1', 'extra2'], [['additional', 'extra0'], ['additional', 'extra1'], ['additional', 'extra2']], False, [], [4, 5, 6], ['additional', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1', 'extra2'], 'hidden': ['d', 'b', 'extra0', 'extra1', 'extra2'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional', 'extra2': 'additional'}}, [['b', 'd', 'extra0', 'extra1', 'extra2'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0'], ['additional', 'extra1'], ['additional', 'extra2']], True, ['b'], [1, 3, 4, 5, 6], ['same', 'same', 'additional', 'additional', 'additional']])], 5: [({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], 'hidden': ['b', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional', 'extra2': 'additional', 'extra3': 'additional'}}, [['b', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0'], ['additional', 'extra1'], ['additional', 'extra2'], ['additional', 'extra3']], True, ['b'], [1, 3, 4, 5, 6, 7], ['same', 'same', 'additional', 'additional', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], 'hidden': ['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional', 'extra2': 'additional', 'extra3': 'additional'}}, [['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3'], [['one', 'a'], ['three', 'c'], ['additional', 'extra0'], ['additional', 'extra1'], ['additional', 'extra2'], ['additional', 'extra3']], False, [], [0, 2, 4, 5, 6, 7], ['one', 'three', 'additional', 'additional', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], 'hidden': ['b', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], 'active': 'a', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional', 'extra2': 'additional', 'extra3': 'additional'}}, [['b', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0'], ['additional', 'extra1'], ['additional', 'extra2'], ['additional', 'extra3']], False, ['b'], [1, 3, 4, 5, 6, 7], ['same', 'same', 'additional', 'additional', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], 'hidden': ['b', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], 'active': 'd', 'dirty': ['d'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional', 'extra2': 'additional', 'extra3': 'additional'}}, [['b', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0'], ['additional', 'extra1'], ['additional', 'extra2'], ['additional', 'extra3']], True, ['d'], [1, 3, 4, 5, 6, 7], ['same', 'same', 'additional', 'additional', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], 'hidden': ['extra0', 'extra1', 'extra2', 'extra3'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional', 'extra2': 'additional', 'extra3': 'additional'}}, [['extra0', 'extra1', 'extra2', 'extra3'], [['additional', 'extra0'], ['additional', 'extra1'], ['additional', 'extra2'], ['additional', 'extra3']], False, [], [4, 5, 6, 7], ['additional', 'additional', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], 'hidden': ['d', 'b', 'extra0', 'extra1', 'extra2', 'extra3'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional', 'extra2': 'additional', 'extra3': 'additional'}}, [['b', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0'], ['additional', 'extra1'], ['additional', 'extra2'], ['additional', 'extra3']], True, ['b'], [1, 3, 4, 5, 6, 7], ['same', 'same', 'additional', 'additional', 'additional', 'additional']])]}
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 | [['b', 'd'], [['same', 'b'], ['same', 'd']], True, ['b'], [1, 3], ['same']] | [['b', 'd'], [['same', 'b'], ['same', 'd']], True, ['b'], [1, 3], ['same', 'same']] | Failed |
| workspace regression 1 | [['a', 'c'], [['one', 'a'], ['three', 'c']], False, [], [0, 2], ['one']] | [['a', 'c'], [['one', 'a'], ['three', 'c']], False, [], [0, 2], ['one', 'three']] | Failed |
| workspace regression 2 | [['b', 'd'], [['same', 'b'], ['same', 'd']], False, ['b'], [1, 3], ['same']] | [['b', 'd'], [['same', 'b'], ['same', 'd']], False, ['b'], [1, 3], ['same', 'same']] | Failed |
| workspace regression 3 | [['b', 'd'], [['same', 'b'], ['same', 'd']], True, ['d'], [1, 3], ['same']] | [['b', 'd'], [['same', 'b'], ['same', 'd']], True, ['d'], [1, 3], ['same', 'same']] | Failed |
| workspace regression 4 | [[], [], False, [], [], []] | [[], [], False, [], [], []] | Passed |
| workspace regression 5 | [['b', 'd'], [['same', 'b'], ['same', 'd']], True, ['b'], [1, 3], ['same']] | [['b', 'd'], [['same', 'b'], ['same', 'd']], True, ['b'], [1, 3], ['same', 'same']] | Failed |
SHA-256 / 01a99a20f10a0f5db2e167a9b18f76a745bdb903fb461d7e573c7aab26ad7ef2
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
r0 = [t for t in x['ids'] if t in x['hidden']]
r1 = [[x['labels'][t],t] for t in x['ids'] if t in x['hidden']]
r2 = x['active'] in x['hidden']
r3 = [t for t in x['ids'] if t in x['hidden'] and t in x['dirty']]
r4 = [i for i,t in enumerate(x['ids']) if t in x['hidden']]
r5 = [x['labels'][t] for t in x['ids'] if t in x['hidden']]
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: [({'ids': ['a', 'b', 'c', 'd'], 'hidden': ['b', 'd'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same'}}, [['b', 'd'], [['same', 'b'], ['same', 'd']], True, ['b'], [1, 3], ['same', 'same']]), ({'ids': ['a', 'b', 'c', 'd'], 'hidden': ['a', 'c'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same'}}, [['a', 'c'], [['one', 'a'], ['three', 'c']], False, [], [0, 2], ['one', 'three']]), ({'ids': ['a', 'b', 'c', 'd'], 'hidden': ['b', 'd'], 'active': 'a', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same'}}, [['b', 'd'], [['same', 'b'], ['same', 'd']], False, ['b'], [1, 3], ['same', 'same']]), ({'ids': ['a', 'b', 'c', 'd'], 'hidden': ['b', 'd'], 'active': 'd', 'dirty': ['d'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same'}}, [['b', 'd'], [['same', 'b'], ['same', 'd']], True, ['d'], [1, 3], ['same', 'same']]), ({'ids': ['a', 'b', 'c', 'd'], 'hidden': [], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same'}}, [[], [], False, [], [], []]), ({'ids': ['a', 'b', 'c', 'd'], 'hidden': ['d', 'b'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same'}}, [['b', 'd'], [['same', 'b'], ['same', 'd']], True, ['b'], [1, 3], ['same', 'same']])], 2: [({'ids': ['a', 'b', 'c', 'd', 'extra0'], 'hidden': ['b', 'd', 'extra0'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional'}}, [['b', 'd', 'extra0'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0']], True, ['b'], [1, 3, 4], ['same', 'same', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0'], 'hidden': ['a', 'c', 'extra0'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional'}}, [['a', 'c', 'extra0'], [['one', 'a'], ['three', 'c'], ['additional', 'extra0']], False, [], [0, 2, 4], ['one', 'three', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0'], 'hidden': ['b', 'd', 'extra0'], 'active': 'a', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional'}}, [['b', 'd', 'extra0'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0']], False, ['b'], [1, 3, 4], ['same', 'same', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0'], 'hidden': ['b', 'd', 'extra0'], 'active': 'd', 'dirty': ['d'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional'}}, [['b', 'd', 'extra0'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0']], True, ['d'], [1, 3, 4], ['same', 'same', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0'], 'hidden': ['extra0'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional'}}, [['extra0'], [['additional', 'extra0']], False, [], [4], ['additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0'], 'hidden': ['d', 'b', 'extra0'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional'}}, [['b', 'd', 'extra0'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0']], True, ['b'], [1, 3, 4], ['same', 'same', 'additional']])], 3: [({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1'], 'hidden': ['b', 'd', 'extra0', 'extra1'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional'}}, [['b', 'd', 'extra0', 'extra1'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0'], ['additional', 'extra1']], True, ['b'], [1, 3, 4, 5], ['same', 'same', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1'], 'hidden': ['a', 'c', 'extra0', 'extra1'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional'}}, [['a', 'c', 'extra0', 'extra1'], [['one', 'a'], ['three', 'c'], ['additional', 'extra0'], ['additional', 'extra1']], False, [], [0, 2, 4, 5], ['one', 'three', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1'], 'hidden': ['b', 'd', 'extra0', 'extra1'], 'active': 'a', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional'}}, [['b', 'd', 'extra0', 'extra1'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0'], ['additional', 'extra1']], False, ['b'], [1, 3, 4, 5], ['same', 'same', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1'], 'hidden': ['b', 'd', 'extra0', 'extra1'], 'active': 'd', 'dirty': ['d'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional'}}, [['b', 'd', 'extra0', 'extra1'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0'], ['additional', 'extra1']], True, ['d'], [1, 3, 4, 5], ['same', 'same', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1'], 'hidden': ['extra0', 'extra1'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional'}}, [['extra0', 'extra1'], [['additional', 'extra0'], ['additional', 'extra1']], False, [], [4, 5], ['additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1'], 'hidden': ['d', 'b', 'extra0', 'extra1'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional'}}, [['b', 'd', 'extra0', 'extra1'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0'], ['additional', 'extra1']], True, ['b'], [1, 3, 4, 5], ['same', 'same', 'additional', 'additional']])], 4: [({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1', 'extra2'], 'hidden': ['b', 'd', 'extra0', 'extra1', 'extra2'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional', 'extra2': 'additional'}}, [['b', 'd', 'extra0', 'extra1', 'extra2'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0'], ['additional', 'extra1'], ['additional', 'extra2']], True, ['b'], [1, 3, 4, 5, 6], ['same', 'same', 'additional', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1', 'extra2'], 'hidden': ['a', 'c', 'extra0', 'extra1', 'extra2'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional', 'extra2': 'additional'}}, [['a', 'c', 'extra0', 'extra1', 'extra2'], [['one', 'a'], ['three', 'c'], ['additional', 'extra0'], ['additional', 'extra1'], ['additional', 'extra2']], False, [], [0, 2, 4, 5, 6], ['one', 'three', 'additional', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1', 'extra2'], 'hidden': ['b', 'd', 'extra0', 'extra1', 'extra2'], 'active': 'a', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional', 'extra2': 'additional'}}, [['b', 'd', 'extra0', 'extra1', 'extra2'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0'], ['additional', 'extra1'], ['additional', 'extra2']], False, ['b'], [1, 3, 4, 5, 6], ['same', 'same', 'additional', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1', 'extra2'], 'hidden': ['b', 'd', 'extra0', 'extra1', 'extra2'], 'active': 'd', 'dirty': ['d'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional', 'extra2': 'additional'}}, [['b', 'd', 'extra0', 'extra1', 'extra2'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0'], ['additional', 'extra1'], ['additional', 'extra2']], True, ['d'], [1, 3, 4, 5, 6], ['same', 'same', 'additional', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1', 'extra2'], 'hidden': ['extra0', 'extra1', 'extra2'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional', 'extra2': 'additional'}}, [['extra0', 'extra1', 'extra2'], [['additional', 'extra0'], ['additional', 'extra1'], ['additional', 'extra2']], False, [], [4, 5, 6], ['additional', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1', 'extra2'], 'hidden': ['d', 'b', 'extra0', 'extra1', 'extra2'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional', 'extra2': 'additional'}}, [['b', 'd', 'extra0', 'extra1', 'extra2'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0'], ['additional', 'extra1'], ['additional', 'extra2']], True, ['b'], [1, 3, 4, 5, 6], ['same', 'same', 'additional', 'additional', 'additional']])], 5: [({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], 'hidden': ['b', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional', 'extra2': 'additional', 'extra3': 'additional'}}, [['b', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0'], ['additional', 'extra1'], ['additional', 'extra2'], ['additional', 'extra3']], True, ['b'], [1, 3, 4, 5, 6, 7], ['same', 'same', 'additional', 'additional', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], 'hidden': ['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional', 'extra2': 'additional', 'extra3': 'additional'}}, [['a', 'c', 'extra0', 'extra1', 'extra2', 'extra3'], [['one', 'a'], ['three', 'c'], ['additional', 'extra0'], ['additional', 'extra1'], ['additional', 'extra2'], ['additional', 'extra3']], False, [], [0, 2, 4, 5, 6, 7], ['one', 'three', 'additional', 'additional', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], 'hidden': ['b', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], 'active': 'a', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional', 'extra2': 'additional', 'extra3': 'additional'}}, [['b', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0'], ['additional', 'extra1'], ['additional', 'extra2'], ['additional', 'extra3']], False, ['b'], [1, 3, 4, 5, 6, 7], ['same', 'same', 'additional', 'additional', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], 'hidden': ['b', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], 'active': 'd', 'dirty': ['d'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional', 'extra2': 'additional', 'extra3': 'additional'}}, [['b', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0'], ['additional', 'extra1'], ['additional', 'extra2'], ['additional', 'extra3']], True, ['d'], [1, 3, 4, 5, 6, 7], ['same', 'same', 'additional', 'additional', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], 'hidden': ['extra0', 'extra1', 'extra2', 'extra3'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional', 'extra2': 'additional', 'extra3': 'additional'}}, [['extra0', 'extra1', 'extra2', 'extra3'], [['additional', 'extra0'], ['additional', 'extra1'], ['additional', 'extra2'], ['additional', 'extra3']], False, [], [4, 5, 6, 7], ['additional', 'additional', 'additional', 'additional']]), ({'ids': ['a', 'b', 'c', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], 'hidden': ['d', 'b', 'extra0', 'extra1', 'extra2', 'extra3'], 'active': 'd', 'dirty': ['b'], 'labels': {'a': 'one', 'b': 'same', 'c': 'three', 'd': 'same', 'extra0': 'additional', 'extra1': 'additional', 'extra2': 'additional', 'extra3': 'additional'}}, [['b', 'd', 'extra0', 'extra1', 'extra2', 'extra3'], [['same', 'b'], ['same', 'd'], ['additional', 'extra0'], ['additional', 'extra1'], ['additional', 'extra2'], ['additional', 'extra3']], True, ['b'], [1, 3, 4, 5, 6, 7], ['same', 'same', 'additional', 'additional', 'additional', 'additional']])]}
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 | [['b', 'd'], [['same', 'b'], ['same', 'd']], True, ['b'], [1, 3], ['same', 'same']] | [['b', 'd'], [['same', 'b'], ['same', 'd']], True, ['b'], [1, 3], ['same', 'same']] | Passed |
| workspace regression 1 | [['a', 'c'], [['one', 'a'], ['three', 'c']], False, [], [0, 2], ['one', 'three']] | [['a', 'c'], [['one', 'a'], ['three', 'c']], False, [], [0, 2], ['one', 'three']] | Passed |
| workspace regression 2 | [['b', 'd'], [['same', 'b'], ['same', 'd']], False, ['b'], [1, 3], ['same', 'same']] | [['b', 'd'], [['same', 'b'], ['same', 'd']], False, ['b'], [1, 3], ['same', 'same']] | Passed |
| workspace regression 3 | [['b', 'd'], [['same', 'b'], ['same', 'd']], True, ['d'], [1, 3], ['same', 'same']] | [['b', 'd'], [['same', 'b'], ['same', 'd']], True, ['d'], [1, 3], ['same', 'same']] | Passed |
| workspace regression 4 | [[], [], False, [], [], []] | [[], [], False, [], [], []] | Passed |
| workspace regression 5 | [['b', 'd'], [['same', 'b'], ['same', 'd']], True, ['b'], [1, 3], ['same', 'same']] | [['b', 'd'], [['same', 'b'], ['same', 'd']], True, ['b'], [1, 3], ['same', 'same']] | Passed |
SHA-256 / 0bb130f030e98e746508dafa550836c375a1d84a529a01b6414ba347cf46fe5f
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:44.961922+00:00.
Case digest / 13a5babc4aceeb77113d8108698ac1c92d684ab7c7df86a998cd267468bd0959