FAILURE MAP
← Case archive

FA-95251 / Warehouse slotting and bin packing / Open access

Pick sequence: canonical code not padded · case 01

Sequenced codes lose zero padding and fail to match labels on the rack.

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

ROOT CAUSE

The canonical formatter prints aisle and bay without two-digit padding.

VERIFIED REPAIR

Format aisle and bay with two digits.

Unsuccessful approach: Padding only the aisle still prints single-digit bays.

Case contract

codes "aisle-bay-level" with decimal parts and optional surrounding whitespace. Valid aisles 1-40, levels 1-6. Canonical form "AA-BB-L" (two-digit aisle and bay). Duplicates collapse. Sequence: aisles ascending; odd aisles walk bays ascending, even aisles descending; level ascending within a bay. Invalid codes are returned as given, sorted, duplicates kept. Return [sequence, invalid].

Why this case matters

Pick paths are sequenced from location codes in a serpentine walk.

1 / The failure

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

N = 1
observations = []
def solve(codes):
    seq = {}
    bad = []
    for code in codes:
        parts = code.strip().split('-')
        if len(parts) != 3 or not all(p.isdecimal() for p in parts):
            bad.append(code)
            continue
        a, b, l = (int(p) for p in parts)
        if not (1 <= a <= 40 and 1 <= l <= 6):
            bad.append(code)
            continue
        seq[(a, b, l)] = '%d-%d-%d' % (a, b, l)
    def walk(k):
        a, b, l = k
        return (a, b if a % 2 == 1 else -b, l)
    return [[seq[k] for k in sorted(seq, key=walk)], sorted(bad)]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['serpentine', [['2-01-1', '1-05-1', '2-09-1', '1-02-1']], [['01-02-1', '01-05-1', '02-09-1', '02-01-1'], []]], ['levels ascend', [['3-4-2', '3-4-1']], [['03-04-1', '03-04-2'], []]], ['whitespace', [[' 1-1-1\n', '\t1-2-1']], [['01-01-1', '01-02-1'], []]], ['range limits', [['40-1-6', '41-1-1', '1-1-7', '0-1-1']], [['40-01-6'], ['0-1-1', '1-1-7', '41-1-1']]], ['dedupe canonical', [['01-01-1', '1-1-1']], [['01-01-1'], []]], ['inner space invalid', [['1 -1-1', '1-1-1']], [['01-01-1'], ['1 -1-1']]], ['dup invalid kept', [['B', 'A', 'B']], [[], ['A', 'B', 'B']]], ['generated mix 8', [[' 3-05-2\n', '\t3-7-6\n', '03-05-1', '02-05-7\n']], [['03-05-1', '03-05-2', '03-07-6'], ['02-05-7\n']]]], [['generated mix 4', [['0 -05-7 ', '\t02-1-6 ', '\t41-1-2 ']], [['02-01-6'], ['\t41-1-2 ', '0 -05-7 ']]], ['generated mix 1', [['\t01-05-1 ', '01-05-0 ', '\t3-7-2\n', 'X01-05-0', '\t01-7-0 ']], [['01-05-1', '03-07-2'], ['\t01-7-0 ', '01-05-0 ', 'X01-05-0']]], ['inner space invalid', [['1 -1-1', '1-1-1']], [['01-01-1'], ['1 -1-1']]], ['dup invalid kept', [['B', 'A', 'B']], [[], ['A', 'B', 'B']]], ['serpentine', [['2-01-1', '1-05-1', '2-09-1', '1-02-1']], [['01-02-1', '01-05-1', '02-09-1', '02-01-1'], []]], ['whitespace', [[' 1-1-1\n', '\t1-2-1']], [['01-01-1', '01-02-1'], []]], ['generated mix 11', [['41-7-6', ' 1-12-1', ' 2-7-1', ' 0-1-7\n', '41-05-1\n', '\t41-05-6\n', '\t41-05-2 ']], [['01-12-1', '02-07-1'], ['\t41-05-2 ', '\t41-05-6\n', ' 0-1-7\n', '41-05-1\n', '41-7-6']]], ['generated mix 19', [['\t03-05-1', ' 03-7-7 ', 'X2-7-7 ', '41-05-7']], [['03-05-1'], [' 03-7-7 ', '41-05-7', 'X2-7-7 ']]]], [['generated mix 13', [[' 02-05-1 ', '01-12-6', 'X\t03-05-1\n', ' 1-7-6 ']], [['01-07-6', '01-12-6', '02-05-1'], ['X\t03-05-1\n']]], ['generated mix 10', [['\t40 -05-1', '40-7-7', '0-1-0', '\t03-05-1 ', '3-1-0', '3-1-7 ']], [['03-05-1'], ['\t40 -05-1', '0-1-0', '3-1-0', '3-1-7 ', '40-7-7']]], ['dedupe canonical', [['01-01-1', '1-1-1']], [['01-01-1'], []]], ['levels ascend', [['3-4-2', '3-4-1']], [['03-04-1', '03-04-2'], []]], ['inner space invalid', [['1 -1-1', '1-1-1']], [['01-01-1'], ['1 -1-1']]], ['dup invalid kept', [['B', 'A', 'B']], [[], ['A', 'B', 'B']]], ['generated mix 22', [[' 0-12-1', '3-12-0 ', 'X 01-7-1\n', '\t3-7-6 ', '3-12-1', ' 40-12-6 ', '\t03-7-7']], [['03-07-6', '03-12-1', '40-12-6'], ['\t03-7-7', ' 0-12-1', '3-12-0 ', 'X 01-7-1\n']]], ['generated mix 30', [['\t41-05-0 ', '\t3-1-1', '0-7-0 ', '\t1-7-7 ', ' 02-1-0', ' 03 -12-1']], [['03-01-1'], ['\t1-7-7 ', '\t41-05-0 ', ' 02-1-0', ' 03 -12-1', '0-7-0 ']]]], [['generated mix 21', [['2-12-2\n', '\t1-05-1\n', '1-12-1', ' 3-05-2 ', '02-05-2', '1 -12-7\n', '40-7-0 ']], [['01-05-1', '01-12-1', '02-12-2', '02-05-2', '03-05-2'], ['1 -12-7\n', '40-7-0 ']]], ['generated mix 16', [['X 41-1-0', '41-12-6\n', '\t3-1-1', ' 02-12-0\n', '40-05-6', '3-12-6\n', ' 02-1-2']], [['02-01-2', '03-01-1', '03-12-6', '40-05-6'], [' 02-12-0\n', '41-12-6\n', 'X 41-1-0']]], ['whitespace', [[' 1-1-1\n', '\t1-2-1']], [['01-01-1', '01-02-1'], []]], ['range limits', [['40-1-6', '41-1-1', '1-1-7', '0-1-1']], [['40-01-6'], ['0-1-1', '1-1-7', '41-1-1']]], ['dedupe canonical', [['01-01-1', '1-1-1']], [['01-01-1'], []]], ['levels ascend', [['3-4-2', '3-4-1']], [['03-04-1', '03-04-2'], []]], ['generated mix 33', [[' 01-1-2\n', ' 1-05-1 ', '\t01-12-7\n', ' 41-7-7 ', ' 41-1-6\n']], [['01-01-2', '01-05-1'], ['\t01-12-7\n', ' 41-1-6\n', ' 41-7-7 ']]], ['generated mix 41', [[' 2-12-1 ', '40-7-1\n', '\t03-1-2\n', '\t40-1-6\n', '01-7-6', '\t1-7-0\n']], [['01-07-6', '02-12-1', '03-01-2', '40-07-1', '40-01-6'], ['\t1-7-0\n']]]], [['generated mix 28', [['\t41-12-1\n', ' 2-12-2\n', '0-1-6 ', 'X\t1-05-7 ', ' 1 -12-6\n']], [['02-12-2'], ['\t41-12-1\n', ' 1 -12-6\n', '0-1-6 ', 'X\t1-05-7 ']]], ['generated mix 22', [[' 0-12-1', '3-12-0 ', 'X 01-7-1\n', '\t3-7-6 ', '3-12-1', ' 40-12-6 ', '\t03-7-7']], [['03-07-6', '03-12-1', '40-12-6'], ['\t03-7-7', ' 0-12-1', '3-12-0 ', 'X 01-7-1\n']]], ['dup invalid kept', [['B', 'A', 'B']], [[], ['A', 'B', 'B']]], ['serpentine', [['2-01-1', '1-05-1', '2-09-1', '1-02-1']], [['01-02-1', '01-05-1', '02-09-1', '02-01-1'], []]], ['whitespace', [[' 1-1-1\n', '\t1-2-1']], [['01-01-1', '01-02-1'], []]], ['range limits', [['40-1-6', '41-1-1', '1-1-7', '0-1-1']], [['40-01-6'], ['0-1-1', '1-1-7', '41-1-1']]], ['generated mix 44', [['\t3 -12-2\n', ' 3-1-7', ' 40-7-6\n']], [['40-07-6'], ['\t3 -12-2\n', ' 3-1-7']]], ['generated mix 52', [['1-1-7', '1-05-6', '03-7-2', '\t1-12-2 ', 'X\t0-7-2 ', '40-1-7', '\t1 -05-1 ']], [['01-05-6', '01-12-2', '03-07-2'], ['\t1 -05-1 ', '1-1-7', '40-1-7', 'X\t0-7-2 ']]]]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(*args), 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
