FA-35711 / Tab interfaces / Open access
Tab label disambiguation: pinned marker · case 01
The tab workspace reports an incorrect pinned marker.
ROOT CAUSE
The pinned marker decision uses '' instead of 'pin' if x['pinned'] else ''.
VERIFIED REPAIR
Use the stipulated workspace rule: 'pin' if x['pinned'] else ''.
Unsuccessful approach: The partial repair 'pin' if x['pinned'] and not x['dirty'] else '' 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 = ''
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', '•', '', '/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', '•', '', '/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', '', '', '/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'] | Passed |
| workspace regression 4 | ['x — src', '•', '', '/project/src/main.py', 'x', 'x src'] | ['x — src', '•', 'pin', '/project/src/main.py', 'x', 'x src'] | Failed |
| workspace regression 5 | ['main.py — tests', '•', '', '/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', '•', '', '/project/src/main.py', 'mai…', 'main.py src'] | ['main.py — src', '•', 'pin', '/project/src/main.py', 'mai…', 'main.py src'] | Failed |
SHA-256 / a44c41314c8e7b3b5c77ea071209b09fa7f9bd9a1c29794c65827ad03c3b76e9
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'] and not x['dirty'] 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', '•', '', '/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', '•', '', '/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'] | 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', '•', '', '/project/src/main.py', 'x', 'x src'] | ['x — src', '•', 'pin', '/project/src/main.py', 'x', 'x src'] | Failed |
| workspace regression 5 | ['main.py — tests', '•', '', '/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', '•', '', '/project/src/main.py', 'mai…', 'main.py src'] | ['main.py — src', '•', 'pin', '/project/src/main.py', 'mai…', 'main.py src'] | Failed |
SHA-256 / 6816b6c38aacf1e48e651cad1000ede85b1d68445b2d236e3552a7969c72805f
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.274653+00:00.
Case digest / 1d3ccf44542afa80b5dc28666a4ad0c36859696fdd3cb3721cc5aff0a4116b73