{"abstract":"Lower-case labels such as g or b1 are not found.","category":"Elevator dispatch scheduling","checks":8,"contract":"Physical indices 0..floors-1 are labelled bottom-up: basements Bk..B1, then G, then M if there is a mezzanine, then 1, 2, 3 ... skipping 13 when skip13. label:i returns the label of index i (None outside the range); index:L returns the index of label L (case-insensitive) or None.","evaluation_group":"w2-elevator_dispatch_scheduling-floor-label-mapping","failed_approach":"Folding to lower case never matches the upper-case labels.","family":"w2-elevator_dispatch_scheduling-floor-label-mapping-label-case-folding","id":"FA-67471","implementations":{"attempt":{"sha256":"6c5db3476bf019ceea5a7ce126fd1e4d7b222f6fd4c67735183a3b7516309642","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    labels = ['B%d' % i for i in range(x['basements'], 0, -1)] + ['G']\n    if x['mezz']:\n        labels.append('M')\n    num = 1\n    while len(labels) < x['floors']:\n        if x['skip13'] and num == 13:\n            num += 1\n            continue\n        labels.append(str(num))\n        num += 1\n    out = []\n    for q in x['queries']:\n        kind, val = q.split(':')\n        if kind == 'label':\n            i = int(val)\n            out.append(labels[i] if 0 <= i < len(labels) else None)\n        else:\n            v = val.lower()\n            out.append(labels.index(v) if v in labels else None)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: ground floor index', {'basements': 0, 'mezz': True, 'skip13': True, 'floors': 10, 'queries': ['label:0', 'index:g', 'index:m']}, ['G', 0, 1]), ('boundary: two basements', {'basements': 2, 'mezz': False, 'skip13': True, 'floors': 8, 'queries': ['label:0', 'label:1', 'index:B1', 'index:B2']}, ['B2', 'B1', 1, 0]), ('sampled regression 4', {'basements': 0, 'mezz': False, 'skip13': True, 'floors': 15, 'queries': ['index:B1', 'label:-1', 'index:g', 'label:13', 'index:13', 'index:14']}, [None, None, 0, '14', None, 13]), ('boundary: thirteen skipped', {'basements': 0, 'mezz': False, 'skip13': True, 'floors': 16, 'queries': ['label:13', 'index:14', 'index:13']}, ['14', 13, None]), ('boundary: thirteen kept', {'basements': 0, 'mezz': False, 'skip13': False, 'floors': 16, 'queries': ['label:13', 'index:13']}, ['13', 13]), ('control 1', {'basements': 0, 'mezz': True, 'skip13': True, 'floors': 9, 'queries': ['label:2', 'index:B1', 'index:B1', 'label:9', 'index:15', 'label:9']}, ['1', None, None, None, None, None]), ('control 7', {'basements': 1, 'mezz': True, 'skip13': True, 'floors': 9, 'queries': ['index:G', 'index:B2', 'index:14', 'label:8', 'label:-1', 'label:5']}, [1, None, None, '6', None, '3']), ('control 10', {'basements': 1, 'mezz': True, 'skip13': True, 'floors': 16, 'queries': ['index:14', 'index:1', 'index:14', 'index:14', 'label:17', 'index:1']}, [15, 3, 15, 15, None, 3])], [('regression: ground floor index', {'basements': 0, 'mezz': True, 'skip13': True, 'floors': 10, 'queries': ['label:0', 'index:g', 'index:m']}, ['G', 0, 1]), ('sampled regression 23', {'basements': 2, 'mezz': True, 'skip13': True, 'floors': 18, 'queries': ['index:B2', 'label:5', 'index:15', 'index:B1', 'index:b2', 'index:g']}, [0, '2', 17, 1, 0, 2]), ('sampled regression 6', {'basements': 1, 'mezz': False, 'skip13': False, 'floors': 11, 'queries': ['index:13', 'label:0', 'index:g', 'index:13', 'label:11', 'index:17']}, [None, 'B1', 1, None, None, None]), ('boundary: thirteen kept', {'basements': 0, 'mezz': False, 'skip13': False, 'floors': 16, 'queries': ['label:13', 'index:13']}, ['13', 13]), ('boundary: negative index', {'basements': 1, 'mezz': True, 'skip13': True, 'floors': 10, 'queries': ['label:-1', 'label:0']}, [None, 'B1']), ('control 12', {'basements': 0, 'mezz': True, 'skip13': True, 'floors': 8, 'queries': ['index:B2', 'index:20', 'index:12', 'index:13', 'index:12', 'label:-1']}, [None, None, None, None, None, None]), ('control 15', {'basements': 2, 'mezz': True, 'skip13': True, 'floors': 15, 'queries': ['label:14', 'index:1', 'index:13', 'label:0', 'label:7', 'index:X']}, ['11', 4, None, 'B2', '4', None]), ('control 18', {'basements': 1, 'mezz': True, 'skip13': True, 'floors': 18, 'queries': ['index:B1', 'label:-1', 'index:12', 'index:15', 'label:16', 'index:20']}, [0, None, 14, 16, '15', None])], [('regression: ground floor index', {'basements': 0, 'mezz': True, 'skip13': True, 'floors': 10, 'queries': ['label:0', 'index:g', 'index:m']}, ['G', 0, 1]), ('boundary: two basements', {'basements': 2, 'mezz': False, 'skip13': True, 'floors': 8, 'queries': ['label:0', 'label:1', 'index:B1', 'index:B2']}, ['B2', 'B1', 1, 0]), ('sampled regression 44', {'basements': 1, 'mezz': True, 'skip13': True, 'floors': 15, 'queries': ['label:-1', 'label:15', 'label:16', 'index:13', 'index:g', 'label:4']}, [None, None, None, None, 1, '2']), ('sampled regression 14', {'basements': 2, 'mezz': False, 'skip13': True, 'floors': 16, 'queries': ['label:7', 'index:M', 'index:b2', 'index:g', 'index:b2', 'label:9']}, ['5', None, 0, 2, 0, '7']), ('boundary: twenty-six with skip', {'basements': 0, 'mezz': False, 'skip13': True, 'floors': 30, 'queries': ['label:26', 'label:27', 'index:26']}, ['27', '28', 25]), ('sampled regression 23', {'basements': 2, 'mezz': True, 'skip13': True, 'floors': 18, 'queries': ['index:B2', 'label:5', 'index:15', 'index:B1', 'index:b2', 'index:g']}, [0, '2', 17, 1, 0, 2]), ('control 26', {'basements': 1, 'mezz': True, 'skip13': True, 'floors': 8, 'queries': ['index:G', 'label:-1', 'label:6', 'label:3', 'index:G', 'label:-1']}, [1, None, '4', '1', 1, None]), ('control 29', {'basements': 1, 'mezz': False, 'skip13': False, 'floors': 14, 'queries': ['label:11', 'label:6', 'label:14', 'label:2', 'index:b2', 'index:M']}, ['10', '5', None, '1', None, None])], [('regression: ground floor index', {'basements': 0, 'mezz': True, 'skip13': True, 'floors': 10, 'queries': ['label:0', 'index:g', 'index:m']}, ['G', 0, 1]), ('sampled regression 63', {'basements': 2, 'mezz': False, 'skip13': False, 'floors': 6, 'queries': ['index:14', 'label:5', 'index:b2', 'index:B1', 'label:0', 'index:14']}, [None, '3', 0, 1, 'B2', None]), ('control 22', {'basements': 1, 'mezz': False, 'skip13': True, 'floors': 17, 'queries': ['label:18', 'index:m', 'label:0', 'index:G', 'label:6', 'index:X']}, [None, None, 'B1', 1, '5', None]), ('boundary: index past the top', {'basements': 0, 'mezz': False, 'skip13': True, 'floors': 6, 'queries': ['label:6', 'label:5']}, [None, '5']), ('boundary: two basements', {'basements': 2, 'mezz': False, 'skip13': True, 'floors': 8, 'queries': ['label:0', 'label:1', 'index:B1', 'index:B2']}, ['B2', 'B1', 1, 0]), ('control 34', {'basements': 0, 'mezz': False, 'skip13': False, 'floors': 6, 'queries': ['index:B2', 'index:M', 'label:4', 'index:13', 'label:-2', 'label:5']}, [None, None, '4', None, None, '5']), ('control 37', {'basements': 1, 'mezz': False, 'skip13': True, 'floors': 19, 'queries': ['label:15', 'index:17', 'label:5', 'index:15', 'index:M', 'index:B1']}, ['15', 17, '4', 15, None, 0]), ('sampled regression 40', {'basements': 1, 'mezz': True, 'skip13': False, 'floors': 13, 'queries': ['index:B2', 'index:B2', 'index:g', 'index:17', 'index:17', 'label:13']}, [None, None, 1, None, None, None])], [('regression: ground floor index', {'basements': 0, 'mezz': True, 'skip13': True, 'floors': 10, 'queries': ['label:0', 'index:g', 'index:m']}, ['G', 0, 1]), ('boundary: two basements', {'basements': 2, 'mezz': False, 'skip13': True, 'floors': 8, 'queries': ['label:0', 'label:1', 'index:B1', 'index:B2']}, ['B2', 'B1', 1, 0]), ('sampled regression 79', {'basements': 1, 'mezz': False, 'skip13': True, 'floors': 11, 'queries': ['index:17', 'index:m', 'index:X', 'index:20', 'index:g', 'label:0']}, [None, None, None, None, 1, 'B1']), ('control 30', {'basements': 2, 'mezz': True, 'skip13': False, 'floors': 19, 'queries': ['index:B1', 'label:0', 'label:3', 'label:19', 'index:1', 'index:12']}, [1, 'B2', 'M', None, 4, 15]), ('boundary: thirteen skipped', {'basements': 0, 'mezz': False, 'skip13': True, 'floors': 16, 'queries': ['label:13', 'index:14', 'index:13']}, ['14', 13, None]), ('sampled regression 45', {'basements': 0, 'mezz': False, 'skip13': False, 'floors': 6, 'queries': ['index:m', 'index:15', 'label:4', 'index:g', 'index:17', 'label:7']}, [None, None, '4', 0, None, None]), ('sampled regression 48', {'basements': 0, 'mezz': True, 'skip13': True, 'floors': 17, 'queries': ['label:8', 'label:5', 'index:m', 'label:13', 'label:-1', 'label:16']}, ['7', '4', 1, '12', None, '16']), ('control 51', {'basements': 2, 'mezz': False, 'skip13': False, 'floors': 10, 'queries': ['label:6', 'label:-2', 'label:8', 'label:-2', 'label:7', 'index:B1']}, ['4', None, '6', None, '5', 1])]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"6d4564c95b559d16ede3414df04c08a7847faeb207a29efc2d392daeab7ece98","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    labels = ['B%d' % i for i in range(x['basements'], 0, -1)] + ['G']\n    if x['mezz']:\n        labels.append('M')\n    num = 1\n    while len(labels) < x['floors']:\n        if x['skip13'] and num == 13:\n            num += 1\n            continue\n        labels.append(str(num))\n        num += 1\n    out = []\n    for q in x['queries']:\n        kind, val = q.split(':')\n        if kind == 'label':\n            i = int(val)\n            out.append(labels[i] if 0 <= i < len(labels) else None)\n        else:\n            v = val\n            out.append(labels.index(v) if v in labels else None)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: ground floor index', {'basements': 0, 'mezz': True, 'skip13': True, 'floors': 10, 'queries': ['label:0', 'index:g', 'index:m']}, ['G', 0, 1]), ('boundary: two basements', {'basements': 2, 'mezz': False, 'skip13': True, 'floors': 8, 'queries': ['label:0', 'label:1', 'index:B1', 'index:B2']}, ['B2', 'B1', 1, 0]), ('sampled regression 4', {'basements': 0, 'mezz': False, 'skip13': True, 'floors': 15, 'queries': ['index:B1', 'label:-1', 'index:g', 'label:13', 'index:13', 'index:14']}, [None, None, 0, '14', None, 13]), ('boundary: thirteen skipped', {'basements': 0, 'mezz': False, 'skip13': True, 'floors': 16, 'queries': ['label:13', 'index:14', 'index:13']}, ['14', 13, None]), ('boundary: thirteen kept', {'basements': 0, 'mezz': False, 'skip13': False, 'floors': 16, 'queries': ['label:13', 'index:13']}, ['13', 13]), ('control 1', {'basements': 0, 'mezz': True, 'skip13': True, 'floors': 9, 'queries': ['label:2', 'index:B1', 'index:B1', 'label:9', 'index:15', 'label:9']}, ['1', None, None, None, None, None]), ('control 7', {'basements': 1, 'mezz': True, 'skip13': True, 'floors': 9, 'queries': ['index:G', 'index:B2', 'index:14', 'label:8', 'label:-1', 'label:5']}, [1, None, None, '6', None, '3']), ('control 10', {'basements': 1, 'mezz': True, 'skip13': True, 'floors': 16, 'queries': ['index:14', 'index:1', 'index:14', 'index:14', 'label:17', 'index:1']}, [15, 3, 15, 15, None, 3])], [('regression: ground floor index', {'basements': 0, 'mezz': True, 'skip13': True, 'floors': 10, 'queries': ['label:0', 'index:g', 'index:m']}, ['G', 0, 1]), ('sampled regression 23', {'basements': 2, 'mezz': True, 'skip13': True, 'floors': 18, 'queries': ['index:B2', 'label:5', 'index:15', 'index:B1', 'index:b2', 'index:g']}, [0, '2', 17, 1, 0, 2]), ('sampled regression 6', {'basements': 1, 'mezz': False, 'skip13': False, 'floors': 11, 'queries': ['index:13', 'label:0', 'index:g', 'index:13', 'label:11', 'index:17']}, [None, 'B1', 1, None, None, None]), ('boundary: thirteen kept', {'basements': 0, 'mezz': False, 'skip13': False, 'floors': 16, 'queries': ['label:13', 'index:13']}, ['13', 13]), ('boundary: negative index', {'basements': 1, 'mezz': True, 'skip13': True, 'floors': 10, 'queries': ['label:-1', 'label:0']}, [None, 'B1']), ('control 12', {'basements': 0, 'mezz': True, 'skip13': True, 'floors': 8, 'queries': ['index:B2', 'index:20', 'index:12', 'index:13', 'index:12', 'label:-1']}, [None, None, None, None, None, None]), ('control 15', {'basements': 2, 'mezz': True, 'skip13': True, 'floors': 15, 'queries': ['label:14', 'index:1', 'index:13', 'label:0', 'label:7', 'index:X']}, ['11', 4, None, 'B2', '4', None]), ('control 18', {'basements': 1, 'mezz': True, 'skip13': True, 'floors': 18, 'queries': ['index:B1', 'label:-1', 'index:12', 'index:15', 'label:16', 'index:20']}, [0, None, 14, 16, '15', None])], [('regression: ground floor index', {'basements': 0, 'mezz': True, 'skip13': True, 'floors': 10, 'queries': ['label:0', 'index:g', 'index:m']}, ['G', 0, 1]), ('boundary: two basements', {'basements': 2, 'mezz': False, 'skip13': True, 'floors': 8, 'queries': ['label:0', 'label:1', 'index:B1', 'index:B2']}, ['B2', 'B1', 1, 0]), ('sampled regression 44', {'basements': 1, 'mezz': True, 'skip13': True, 'floors': 15, 'queries': ['label:-1', 'label:15', 'label:16', 'index:13', 'index:g', 'label:4']}, [None, None, None, None, 1, '2']), ('sampled regression 14', {'basements': 2, 'mezz': False, 'skip13': True, 'floors': 16, 'queries': ['label:7', 'index:M', 'index:b2', 'index:g', 'index:b2', 'label:9']}, ['5', None, 0, 2, 0, '7']), ('boundary: twenty-six with skip', {'basements': 0, 'mezz': False, 'skip13': True, 'floors': 30, 'queries': ['label:26', 'label:27', 'index:26']}, ['27', '28', 25]), ('sampled regression 23', {'basements': 2, 'mezz': True, 'skip13': True, 'floors': 18, 'queries': ['index:B2', 'label:5', 'index:15', 'index:B1', 'index:b2', 'index:g']}, [0, '2', 17, 1, 0, 2]), ('control 26', {'basements': 1, 'mezz': True, 'skip13': True, 'floors': 8, 'queries': ['index:G', 'label:-1', 'label:6', 'label:3', 'index:G', 'label:-1']}, [1, None, '4', '1', 1, None]), ('control 29', {'basements': 1, 'mezz': False, 'skip13': False, 'floors': 14, 'queries': ['label:11', 'label:6', 'label:14', 'label:2', 'index:b2', 'index:M']}, ['10', '5', None, '1', None, None])], [('regression: ground floor index', {'basements': 0, 'mezz': True, 'skip13': True, 'floors': 10, 'queries': ['label:0', 'index:g', 'index:m']}, ['G', 0, 1]), ('sampled regression 63', {'basements': 2, 'mezz': False, 'skip13': False, 'floors': 6, 'queries': ['index:14', 'label:5', 'index:b2', 'index:B1', 'label:0', 'index:14']}, [None, '3', 0, 1, 'B2', None]), ('control 22', {'basements': 1, 'mezz': False, 'skip13': True, 'floors': 17, 'queries': ['label:18', 'index:m', 'label:0', 'index:G', 'label:6', 'index:X']}, [None, None, 'B1', 1, '5', None]), ('boundary: index past the top', {'basements': 0, 'mezz': False, 'skip13': True, 'floors': 6, 'queries': ['label:6', 'label:5']}, [None, '5']), ('boundary: two basements', {'basements': 2, 'mezz': False, 'skip13': True, 'floors': 8, 'queries': ['label:0', 'label:1', 'index:B1', 'index:B2']}, ['B2', 'B1', 1, 0]), ('control 34', {'basements': 0, 'mezz': False, 'skip13': False, 'floors': 6, 'queries': ['index:B2', 'index:M', 'label:4', 'index:13', 'label:-2', 'label:5']}, [None, None, '4', None, None, '5']), ('control 37', {'basements': 1, 'mezz': False, 'skip13': True, 'floors': 19, 'queries': ['label:15', 'index:17', 'label:5', 'index:15', 'index:M', 'index:B1']}, ['15', 17, '4', 15, None, 0]), ('sampled regression 40', {'basements': 1, 'mezz': True, 'skip13': False, 'floors': 13, 'queries': ['index:B2', 'index:B2', 'index:g', 'index:17', 'index:17', 'label:13']}, [None, None, 1, None, None, None])], [('regression: ground floor index', {'basements': 0, 'mezz': True, 'skip13': True, 'floors': 10, 'queries': ['label:0', 'index:g', 'index:m']}, ['G', 0, 1]), ('boundary: two basements', {'basements': 2, 'mezz': False, 'skip13': True, 'floors': 8, 'queries': ['label:0', 'label:1', 'index:B1', 'index:B2']}, ['B2', 'B1', 1, 0]), ('sampled regression 79', {'basements': 1, 'mezz': False, 'skip13': True, 'floors': 11, 'queries': ['index:17', 'index:m', 'index:X', 'index:20', 'index:g', 'label:0']}, [None, None, None, None, 1, 'B1']), ('control 30', {'basements': 2, 'mezz': True, 'skip13': False, 'floors': 19, 'queries': ['index:B1', 'label:0', 'label:3', 'label:19', 'index:1', 'index:12']}, [1, 'B2', 'M', None, 4, 15]), ('boundary: thirteen skipped', {'basements': 0, 'mezz': False, 'skip13': True, 'floors': 16, 'queries': ['label:13', 'index:14', 'index:13']}, ['14', 13, None]), ('sampled regression 45', {'basements': 0, 'mezz': False, 'skip13': False, 'floors': 6, 'queries': ['index:m', 'index:15', 'label:4', 'index:g', 'index:17', 'label:7']}, [None, None, '4', 0, None, None]), ('sampled regression 48', {'basements': 0, 'mezz': True, 'skip13': True, 'floors': 17, 'queries': ['label:8', 'label:5', 'index:m', 'label:13', 'label:-1', 'label:16']}, ['7', '4', 1, '12', None, '16']), ('control 51', {'basements': 2, 'mezz': False, 'skip13': False, 'floors': 10, 'queries': ['label:6', 'label:-2', 'label:8', 'label:-2', 'label:7', 'index:B1']}, ['4', None, '6', None, '5', 1])]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"70b34b8a04a5393a56db60586aa1b7b925213c27db13c2b25c79b3264252b32b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    labels = ['B%d' % i for i in range(x['basements'], 0, -1)] + ['G']\n    if x['mezz']:\n        labels.append('M')\n    num = 1\n    while len(labels) < x['floors']:\n        if x['skip13'] and num == 13:\n            num += 1\n            continue\n        labels.append(str(num))\n        num += 1\n    out = []\n    for q in x['queries']:\n        kind, val = q.split(':')\n        if kind == 'label':\n            i = int(val)\n            out.append(labels[i] if 0 <= i < len(labels) else None)\n        else:\n            v = val.upper()\n            out.append(labels.index(v) if v in labels else None)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: ground floor index', {'basements': 0, 'mezz': True, 'skip13': True, 'floors': 10, 'queries': ['label:0', 'index:g', 'index:m']}, ['G', 0, 1]), ('boundary: two basements', {'basements': 2, 'mezz': False, 'skip13': True, 'floors': 8, 'queries': ['label:0', 'label:1', 'index:B1', 'index:B2']}, ['B2', 'B1', 1, 0]), ('sampled regression 4', {'basements': 0, 'mezz': False, 'skip13': True, 'floors': 15, 'queries': ['index:B1', 'label:-1', 'index:g', 'label:13', 'index:13', 'index:14']}, [None, None, 0, '14', None, 13]), ('boundary: thirteen skipped', {'basements': 0, 'mezz': False, 'skip13': True, 'floors': 16, 'queries': ['label:13', 'index:14', 'index:13']}, ['14', 13, None]), ('boundary: thirteen kept', {'basements': 0, 'mezz': False, 'skip13': False, 'floors': 16, 'queries': ['label:13', 'index:13']}, ['13', 13]), ('control 1', {'basements': 0, 'mezz': True, 'skip13': True, 'floors': 9, 'queries': ['label:2', 'index:B1', 'index:B1', 'label:9', 'index:15', 'label:9']}, ['1', None, None, None, None, None]), ('control 7', {'basements': 1, 'mezz': True, 'skip13': True, 'floors': 9, 'queries': ['index:G', 'index:B2', 'index:14', 'label:8', 'label:-1', 'label:5']}, [1, None, None, '6', None, '3']), ('control 10', {'basements': 1, 'mezz': True, 'skip13': True, 'floors': 16, 'queries': ['index:14', 'index:1', 'index:14', 'index:14', 'label:17', 'index:1']}, [15, 3, 15, 15, None, 3])], [('regression: ground floor index', {'basements': 0, 'mezz': True, 'skip13': True, 'floors': 10, 'queries': ['label:0', 'index:g', 'index:m']}, ['G', 0, 1]), ('sampled regression 23', {'basements': 2, 'mezz': True, 'skip13': True, 'floors': 18, 'queries': ['index:B2', 'label:5', 'index:15', 'index:B1', 'index:b2', 'index:g']}, [0, '2', 17, 1, 0, 2]), ('sampled regression 6', {'basements': 1, 'mezz': False, 'skip13': False, 'floors': 11, 'queries': ['index:13', 'label:0', 'index:g', 'index:13', 'label:11', 'index:17']}, [None, 'B1', 1, None, None, None]), ('boundary: thirteen kept', {'basements': 0, 'mezz': False, 'skip13': False, 'floors': 16, 'queries': ['label:13', 'index:13']}, ['13', 13]), ('boundary: negative index', {'basements': 1, 'mezz': True, 'skip13': True, 'floors': 10, 'queries': ['label:-1', 'label:0']}, [None, 'B1']), ('control 12', {'basements': 0, 'mezz': True, 'skip13': True, 'floors': 8, 'queries': ['index:B2', 'index:20', 'index:12', 'index:13', 'index:12', 'label:-1']}, [None, None, None, None, None, None]), ('control 15', {'basements': 2, 'mezz': True, 'skip13': True, 'floors': 15, 'queries': ['label:14', 'index:1', 'index:13', 'label:0', 'label:7', 'index:X']}, ['11', 4, None, 'B2', '4', None]), ('control 18', {'basements': 1, 'mezz': True, 'skip13': True, 'floors': 18, 'queries': ['index:B1', 'label:-1', 'index:12', 'index:15', 'label:16', 'index:20']}, [0, None, 14, 16, '15', None])], [('regression: ground floor index', {'basements': 0, 'mezz': True, 'skip13': True, 'floors': 10, 'queries': ['label:0', 'index:g', 'index:m']}, ['G', 0, 1]), ('boundary: two basements', {'basements': 2, 'mezz': False, 'skip13': True, 'floors': 8, 'queries': ['label:0', 'label:1', 'index:B1', 'index:B2']}, ['B2', 'B1', 1, 0]), ('sampled regression 44', {'basements': 1, 'mezz': True, 'skip13': True, 'floors': 15, 'queries': ['label:-1', 'label:15', 'label:16', 'index:13', 'index:g', 'label:4']}, [None, None, None, None, 1, '2']), ('sampled regression 14', {'basements': 2, 'mezz': False, 'skip13': True, 'floors': 16, 'queries': ['label:7', 'index:M', 'index:b2', 'index:g', 'index:b2', 'label:9']}, ['5', None, 0, 2, 0, '7']), ('boundary: twenty-six with skip', {'basements': 0, 'mezz': False, 'skip13': True, 'floors': 30, 'queries': ['label:26', 'label:27', 'index:26']}, ['27', '28', 25]), ('sampled regression 23', {'basements': 2, 'mezz': True, 'skip13': True, 'floors': 18, 'queries': ['index:B2', 'label:5', 'index:15', 'index:B1', 'index:b2', 'index:g']}, [0, '2', 17, 1, 0, 2]), ('control 26', {'basements': 1, 'mezz': True, 'skip13': True, 'floors': 8, 'queries': ['index:G', 'label:-1', 'label:6', 'label:3', 'index:G', 'label:-1']}, [1, None, '4', '1', 1, None]), ('control 29', {'basements': 1, 'mezz': False, 'skip13': False, 'floors': 14, 'queries': ['label:11', 'label:6', 'label:14', 'label:2', 'index:b2', 'index:M']}, ['10', '5', None, '1', None, None])], [('regression: ground floor index', {'basements': 0, 'mezz': True, 'skip13': True, 'floors': 10, 'queries': ['label:0', 'index:g', 'index:m']}, ['G', 0, 1]), ('sampled regression 63', {'basements': 2, 'mezz': False, 'skip13': False, 'floors': 6, 'queries': ['index:14', 'label:5', 'index:b2', 'index:B1', 'label:0', 'index:14']}, [None, '3', 0, 1, 'B2', None]), ('control 22', {'basements': 1, 'mezz': False, 'skip13': True, 'floors': 17, 'queries': ['label:18', 'index:m', 'label:0', 'index:G', 'label:6', 'index:X']}, [None, None, 'B1', 1, '5', None]), ('boundary: index past the top', {'basements': 0, 'mezz': False, 'skip13': True, 'floors': 6, 'queries': ['label:6', 'label:5']}, [None, '5']), ('boundary: two basements', {'basements': 2, 'mezz': False, 'skip13': True, 'floors': 8, 'queries': ['label:0', 'label:1', 'index:B1', 'index:B2']}, ['B2', 'B1', 1, 0]), ('control 34', {'basements': 0, 'mezz': False, 'skip13': False, 'floors': 6, 'queries': ['index:B2', 'index:M', 'label:4', 'index:13', 'label:-2', 'label:5']}, [None, None, '4', None, None, '5']), ('control 37', {'basements': 1, 'mezz': False, 'skip13': True, 'floors': 19, 'queries': ['label:15', 'index:17', 'label:5', 'index:15', 'index:M', 'index:B1']}, ['15', 17, '4', 15, None, 0]), ('sampled regression 40', {'basements': 1, 'mezz': True, 'skip13': False, 'floors': 13, 'queries': ['index:B2', 'index:B2', 'index:g', 'index:17', 'index:17', 'label:13']}, [None, None, 1, None, None, None])], [('regression: ground floor index', {'basements': 0, 'mezz': True, 'skip13': True, 'floors': 10, 'queries': ['label:0', 'index:g', 'index:m']}, ['G', 0, 1]), ('boundary: two basements', {'basements': 2, 'mezz': False, 'skip13': True, 'floors': 8, 'queries': ['label:0', 'label:1', 'index:B1', 'index:B2']}, ['B2', 'B1', 1, 0]), ('sampled regression 79', {'basements': 1, 'mezz': False, 'skip13': True, 'floors': 11, 'queries': ['index:17', 'index:m', 'index:X', 'index:20', 'index:g', 'label:0']}, [None, None, None, None, 1, 'B1']), ('control 30', {'basements': 2, 'mezz': True, 'skip13': False, 'floors': 19, 'queries': ['index:B1', 'label:0', 'label:3', 'label:19', 'index:1', 'index:12']}, [1, 'B2', 'M', None, 4, 15]), ('boundary: thirteen skipped', {'basements': 0, 'mezz': False, 'skip13': True, 'floors': 16, 'queries': ['label:13', 'index:14', 'index:13']}, ['14', 13, None]), ('sampled regression 45', {'basements': 0, 'mezz': False, 'skip13': False, 'floors': 6, 'queries': ['index:m', 'index:15', 'label:4', 'index:g', 'index:17', 'label:7']}, [None, None, '4', 0, None, None]), ('sampled regression 48', {'basements': 0, 'mezz': True, 'skip13': True, 'floors': 17, 'queries': ['label:8', 'label:5', 'index:m', 'label:13', 'label:-1', 'label:16']}, ['7', '4', 1, '12', None, '16']), ('control 51', {'basements': 2, 'mezz': False, 'skip13': False, 'floors': 10, 'queries': ['label:6', 'label:-2', 'label:8', 'label:-2', 'label:7', 'index:B1']}, ['4', None, '6', None, '5', 1])]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"Stipulated toy lift-control contract for a bounded teaching model; it makes no claim of conformance to any lift code or vendor dispatcher and omits real safety cases. 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.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"w2-elevator_dispatch_scheduling-floor-label-mapping-label-case-folding","generated_at":"2026-09-29T14:47:53.231756+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Lift group controllers make these decisions many times per minute; a wrong answer strands passengers, wastes trips or overrides a safety rule.","repair":"Fold labels to upper case before lookup.","root_cause":"Label lookup is case-sensitive.","sha256":"c079317ea9cd40a369c041b3e6a20c40c7a45752b41f058108d3d4e698397dbe","title":"Floor label and index mapping: label case folding · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":42.618,"exit_code":1,"observations":[{"actual":["G",null,null],"check":"regression: ground floor index","expected":["G",0,1],"passed":false},{"actual":["B2","B1",null,null],"check":"boundary: two basements","expected":["B2","B1",1,0],"passed":false},{"actual":[null,null,null,"14",null,13],"check":"sampled regression 4","expected":[null,null,0,"14",null,13],"passed":false},{"actual":["14",13,null],"check":"boundary: thirteen skipped","expected":["14",13,null],"passed":true},{"actual":["13",13],"check":"boundary: thirteen kept","expected":["13",13],"passed":true},{"actual":["1",null,null,null,null,null],"check":"control 1","expected":["1",null,null,null,null,null],"passed":true},{"actual":[null,null,null,"6",null,"3"],"check":"control 7","expected":[1,null,null,"6",null,"3"],"passed":false},{"actual":[15,3,15,15,null,3],"check":"control 10","expected":[15,3,15,15,null,3],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: ground floor index\", \"actual\": [\"G\", null, null], \"expected\": [\"G\", 0, 1], \"passed\": false}, {\"check\": \"boundary: two basements\", \"actual\": [\"B2\", \"B1\", null, null], \"expected\": [\"B2\", \"B1\", 1, 0], \"passed\": false}, {\"check\": \"sampled regression 4\", \"actual\": [null, null, null, \"14\", null, 13], \"expected\": [null, null, 0, \"14\", null, 13], \"passed\": false}, {\"check\": \"boundary: thirteen skipped\", \"actual\": [\"14\", 13, null], \"expected\": [\"14\", 13, null], \"passed\": true}, {\"check\": \"boundary: thirteen kept\", \"actual\": [\"13\", 13], \"expected\": [\"13\", 13], \"passed\": true}, {\"check\": \"control 1\", \"actual\": [\"1\", null, null, null, null, null], \"expected\": [\"1\", null, null, null, null, null], \"passed\": true}, {\"check\": \"control 7\", \"actual\": [null, null, null, \"6\", null, \"3\"], \"expected\": [1, null, null, \"6\", null, \"3\"], \"passed\": false}, {\"check\": \"control 10\", \"actual\": [15, 3, 15, 15, null, 3], \"expected\": [15, 3, 15, 15, null, 3], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.558,"exit_code":1,"observations":[{"actual":["G",null,null],"check":"regression: ground floor index","expected":["G",0,1],"passed":false},{"actual":["B2","B1",1,0],"check":"boundary: two basements","expected":["B2","B1",1,0],"passed":true},{"actual":[null,null,null,"14",null,13],"check":"sampled regression 4","expected":[null,null,0,"14",null,13],"passed":false},{"actual":["14",13,null],"check":"boundary: thirteen skipped","expected":["14",13,null],"passed":true},{"actual":["13",13],"check":"boundary: thirteen kept","expected":["13",13],"passed":true},{"actual":["1",null,null,null,null,null],"check":"control 1","expected":["1",null,null,null,null,null],"passed":true},{"actual":[1,null,null,"6",null,"3"],"check":"control 7","expected":[1,null,null,"6",null,"3"],"passed":true},{"actual":[15,3,15,15,null,3],"check":"control 10","expected":[15,3,15,15,null,3],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: ground floor index\", \"actual\": [\"G\", null, null], \"expected\": [\"G\", 0, 1], \"passed\": false}, {\"check\": \"boundary: two basements\", \"actual\": [\"B2\", \"B1\", 1, 0], \"expected\": [\"B2\", \"B1\", 1, 0], \"passed\": true}, {\"check\": \"sampled regression 4\", \"actual\": [null, null, null, \"14\", null, 13], \"expected\": [null, null, 0, \"14\", null, 13], \"passed\": false}, {\"check\": \"boundary: thirteen skipped\", \"actual\": [\"14\", 13, null], \"expected\": [\"14\", 13, null], \"passed\": true}, {\"check\": \"boundary: thirteen kept\", \"actual\": [\"13\", 13], \"expected\": [\"13\", 13], \"passed\": true}, {\"check\": \"control 1\", \"actual\": [\"1\", null, null, null, null, null], \"expected\": [\"1\", null, null, null, null, null], \"passed\": true}, {\"check\": \"control 7\", \"actual\": [1, null, null, \"6\", null, \"3\"], \"expected\": [1, null, null, \"6\", null, \"3\"], \"passed\": true}, {\"check\": \"control 10\", \"actual\": [15, 3, 15, 15, null, 3], \"expected\": [15, 3, 15, 15, null, 3], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":42.621,"exit_code":0,"observations":[{"actual":["G",0,1],"check":"regression: ground floor index","expected":["G",0,1],"passed":true},{"actual":["B2","B1",1,0],"check":"boundary: two basements","expected":["B2","B1",1,0],"passed":true},{"actual":[null,null,0,"14",null,13],"check":"sampled regression 4","expected":[null,null,0,"14",null,13],"passed":true},{"actual":["14",13,null],"check":"boundary: thirteen skipped","expected":["14",13,null],"passed":true},{"actual":["13",13],"check":"boundary: thirteen kept","expected":["13",13],"passed":true},{"actual":["1",null,null,null,null,null],"check":"control 1","expected":["1",null,null,null,null,null],"passed":true},{"actual":[1,null,null,"6",null,"3"],"check":"control 7","expected":[1,null,null,"6",null,"3"],"passed":true},{"actual":[15,3,15,15,null,3],"check":"control 10","expected":[15,3,15,15,null,3],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: ground floor index\", \"actual\": [\"G\", 0, 1], \"expected\": [\"G\", 0, 1], \"passed\": true}, {\"check\": \"boundary: two basements\", \"actual\": [\"B2\", \"B1\", 1, 0], \"expected\": [\"B2\", \"B1\", 1, 0], \"passed\": true}, {\"check\": \"sampled regression 4\", \"actual\": [null, null, 0, \"14\", null, 13], \"expected\": [null, null, 0, \"14\", null, 13], \"passed\": true}, {\"check\": \"boundary: thirteen skipped\", \"actual\": [\"14\", 13, null], \"expected\": [\"14\", 13, null], \"passed\": true}, {\"check\": \"boundary: thirteen kept\", \"actual\": [\"13\", 13], \"expected\": [\"13\", 13], \"passed\": true}, {\"check\": \"control 1\", \"actual\": [\"1\", null, null, null, null, null], \"expected\": [\"1\", null, null, null, null, null], \"passed\": true}, {\"check\": \"control 7\", \"actual\": [1, null, null, \"6\", null, \"3\"], \"expected\": [1, null, null, \"6\", null, \"3\"], \"passed\": true}, {\"check\": \"control 10\", \"actual\": [15, 3, 15, 15, null, 3], \"expected\": [15, 3, 15, 15, null, 3], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}