serpentine[['1-2-1', '1-5-1', '2-9-1', '2-1-1'], []][['01-02-1', '01-05-1', '02-09-1', '02-01-1'], []]Failed
levels ascend[['3-4-1', '3-4-2'], []][['03-04-1', '03-04-2'], []]Failed
whitespace[['1-1-1', '1-2-1'], []][['01-01-1', '01-02-1'], []]Failed
range limits[['40-1-6'], ['0-1-1', '1-1-7', '41-1-1']][['40-01-6'], ['0-1-1', '1-1-7', '41-1-1']]Failed
dedupe canonical[['1-1-1'], []][['01-01-1'], []]Failed
inner space invalid[['1-1-1'], ['1 -1-1']][['01-01-1'], ['1 -1-1']]Failed
dup invalid kept[[], ['A', 'B', 'B']][[], ['A', 'B', 'B']]Passed
generated mix 8[['3-5-1', '3-5-2', '3-7-6'], ['02-05-7\n']][['03-05-1', '03-05-2', '03-07-6'], ['02-05-7\n']]Failed

SHA-256 / 29aa89c78e54cf642e43487a7c779644607e413415fde7338f72853b5aeb37a7

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(codes):
    seq = {}
    bad = []
    for code in codes:
        parts = code.strip().split('-')
        if len(parts) != 3 or not all(p.isdecimal() for p in parts):
            bad.append(code)
            continue
        a, b, l = (int(p) for p in parts)
        if not (1 <= a <= 40 and 1 <= l <= 6):
            bad.append(code)
            continue
        seq[(a, b, l)] = '%02d-%d-%d' % (a, b, l)
    def walk(k):
        a, b, l = k
        return (a, b if a % 2 == 1 else -b, l)
    return [[seq[k] for k in sorted(seq, key=walk)], sorted(bad)]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['serpentine', [['2-01-1', '1-05-1', '2-09-1', '1-02-1']], [['01-02-1', '01-05-1', '02-09-1', '02-01-1'], []]], ['levels ascend', [['3-4-2', '3-4-1']], [['03-04-1', '03-04-2'], []]], ['whitespace', [[' 1-1-1\n', '\t1-2-1']], [['01-01-1', '01-02-1'], []]], ['range limits', [['40-1-6', '41-1-1', '1-1-7', '0-1-1']], [['40-01-6'], ['0-1-1', '1-1-7', '41-1-1']]], ['dedupe canonical', [['01-01-1', '1-1-1']], [['01-01-1'], []]], ['inner space invalid', [['1 -1-1', '1-1-1']], [['01-01-1'], ['1 -1-1']]], ['dup invalid kept', [['B', 'A', 'B']], [[], ['A', 'B', 'B']]], ['generated mix 8', [[' 3-05-2\n', '\t3-7-6\n', '03-05-1', '02-05-7\n']], [['03-05-1', '03-05-2', '03-07-6'], ['02-05-7\n']]]], [['generated mix 4', [['0 -05-7 ', '\t02-1-6 ', '\t41-1-2 ']], [['02-01-6'], ['\t41-1-2 ', '0 -05-7 ']]], ['generated mix 1', [['\t01-05-1 ', '01-05-0 ', '\t3-7-2\n', 'X01-05-0', '\t01-7-0 ']], [['01-05-1', '03-07-2'], ['\t01-7-0 ', '01-05-0 ', 'X01-05-0']]], ['inner space invalid', [['1 -1-1', '1-1-1']], [['01-01-1'], ['1 -1-1']]], ['dup invalid kept', [['B', 'A', 'B']], [[], ['A', 'B', 'B']]], ['serpentine', [['2-01-1', '1-05-1', '2-09-1', '1-02-1']], [['01-02-1', '01-05-1', '02-09-1', '02-01-1'], []]], ['whitespace', [[' 1-1-1\n', '\t1-2-1']], [['01-01-1', '01-02-1'], []]], ['generated mix 11', [['41-7-6', ' 1-12-1', ' 2-7-1', ' 0-1-7\n', '41-05-1\n', '\t41-05-6\n', '\t41-05-2 ']], [['01-12-1', '02-07-1'], ['\t41-05-2 ', '\t41-05-6\n', ' 0-1-7\n', '41-05-1\n', '41-7-6']]], ['generated mix 19', [['\t03-05-1', ' 03-7-7 ', 'X2-7-7 ', '41-05-7']], [['03-05-1'], [' 03-7-7 ', '41-05-7', 'X2-7-7 ']]]], [['generated mix 13', [[' 02-05-1 ', '01-12-6', 'X\t03-05-1\n', ' 1-7-6 ']], [['01-07-6', '01-12-6', '02-05-1'], ['X\t03-05-1\n']]], ['generated mix 10', [['\t40 -05-1', '40-7-7', '0-1-0', '\t03-05-1 ', '3-1-0', '3-1-7 ']], [['03-05-1'], ['\t40 -05-1', '0-1-0', '3-1-0', '3-1-7 ', '40-7-7']]], ['dedupe canonical', [['01-01-1', '1-1-1']], [['01-01-1'], []]], ['levels ascend', [['3-4-2', '3-4-1']], [['03-04-1', '03-04-2'], []]], ['inner space invalid', [['1 -1-1', '1-1-1']], [['01-01-1'], ['1 -1-1']]], ['dup invalid kept', [['B', 'A', 'B']], [[], ['A', 'B', 'B']]], ['generated mix 22', [[' 0-12-1', '3-12-0 ', 'X 01-7-1\n', '\t3-7-6 ', '3-12-1', ' 40-12-6 ', '\t03-7-7']], [['03-07-6', '03-12-1', '40-12-6'], ['\t03-7-7', ' 0-12-1', '3-12-0 ', 'X 01-7-1\n']]], ['generated mix 30', [['\t41-05-0 ', '\t3-1-1', '0-7-0 ', '\t1-7-7 ', ' 02-1-0', ' 03 -12-1']], [['03-01-1'], ['\t1-7-7 ', '\t41-05-0 ', ' 02-1-0', ' 03 -12-1', '0-7-0 ']]]], [['generated mix 21', [['2-12-2\n', '\t1-05-1\n', '1-12-1', ' 3-05-2 ', '02-05-2', '1 -12-7\n', '40-7-0 ']], [['01-05-1', '01-12-1', '02-12-2', '02-05-2', '03-05-2'], ['1 -12-7\n', '40-7-0 ']]], ['generated mix 16', [['X 41-1-0', '41-12-6\n', '\t3-1-1', ' 02-12-0\n', '40-05-6', '3-12-6\n', ' 02-1-2']], [['02-01-2', '03-01-1', '03-12-6', '40-05-6'], [' 02-12-0\n', '41-12-6\n', 'X 41-1-0']]], ['whitespace', [[' 1-1-1\n', '\t1-2-1']], [['01-01-1', '01-02-1'], []]], ['range limits', [['40-1-6', '41-1-1', '1-1-7', '0-1-1']], [['40-01-6'], ['0-1-1', '1-1-7', '41-1-1']]], ['dedupe canonical', [['01-01-1', '1-1-1']], [['01-01-1'], []]], ['levels ascend', [['3-4-2', '3-4-1']], [['03-04-1', '03-04-2'], []]], ['generated mix 33', [[' 01-1-2\n', ' 1-05-1 ', '\t01-12-7\n', ' 41-7-7 ', ' 41-1-6\n']], [['01-01-2', '01-05-1'], ['\t01-12-7\n', ' 41-1-6\n', ' 41-7-7 ']]], ['generated mix 41', [[' 2-12-1 ', '40-7-1\n', '\t03-1-2\n', '\t40-1-6\n', '01-7-6', '\t1-7-0\n']], [['01-07-6', '02-12-1', '03-01-2', '40-07-1', '40-01-6'], ['\t1-7-0\n']]]], [['generated mix 28', [['\t41-12-1\n', ' 2-12-2\n', '0-1-6 ', 'X\t1-05-7 ', ' 1 -12-6\n']], [['02-12-2'], ['\t41-12-1\n', ' 1 -12-6\n', '0-1-6 ', 'X\t1-05-7 ']]], ['generated mix 22', [[' 0-12-1', '3-12-0 ', 'X 01-7-1\n', '\t3-7-6 ', '3-12-1', ' 40-12-6 ', '\t03-7-7']], [['03-07-6', '03-12-1', '40-12-6'], ['\t03-7-7', ' 0-12-1', '3-12-0 ', 'X 01-7-1\n']]], ['dup invalid kept', [['B', 'A', 'B']], [[], ['A', 'B', 'B']]], ['serpentine', [['2-01-1', '1-05-1', '2-09-1', '1-02-1']], [['01-02-1', '01-05-1', '02-09-1', '02-01-1'], []]], ['whitespace', [[' 1-1-1\n', '\t1-2-1']], [['01-01-1', '01-02-1'], []]], ['range limits', [['40-1-6', '41-1-1', '1-1-7', '0-1-1']], [['40-01-6'], ['0-1-1', '1-1-7', '41-1-1']]], ['generated mix 44', [['\t3 -12-2\n', ' 3-1-7', ' 40-7-6\n']], [['40-07-6'], ['\t3 -12-2\n', ' 3-1-7']]], ['generated mix 52', [['1-1-7', '1-05-6', '03-7-2', '\t1-12-2 ', 'X\t0-7-2 ', '40-1-7', '\t1 -05-1 ']], [['01-05-6', '01-12-2', '03-07-2'], ['\t1 -05-1 ', '1-1-7', '40-1-7', 'X\t0-7-2 ']]]]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(*args), 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
