FA-35721 / Tab interfaces / Open access
Tab label disambiguation: ellipsis budget · case 01
The tab workspace reports an incorrect ellipsis budget.
ROOT CAUSE
The ellipsis budget decision uses x['name'][:x['max_chars']] instead of x['name'] if len(x['name'])<=x['max_chars'] else x['name'][:max(0,x['max_chars']-1)]+'…'.
VERIFIED REPAIR
Use the stipulated workspace rule: x['name'] if len(x['name'])<=x['max_chars'] else x['name'][:max(0,x['max_chars']-1)]+'…'.
Unsuccessful approach: The partial repair x['name'][:x['max_chars']]+'…' still violates a workspace boundary or normal case.
Case contract
Duplicate basenames receive parent-directory suffixes; singleton basenames remain short. Dirty marker, pin marker and tooltip are independent label channels.
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['name']+' — '+x['parent'] if x['duplicates']>1 else x['name']
r1 = '•' if x['dirty'] else ''
r2 = 'pin' if x['pinned'] else ''
r3 = x['path']
r4 = x['name'][:x['max_chars']]
r5 = x['name']+' '+x['parent']
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: [({'name': 'main.py', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.py \u2014 src', '\u2022', 'pin', '/project/src/main.py', 'main.py', 'main.py src']), ({'name': 'main.py', 'parent': 'src', 'duplicates': 1, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.py', '\u2022', 'pin', '/project/src/main.py', 'main.py', 'main.py src']), ({'name': 'main.py', 'parent': 'src', 'duplicates': 2, 'dirty': False, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.py \u2014 src', '', 'pin', '/project/src/main.py', 'main.py', 'main.py src']), ({'name': 'main.py', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': False, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.py \u2014 src', '\u2022', '', '/project/src/main.py', 'main.py', 'main.py src']), ({'name': 'x', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 1}, ['x \u2014 src', '\u2022', 'pin', '/project/src/main.py', 'x', 'x src']), ({'name': 'main.py', 'parent': 'tests', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.py \u2014 tests', '\u2022', 'pin', '/project/src/main.py', 'main.py', 'main.py tests']), ({'name': 'main.py', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 4}, ['main.py \u2014 src', '\u2022', 'pin', '/project/src/main.py', 'mai\u2026', 'main.py src'])], 2: [({'name': 'main.pyx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyx \u2014 src', '\u2022', 'pin', '/project/src/main.py', 'main.pyx', 'main.pyx src']), ({'name': 'main.pyx', 'parent': 'src', 'duplicates': 1, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyx', '\u2022', 'pin', '/project/src/main.py', 'main.pyx', 'main.pyx src']), ({'name': 'main.pyx', 'parent': 'src', 'duplicates': 2, 'dirty': False, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyx \u2014 src', '', 'pin', '/project/src/main.py', 'main.pyx', 'main.pyx src']), ({'name': 'main.pyx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': False, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyx \u2014 src', '\u2022', '', '/project/src/main.py', 'main.pyx', 'main.pyx src']), ({'name': 'xx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 1}, ['xx \u2014 src', '\u2022', 'pin', '/project/src/main.py', '\u2026', 'xx src']), ({'name': 'main.pyx', 'parent': 'tests', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyx \u2014 tests', '\u2022', 'pin', '/project/src/main.py', 'main.pyx', 'main.pyx tests']), ({'name': 'main.pyx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 4}, ['main.pyx \u2014 src', '\u2022', 'pin', '/project/src/main.py', 'mai\u2026', 'main.pyx src'])], 3: [({'name': 'main.pyxx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxx \u2014 src', '\u2022', 'pin', '/project/src/main.py', 'main.py\u2026', 'main.pyxx src']), ({'name': 'main.pyxx', 'parent': 'src', 'duplicates': 1, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxx', '\u2022', 'pin', '/project/src/main.py', 'main.py\u2026', 'main.pyxx src']), ({'name': 'main.pyxx', 'parent': 'src', 'duplicates': 2, 'dirty': False, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxx \u2014 src', '', 'pin', '/project/src/main.py', 'main.py\u2026', 'main.pyxx src']), ({'name': 'main.pyxx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': False, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxx \u2014 src', '\u2022', '', '/project/src/main.py', 'main.py\u2026', 'main.pyxx src']), ({'name': 'xxx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 1}, ['xxx \u2014 src', '\u2022', 'pin', '/project/src/main.py', '\u2026', 'xxx src']), ({'name': 'main.pyxx', 'parent': 'tests', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxx \u2014 tests', '\u2022', 'pin', '/project/src/main.py', 'main.py\u2026', 'main.pyxx tests']), ({'name': 'main.pyxx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 4}, ['main.pyxx \u2014 src', '\u2022', 'pin', '/project/src/main.py', 'mai\u2026', 'main.pyxx src'])], 4: [({'name': 'main.pyxxx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxxx \u2014 src', '\u2022', 'pin', '/project/src/main.py', 'main.py\u2026', 'main.pyxxx src']), ({'name': 'main.pyxxx', 'parent': 'src', 'duplicates': 1, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxxx', '\u2022', 'pin', '/project/src/main.py', 'main.py\u2026', 'main.pyxxx src']), ({'name': 'main.pyxxx', 'parent': 'src', 'duplicates': 2, 'dirty': False, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxxx \u2014 src', '', 'pin', '/project/src/main.py', 'main.py\u2026', 'main.pyxxx src']), ({'name': 'main.pyxxx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': False, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxxx \u2014 src', '\u2022', '', '/project/src/main.py', 'main.py\u2026', 'main.pyxxx src']), ({'name': 'xxxx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 1}, ['xxxx \u2014 src', '\u2022', 'pin', '/project/src/main.py', '\u2026', 'xxxx src']), ({'name': 'main.pyxxx', 'parent': 'tests', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxxx \u2014 tests', '\u2022', 'pin', '/project/src/main.py', 'main.py\u2026', 'main.pyxxx tests']), ({'name': 'main.pyxxx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 4}, ['main.pyxxx \u2014 src', '\u2022', 'pin', '/project/src/main.py', 'mai\u2026', 'main.pyxxx src'])], 5: [({'name': 'main.pyxxxx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxxxx \u2014 src', '\u2022', 'pin', '/project/src/main.py', 'main.py\u2026', 'main.pyxxxx src']), ({'name': 'main.pyxxxx', 'parent': 'src', 'duplicates': 1, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxxxx', '\u2022', 'pin', '/project/src/main.py', 'main.py\u2026', 'main.pyxxxx src']), ({'name': 'main.pyxxxx', 'parent': 'src', 'duplicates': 2, 'dirty': False, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxxxx \u2014 src', '', 'pin', '/project/src/main.py', 'main.py\u2026', 'main.pyxxxx src']), ({'name': 'main.pyxxxx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': False, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxxxx \u2014 src', '\u2022', '', '/project/src/main.py', 'main.py\u2026', 'main.pyxxxx src']), ({'name': 'xxxxx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 1}, ['xxxxx \u2014 src', '\u2022', 'pin', '/project/src/main.py', '\u2026', 'xxxxx src']), ({'name': 'main.pyxxxx', 'parent': 'tests', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxxxx \u2014 tests', '\u2022', 'pin', '/project/src/main.py', 'main.py\u2026', 'main.pyxxxx tests']), ({'name': 'main.pyxxxx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 4}, ['main.pyxxxx \u2014 src', '\u2022', 'pin', '/project/src/main.py', 'mai\u2026', 'main.pyxxxx src'])]}
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 | ['main.py — src', '•', 'pin', '/project/src/main.py', 'main.py', 'main.py src'] | ['main.py — src', '•', 'pin', '/project/src/main.py', 'main.py', 'main.py src'] | Passed |
| workspace regression 1 | ['main.py', '•', 'pin', '/project/src/main.py', 'main.py', 'main.py src'] | ['main.py', '•', 'pin', '/project/src/main.py', 'main.py', 'main.py src'] | Passed |
| workspace regression 2 | ['main.py — src', '', 'pin', '/project/src/main.py', 'main.py', 'main.py src'] | ['main.py — src', '', 'pin', '/project/src/main.py', 'main.py', 'main.py src'] | Passed |
| workspace regression 3 | ['main.py — src', '•', '', '/project/src/main.py', 'main.py', 'main.py src'] | ['main.py — src', '•', '', '/project/src/main.py', 'main.py', 'main.py src'] | Passed |
| workspace regression 4 | ['x — src', '•', 'pin', '/project/src/main.py', 'x', 'x src'] | ['x — src', '•', 'pin', '/project/src/main.py', 'x', 'x src'] | Passed |
| workspace regression 5 | ['main.py — tests', '•', 'pin', '/project/src/main.py', 'main.py', 'main.py tests'] | ['main.py — tests', '•', 'pin', '/project/src/main.py', 'main.py', 'main.py tests'] | Passed |
| workspace regression 6 | ['main.py — src', '•', 'pin', '/project/src/main.py', 'main', 'main.py src'] | ['main.py — src', '•', 'pin', '/project/src/main.py', 'mai…', 'main.py src'] | Failed |
SHA-256 / 3787faf887e3a926f7cb236d1311f96a87a491473bf2a02b3c7c45bca647028e
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
r0 = x['name']+' — '+x['parent'] if x['duplicates']>1 else x['name']
r1 = '•' if x['dirty'] else ''
r2 = 'pin' if x['pinned'] else ''
r3 = x['path']
r4 = x['name'][:x['max_chars']]+'…'
r5 = x['name']+' '+x['parent']
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: [({'name': 'main.py', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.py \u2014 src', '\u2022', 'pin', '/project/src/main.py', 'main.py', 'main.py src']), ({'name': 'main.py', 'parent': 'src', 'duplicates': 1, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.py', '\u2022', 'pin', '/project/src/main.py', 'main.py', 'main.py src']), ({'name': 'main.py', 'parent': 'src', 'duplicates': 2, 'dirty': False, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.py \u2014 src', '', 'pin', '/project/src/main.py', 'main.py', 'main.py src']), ({'name': 'main.py', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': False, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.py \u2014 src', '\u2022', '', '/project/src/main.py', 'main.py', 'main.py src']), ({'name': 'x', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 1}, ['x \u2014 src', '\u2022', 'pin', '/project/src/main.py', 'x', 'x src']), ({'name': 'main.py', 'parent': 'tests', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.py \u2014 tests', '\u2022', 'pin', '/project/src/main.py', 'main.py', 'main.py tests']), ({'name': 'main.py', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 4}, ['main.py \u2014 src', '\u2022', 'pin', '/project/src/main.py', 'mai\u2026', 'main.py src'])], 2: [({'name': 'main.pyx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyx \u2014 src', '\u2022', 'pin', '/project/src/main.py', 'main.pyx', 'main.pyx src']), ({'name': 'main.pyx', 'parent': 'src', 'duplicates': 1, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyx', '\u2022', 'pin', '/project/src/main.py', 'main.pyx', 'main.pyx src']), ({'name': 'main.pyx', 'parent': 'src', 'duplicates': 2, 'dirty': False, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyx \u2014 src', '', 'pin', '/project/src/main.py', 'main.pyx', 'main.pyx src']), ({'name': 'main.pyx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': False, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyx \u2014 src', '\u2022', '', '/project/src/main.py', 'main.pyx', 'main.pyx src']), ({'name': 'xx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 1}, ['xx \u2014 src', '\u2022', 'pin', '/project/src/main.py', '\u2026', 'xx src']), ({'name': 'main.pyx', 'parent': 'tests', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyx \u2014 tests', '\u2022', 'pin', '/project/src/main.py', 'main.pyx', 'main.pyx tests']), ({'name': 'main.pyx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 4}, ['main.pyx \u2014 src', '\u2022', 'pin', '/project/src/main.py', 'mai\u2026', 'main.pyx src'])], 3: [({'name': 'main.pyxx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxx \u2014 src', '\u2022', 'pin', '/project/src/main.py', 'main.py\u2026', 'main.pyxx src']), ({'name': 'main.pyxx', 'parent': 'src', 'duplicates': 1, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxx', '\u2022', 'pin', '/project/src/main.py', 'main.py\u2026', 'main.pyxx src']), ({'name': 'main.pyxx', 'parent': 'src', 'duplicates': 2, 'dirty': False, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxx \u2014 src', '', 'pin', '/project/src/main.py', 'main.py\u2026', 'main.pyxx src']), ({'name': 'main.pyxx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': False, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxx \u2014 src', '\u2022', '', '/project/src/main.py', 'main.py\u2026', 'main.pyxx src']), ({'name': 'xxx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 1}, ['xxx \u2014 src', '\u2022', 'pin', '/project/src/main.py', '\u2026', 'xxx src']), ({'name': 'main.pyxx', 'parent': 'tests', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxx \u2014 tests', '\u2022', 'pin', '/project/src/main.py', 'main.py\u2026', 'main.pyxx tests']), ({'name': 'main.pyxx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 4}, ['main.pyxx \u2014 src', '\u2022', 'pin', '/project/src/main.py', 'mai\u2026', 'main.pyxx src'])], 4: [({'name': 'main.pyxxx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxxx \u2014 src', '\u2022', 'pin', '/project/src/main.py', 'main.py\u2026', 'main.pyxxx src']), ({'name': 'main.pyxxx', 'parent': 'src', 'duplicates': 1, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxxx', '\u2022', 'pin', '/project/src/main.py', 'main.py\u2026', 'main.pyxxx src']), ({'name': 'main.pyxxx', 'parent': 'src', 'duplicates': 2, 'dirty': False, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxxx \u2014 src', '', 'pin', '/project/src/main.py', 'main.py\u2026', 'main.pyxxx src']), ({'name': 'main.pyxxx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': False, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxxx \u2014 src', '\u2022', '', '/project/src/main.py', 'main.py\u2026', 'main.pyxxx src']), ({'name': 'xxxx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 1}, ['xxxx \u2014 src', '\u2022', 'pin', '/project/src/main.py', '\u2026', 'xxxx src']), ({'name': 'main.pyxxx', 'parent': 'tests', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxxx \u2014 tests', '\u2022', 'pin', '/project/src/main.py', 'main.py\u2026', 'main.pyxxx tests']), ({'name': 'main.pyxxx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 4}, ['main.pyxxx \u2014 src', '\u2022', 'pin', '/project/src/main.py', 'mai\u2026', 'main.pyxxx src'])], 5: [({'name': 'main.pyxxxx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxxxx \u2014 src', '\u2022', 'pin', '/project/src/main.py', 'main.py\u2026', 'main.pyxxxx src']), ({'name': 'main.pyxxxx', 'parent': 'src', 'duplicates': 1, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxxxx', '\u2022', 'pin', '/project/src/main.py', 'main.py\u2026', 'main.pyxxxx src']), ({'name': 'main.pyxxxx', 'parent': 'src', 'duplicates': 2, 'dirty': False, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxxxx \u2014 src', '', 'pin', '/project/src/main.py', 'main.py\u2026', 'main.pyxxxx src']), ({'name': 'main.pyxxxx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': False, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxxxx \u2014 src', '\u2022', '', '/project/src/main.py', 'main.py\u2026', 'main.pyxxxx src']), ({'name': 'xxxxx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 1}, ['xxxxx \u2014 src', '\u2022', 'pin', '/project/src/main.py', '\u2026', 'xxxxx src']), ({'name': 'main.pyxxxx', 'parent': 'tests', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxxxx \u2014 tests', '\u2022', 'pin', '/project/src/main.py', 'main.py\u2026', 'main.pyxxxx tests']), ({'name': 'main.pyxxxx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 4}, ['main.pyxxxx \u2014 src', '\u2022', 'pin', '/project/src/main.py', 'mai\u2026', 'main.pyxxxx src'])]}
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 | ['main.py — src', '•', 'pin', '/project/src/main.py', 'main.py…', 'main.py src'] | ['main.py — src', '•', 'pin', '/project/src/main.py', 'main.py', 'main.py src'] | Failed |
| workspace regression 1 | ['main.py', '•', 'pin', '/project/src/main.py', 'main.py…', 'main.py src'] | ['main.py', '•', 'pin', '/project/src/main.py', 'main.py', 'main.py src'] | Failed |
| workspace regression 2 | ['main.py — src', '', 'pin', '/project/src/main.py', 'main.py…', 'main.py src'] | ['main.py — src', '', 'pin', '/project/src/main.py', 'main.py', 'main.py src'] | Failed |
| workspace regression 3 | ['main.py — src', '•', '', '/project/src/main.py', 'main.py…', 'main.py src'] | ['main.py — src', '•', '', '/project/src/main.py', 'main.py', 'main.py src'] | Failed |
| workspace regression 4 | ['x — src', '•', 'pin', '/project/src/main.py', 'x…', 'x src'] | ['x — src', '•', 'pin', '/project/src/main.py', 'x', 'x src'] | Failed |
| workspace regression 5 | ['main.py — tests', '•', 'pin', '/project/src/main.py', 'main.py…', 'main.py tests'] | ['main.py — tests', '•', 'pin', '/project/src/main.py', 'main.py', 'main.py tests'] | Failed |
| workspace regression 6 | ['main.py — src', '•', 'pin', '/project/src/main.py', 'main…', 'main.py src'] | ['main.py — src', '•', 'pin', '/project/src/main.py', 'mai…', 'main.py src'] | Failed |
SHA-256 / 62061d8281e040a4170a38aec7c21b739158686c1ec7d01c582a21743b5083e7
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
r0 = x['name']+' — '+x['parent'] if x['duplicates']>1 else x['name']
r1 = '•' if x['dirty'] else ''
r2 = 'pin' if x['pinned'] else ''
r3 = x['path']
r4 = x['name'] if len(x['name'])<=x['max_chars'] else x['name'][:max(0,x['max_chars']-1)]+'…'
r5 = x['name']+' '+x['parent']
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: [({'name': 'main.py', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.py \u2014 src', '\u2022', 'pin', '/project/src/main.py', 'main.py', 'main.py src']), ({'name': 'main.py', 'parent': 'src', 'duplicates': 1, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.py', '\u2022', 'pin', '/project/src/main.py', 'main.py', 'main.py src']), ({'name': 'main.py', 'parent': 'src', 'duplicates': 2, 'dirty': False, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.py \u2014 src', '', 'pin', '/project/src/main.py', 'main.py', 'main.py src']), ({'name': 'main.py', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': False, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.py \u2014 src', '\u2022', '', '/project/src/main.py', 'main.py', 'main.py src']), ({'name': 'x', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 1}, ['x \u2014 src', '\u2022', 'pin', '/project/src/main.py', 'x', 'x src']), ({'name': 'main.py', 'parent': 'tests', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.py \u2014 tests', '\u2022', 'pin', '/project/src/main.py', 'main.py', 'main.py tests']), ({'name': 'main.py', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 4}, ['main.py \u2014 src', '\u2022', 'pin', '/project/src/main.py', 'mai\u2026', 'main.py src'])], 2: [({'name': 'main.pyx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyx \u2014 src', '\u2022', 'pin', '/project/src/main.py', 'main.pyx', 'main.pyx src']), ({'name': 'main.pyx', 'parent': 'src', 'duplicates': 1, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyx', '\u2022', 'pin', '/project/src/main.py', 'main.pyx', 'main.pyx src']), ({'name': 'main.pyx', 'parent': 'src', 'duplicates': 2, 'dirty': False, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyx \u2014 src', '', 'pin', '/project/src/main.py', 'main.pyx', 'main.pyx src']), ({'name': 'main.pyx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': False, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyx \u2014 src', '\u2022', '', '/project/src/main.py', 'main.pyx', 'main.pyx src']), ({'name': 'xx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 1}, ['xx \u2014 src', '\u2022', 'pin', '/project/src/main.py', '\u2026', 'xx src']), ({'name': 'main.pyx', 'parent': 'tests', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyx \u2014 tests', '\u2022', 'pin', '/project/src/main.py', 'main.pyx', 'main.pyx tests']), ({'name': 'main.pyx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 4}, ['main.pyx \u2014 src', '\u2022', 'pin', '/project/src/main.py', 'mai\u2026', 'main.pyx src'])], 3: [({'name': 'main.pyxx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxx \u2014 src', '\u2022', 'pin', '/project/src/main.py', 'main.py\u2026', 'main.pyxx src']), ({'name': 'main.pyxx', 'parent': 'src', 'duplicates': 1, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxx', '\u2022', 'pin', '/project/src/main.py', 'main.py\u2026', 'main.pyxx src']), ({'name': 'main.pyxx', 'parent': 'src', 'duplicates': 2, 'dirty': False, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxx \u2014 src', '', 'pin', '/project/src/main.py', 'main.py\u2026', 'main.pyxx src']), ({'name': 'main.pyxx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': False, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxx \u2014 src', '\u2022', '', '/project/src/main.py', 'main.py\u2026', 'main.pyxx src']), ({'name': 'xxx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 1}, ['xxx \u2014 src', '\u2022', 'pin', '/project/src/main.py', '\u2026', 'xxx src']), ({'name': 'main.pyxx', 'parent': 'tests', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxx \u2014 tests', '\u2022', 'pin', '/project/src/main.py', 'main.py\u2026', 'main.pyxx tests']), ({'name': 'main.pyxx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 4}, ['main.pyxx \u2014 src', '\u2022', 'pin', '/project/src/main.py', 'mai\u2026', 'main.pyxx src'])], 4: [({'name': 'main.pyxxx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxxx \u2014 src', '\u2022', 'pin', '/project/src/main.py', 'main.py\u2026', 'main.pyxxx src']), ({'name': 'main.pyxxx', 'parent': 'src', 'duplicates': 1, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxxx', '\u2022', 'pin', '/project/src/main.py', 'main.py\u2026', 'main.pyxxx src']), ({'name': 'main.pyxxx', 'parent': 'src', 'duplicates': 2, 'dirty': False, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxxx \u2014 src', '', 'pin', '/project/src/main.py', 'main.py\u2026', 'main.pyxxx src']), ({'name': 'main.pyxxx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': False, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxxx \u2014 src', '\u2022', '', '/project/src/main.py', 'main.py\u2026', 'main.pyxxx src']), ({'name': 'xxxx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 1}, ['xxxx \u2014 src', '\u2022', 'pin', '/project/src/main.py', '\u2026', 'xxxx src']), ({'name': 'main.pyxxx', 'parent': 'tests', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxxx \u2014 tests', '\u2022', 'pin', '/project/src/main.py', 'main.py\u2026', 'main.pyxxx tests']), ({'name': 'main.pyxxx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 4}, ['main.pyxxx \u2014 src', '\u2022', 'pin', '/project/src/main.py', 'mai\u2026', 'main.pyxxx src'])], 5: [({'name': 'main.pyxxxx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxxxx \u2014 src', '\u2022', 'pin', '/project/src/main.py', 'main.py\u2026', 'main.pyxxxx src']), ({'name': 'main.pyxxxx', 'parent': 'src', 'duplicates': 1, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxxxx', '\u2022', 'pin', '/project/src/main.py', 'main.py\u2026', 'main.pyxxxx src']), ({'name': 'main.pyxxxx', 'parent': 'src', 'duplicates': 2, 'dirty': False, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxxxx \u2014 src', '', 'pin', '/project/src/main.py', 'main.py\u2026', 'main.pyxxxx src']), ({'name': 'main.pyxxxx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': False, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxxxx \u2014 src', '\u2022', '', '/project/src/main.py', 'main.py\u2026', 'main.pyxxxx src']), ({'name': 'xxxxx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 1}, ['xxxxx \u2014 src', '\u2022', 'pin', '/project/src/main.py', '\u2026', 'xxxxx src']), ({'name': 'main.pyxxxx', 'parent': 'tests', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 8}, ['main.pyxxxx \u2014 tests', '\u2022', 'pin', '/project/src/main.py', 'main.py\u2026', 'main.pyxxxx tests']), ({'name': 'main.pyxxxx', 'parent': 'src', 'duplicates': 2, 'dirty': True, 'pinned': True, 'path': '/project/src/main.py', 'max_chars': 4}, ['main.pyxxxx \u2014 src', '\u2022', 'pin', '/project/src/main.py', 'mai\u2026', 'main.pyxxxx src'])]}
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 | ['main.py — src', '•', 'pin', '/project/src/main.py', 'main.py', 'main.py src'] | ['main.py — src', '•', 'pin', '/project/src/main.py', 'main.py', 'main.py src'] | Passed |
| workspace regression 1 | ['main.py', '•', 'pin', '/project/src/main.py', 'main.py', 'main.py src'] | ['main.py', '•', 'pin', '/project/src/main.py', 'main.py', 'main.py src'] | Passed |
| workspace regression 2 | ['main.py — src', '', 'pin', '/project/src/main.py', 'main.py', 'main.py src'] | ['main.py — src', '', 'pin', '/project/src/main.py', 'main.py', 'main.py src'] | Passed |
| workspace regression 3 | ['main.py — src', '•', '', '/project/src/main.py', 'main.py', 'main.py src'] | ['main.py — src', '•', '', '/project/src/main.py', 'main.py', 'main.py src'] | Passed |
| workspace regression 4 | ['x — src', '•', 'pin', '/project/src/main.py', 'x', 'x src'] | ['x — src', '•', 'pin', '/project/src/main.py', 'x', 'x src'] | Passed |
| workspace regression 5 | ['main.py — tests', '•', 'pin', '/project/src/main.py', 'main.py', 'main.py tests'] | ['main.py — tests', '•', 'pin', '/project/src/main.py', 'main.py', 'main.py tests'] | Passed |
| workspace regression 6 | ['main.py — src', '•', 'pin', '/project/src/main.py', 'mai…', 'main.py src'] | ['main.py — src', '•', 'pin', '/project/src/main.py', 'mai…', 'main.py src'] | Passed |
SHA-256 / a52e19f3fffb6939acf8ddaa5853173d31cf63ba3b06657068f54b0349cb0a38
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.316594+00:00.
Case digest / 1fdadbed6e93d292555c9394faf6758a9a21e750a651c49e8286327c608f05dc