FAILURE MAP
← Case archive

FA-35711 / Tab interfaces / Open access

Tab label disambiguation: pinned marker · case 01

The tab workspace reports an incorrect pinned marker.

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

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 fixtureActualExpectedOutcome
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 fixtureActualExpectedOutcome
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 fixtureActualExpectedOutcome
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