serpentine[['01-2-1', '01-5-1', '02-9-1', '02-1-1'], []][['01-02-1', '01-05-1', '02-09-1', '02-01-1'], []]Failed
levels ascend[['03-4-1', '03-4-2'], []][['03-04-1', '03-04-2'], []]Failed
whitespace[['01-1-1', '01-2-1'], []][['01-01-1', '01-02-1'], []]Failed
range limits[['40-1-6'], ['0-1-1', '1-1-7', '41-1-1']][['40-01-6'], ['0-1-1', '1-1-7', '41-1-1']]Failed
dedupe canonical[['01-1-1'], []][['01-01-1'], []]Failed
inner space invalid[['01-1-1'], ['1 -1-1']][['01-01-1'], ['1 -1-1']]Failed
dup invalid kept[[], ['A', 'B', 'B']][[], ['A', 'B', 'B']]Passed
generated mix 8[['03-5-1', '03-5-2', '03-7-6'], ['02-05-7\n']][['03-05-1', '03-05-2', '03-07-6'], ['02-05-7\n']]Failed

SHA-256 / 859db807bab948955617e6fbc9fd48dd129cfe4ac54c8c7c86da45f940f4a194

3 / The verified repair

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

N = 1
observations = []
def solve(codes):
    seq = {}
    bad = []
    for code in codes:
        parts = code.strip().split('-')
        if len(parts) != 3 or not all(p.isdecimal() for p in parts):
            bad.append(code)
            continue
        a, b, l = (int(p) for p in parts)
        if not (1 <= a <= 40 and 1 <= l <= 6):
            bad.append(code)
            continue
        seq[(a, b, l)] = '%02d-%02d-%d' % (a, b, l)
    def walk(k):
        a, b, l = k
        return (a, b if a % 2 == 1 else -b, l)
    return [[seq[k] for k in sorted(seq, key=walk)], sorted(bad)]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['serpentine', [['2-01-1', '1-05-1', '2-09-1', '1-02-1']], [['01-02-1', '01-05-1', '02-09-1', '02-01-1'], []]], ['levels ascend', [['3-4-2', '3-4-1']], [['03-04-1', '03-04-2'], []]], ['whitespace', [[' 1-1-1\n', '\t1-2-1']], [['01-01-1', '01-02-1'], []]], ['range limits', [['40-1-6', '41-1-1', '1-1-7', '0-1-1']], [['40-01-6'], ['0-1-1', '1-1-7', '41-1-1']]], ['dedupe canonical', [['01-01-1', '1-1-1']], [['01-01-1'], []]], ['inner space invalid', [['1 -1-1', '1-1-1']], [['01-01-1'], ['1 -1-1']]], ['dup invalid kept', [['B', 'A', 'B']], [[], ['A', 'B', 'B']]], ['generated mix 8', [[' 3-05-2\n', '\t3-7-6\n', '03-05-1', '02-05-7\n']], [['03-05-1', '03-05-2', '03-07-6'], ['02-05-7\n']]]], [['generated mix 4', [['0 -05-7 ', '\t02-1-6 ', '\t41-1-2 ']], [['02-01-6'], ['\t41-1-2 ', '0 -05-7 ']]], ['generated mix 1', [['\t01-05-1 ', '01-05-0 ', '\t3-7-2\n', 'X01-05-0', '\t01-7-0 ']], [['01-05-1', '03-07-2'], ['\t01-7-0 ', '01-05-0 ', 'X01-05-0']]], ['inner space invalid', [['1 -1-1', '1-1-1']], [['01-01-1'], ['1 -1-1']]], ['dup invalid kept', [['B', 'A', 'B']], [[], ['A', 'B', 'B']]], ['serpentine', [['2-01-1', '1-05-1', '2-09-1', '1-02-1']], [['01-02-1', '01-05-1', '02-09-1', '02-01-1'], []]], ['whitespace', [[' 1-1-1\n', '\t1-2-1']], [['01-01-1', '01-02-1'], []]], ['generated mix 11', [['41-7-6', ' 1-12-1', ' 2-7-1', ' 0-1-7\n', '41-05-1\n', '\t41-05-6\n', '\t41-05-2 ']], [['01-12-1', '02-07-1'], ['\t41-05-2 ', '\t41-05-6\n', ' 0-1-7\n', '41-05-1\n', '41-7-6']]], ['generated mix 19', [['\t03-05-1', ' 03-7-7 ', 'X2-7-7 ', '41-05-7']], [['03-05-1'], [' 03-7-7 ', '41-05-7', 'X2-7-7 ']]]], [['generated mix 13', [[' 02-05-1 ', '01-12-6', 'X\t03-05-1\n', ' 1-7-6 ']], [['01-07-6', '01-12-6', '02-05-1'], ['X\t03-05-1\n']]], ['generated mix 10', [['\t40 -05-1', '40-7-7', '0-1-0', '\t03-05-1 ', '3-1-0', '3-1-7 ']], [['03-05-1'], ['\t40 -05-1', '0-1-0', '3-1-0', '3-1-7 ', '40-7-7']]], ['dedupe canonical', [['01-01-1', '1-1-1']], [['01-01-1'], []]], ['levels ascend', [['3-4-2', '3-4-1']], [['03-04-1', '03-04-2'], []]], ['inner space invalid', [['1 -1-1', '1-1-1']], [['01-01-1'], ['1 -1-1']]], ['dup invalid kept', [['B', 'A', 'B']], [[], ['A', 'B', 'B']]], ['generated mix 22', [[' 0-12-1', '3-12-0 ', 'X 01-7-1\n', '\t3-7-6 ', '3-12-1', ' 40-12-6 ', '\t03-7-7']], [['03-07-6', '03-12-1', '40-12-6'], ['\t03-7-7', ' 0-12-1', '3-12-0 ', 'X 01-7-1\n']]], ['generated mix 30', [['\t41-05-0 ', '\t3-1-1', '0-7-0 ', '\t1-7-7 ', ' 02-1-0', ' 03 -12-1']], [['03-01-1'], ['\t1-7-7 ', '\t41-05-0 ', ' 02-1-0', ' 03 -12-1', '0-7-0 ']]]], [['generated mix 21', [['2-12-2\n', '\t1-05-1\n', '1-12-1', ' 3-05-2 ', '02-05-2', '1 -12-7\n', '40-7-0 ']], [['01-05-1', '01-12-1', '02-12-2', '02-05-2', '03-05-2'], ['1 -12-7\n', '40-7-0 ']]], ['generated mix 16', [['X 41-1-0', '41-12-6\n', '\t3-1-1', ' 02-12-0\n', '40-05-6', '3-12-6\n', ' 02-1-2']], [['02-01-2', '03-01-1', '03-12-6', '40-05-6'], [' 02-12-0\n', '41-12-6\n', 'X 41-1-0']]], ['whitespace', [[' 1-1-1\n', '\t1-2-1']], [['01-01-1', '01-02-1'], []]], ['range limits', [['40-1-6', '41-1-1', '1-1-7', '0-1-1']], [['40-01-6'], ['0-1-1', '1-1-7', '41-1-1']]], ['dedupe canonical', [['01-01-1', '1-1-1']], [['01-01-1'], []]], ['levels ascend', [['3-4-2', '3-4-1']], [['03-04-1', '03-04-2'], []]], ['generated mix 33', [[' 01-1-2\n', ' 1-05-1 ', '\t01-12-7\n', ' 41-7-7 ', ' 41-1-6\n']], [['01-01-2', '01-05-1'], ['\t01-12-7\n', ' 41-1-6\n', ' 41-7-7 ']]], ['generated mix 41', [[' 2-12-1 ', '40-7-1\n', '\t03-1-2\n', '\t40-1-6\n', '01-7-6', '\t1-7-0\n']], [['01-07-6', '02-12-1', '03-01-2', '40-07-1', '40-01-6'], ['\t1-7-0\n']]]], [['generated mix 28', [['\t41-12-1\n', ' 2-12-2\n', '0-1-6 ', 'X\t1-05-7 ', ' 1 -12-6\n']], [['02-12-2'], ['\t41-12-1\n', ' 1 -12-6\n', '0-1-6 ', 'X\t1-05-7 ']]], ['generated mix 22', [[' 0-12-1', '3-12-0 ', 'X 01-7-1\n', '\t3-7-6 ', '3-12-1', ' 40-12-6 ', '\t03-7-7']], [['03-07-6', '03-12-1', '40-12-6'], ['\t03-7-7', ' 0-12-1', '3-12-0 ', 'X 01-7-1\n']]], ['dup invalid kept', [['B', 'A', 'B']], [[], ['A', 'B', 'B']]], ['serpentine', [['2-01-1', '1-05-1', '2-09-1', '1-02-1']], [['01-02-1', '01-05-1', '02-09-1', '02-01-1'], []]], ['whitespace', [[' 1-1-1\n', '\t1-2-1']], [['01-01-1', '01-02-1'], []]], ['range limits', [['40-1-6', '41-1-1', '1-1-7', '0-1-1']], [['40-01-6'], ['0-1-1', '1-1-7', '41-1-1']]], ['generated mix 44', [['\t3 -12-2\n', ' 3-1-7', ' 40-7-6\n']], [['40-07-6'], ['\t3 -12-2\n', ' 3-1-7']]], ['generated mix 52', [['1-1-7', '1-05-6', '03-7-2', '\t1-12-2 ', 'X\t0-7-2 ', '40-1-7', '\t1 -05-1 ']], [['01-05-6', '01-12-2', '03-07-2'], ['\t1 -05-1 ', '1-1-7', '40-1-7', 'X\t0-7-2 ']]]]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(*args), 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
serpentine[['01-02-1', '01-05-1', '02-09-1', '02-01-1'], []][['01-02-1', '01-05-1', '02-09-1', '02-01-1'], []]Passed
levels ascend[['03-04-1', '03-04-2'], []][['03-04-1', '03-04-2'], []]Passed
whitespace[['01-01-1', '01-02-1'], []][['01-01-1', '01-02-1'], []]Passed
range limits[['40-01-6'], ['0-1-1', '1-1-7', '41-1-1']][['40-01-6'], ['0-1-1', '1-1-7', '41-1-1']]Passed
dedupe canonical[['01-01-1'], []][['01-01-1'], []]Passed
inner space invalid[['01-01-1'], ['1 -1-1']][['01-01-1'], ['1 -1-1']]Passed
dup invalid kept[[], ['A', 'B', 'B']][[], ['A', 'B', 'B']]Passed
generated mix 8[['03-05-1', '03-05-2', '03-07-6'], ['02-05-7\n']][['03-05-1', '03-05-2', '03-07-6'], ['02-05-7\n']]Passed

SHA-256 / 6fdda31da17a4f22dbb1a73f9546b4f45af48cd7de5511da149b4c02eea95a46

Verification & scope

Stipulated code format and layout; no cross aisles or zone routing. 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:52:11.976506+00:00.

Case digest / dfec8bb4b68c275ba452befb59db020fe4e37c2d54b5fdc664479529e7f45f3f