{"abstract":"The selected car is unavailable or not the first returned car.","category":"Elevator dispatch scheduling","checks":8,"contract":"On emergency power in-service cars (not oos) return to the lobby one at a time: occupied cars (load > 0) first, then by lower floor, then id. Each return takes floor*per_floor_s + door_s; starts are cumulative. Afterwards the preselected car runs if it is in service, otherwise the first car of the return order (None if no car).","evaluation_group":"w2-elevator_dispatch_scheduling-emergency-power-return","failed_approach":"Falling back to the last returned car picks the one that finishes last.","family":"w2-elevator_dispatch_scheduling-emergency-power-return-selection-fallback","id":"FA-67691","implementations":{"attempt":{"sha256":"681f5e9c34cbe04447c93c212ca9a7a6f5d4452052f759c0e94ac59085983bf1","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    cars = [c for c in x['cars'] if not c['oos']]\n    order = sorted(cars, key=lambda c: (c['load'] == 0, c['floor'], c['id']))\n    t = 0\n    starts = {}\n    for c in order:\n        starts[c['id']] = t\n        t += c['floor'] * x['per_floor_s'] + x['door_s']\n    pre = x['preselect']\n    sel = pre if pre in starts else (order[-1]['id'] if order else None)\n    return {'order': [c['id'] for c in order], 'starts': starts, 'selected': sel, 'done_s': t}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: out of service car preselected', {'cars': [{'id': 'P1', 'floor': 5, 'load': 0, 'oos': True}, {'id': 'P2', 'floor': 3, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': 'P1'}, {'order': ['P2'], 'starts': {'P2': 0}, 'selected': 'P2', 'done_s': 11}), ('regression: occupied car first', {'cars': [{'id': 'P1', 'floor': 2, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 9, 'load': 80, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P2', 'P1'], 'starts': {'P2': 0, 'P1': 23}, 'selected': 'P2', 'done_s': 32}), ('regression: no preselection', {'cars': [{'id': 'P3', 'floor': 6, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 6, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P2', 'P3'], 'starts': {'P2': 0, 'P3': 17}, 'selected': 'P2', 'done_s': 34}), ('regression: lobby car still takes door time', {'cars': [{'id': 'P1', 'floor': 0, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 4, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P1', 'P2'], 'starts': {'P1': 0, 'P2': 5}, 'selected': 'P1', 'done_s': 18}), ('regression: all cars out of service', {'cars': [{'id': 'P1', 'floor': 3, 'load': 0, 'oos': True}], 'per_floor_s': 2, 'door_s': 5, 'preselect': 'P1'}, {'order': [], 'starts': {}, 'selected': None, 'done_s': 0}), ('control 1', {'cars': [{'id': 'P4', 'floor': 4, 'load': 75, 'oos': False}, {'id': 'P1', 'floor': 13, 'load': 300, 'oos': False}], 'per_floor_s': 2, 'door_s': 8, 'preselect': 'P1'}, {'order': ['P4', 'P1'], 'starts': {'P4': 0, 'P1': 16}, 'selected': 'P1', 'done_s': 50}), ('sampled regression 4', {'cars': [{'id': 'P4', 'floor': 5, 'load': 0, 'oos': False}, {'id': 'P1', 'floor': 11, 'load': 0, 'oos': True}, {'id': 'P2', 'floor': 4, 'load': 300, 'oos': False}], 'per_floor_s': 3, 'door_s': 8, 'preselect': None}, {'order': ['P2', 'P4'], 'starts': {'P2': 0, 'P4': 20}, 'selected': 'P2', 'done_s': 43}), ('sampled regression 7', {'cars': [{'id': 'P1', 'floor': 9, 'load': 300, 'oos': True}, {'id': 'P4', 'floor': 19, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': 'P3'}, {'order': ['P4'], 'starts': {'P4': 0}, 'selected': 'P4', 'done_s': 43})], [('regression: occupied car first', {'cars': [{'id': 'P1', 'floor': 2, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 9, 'load': 80, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P2', 'P1'], 'starts': {'P2': 0, 'P1': 23}, 'selected': 'P2', 'done_s': 32}), ('regression: lobby car still takes door time', {'cars': [{'id': 'P1', 'floor': 0, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 4, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P1', 'P2'], 'starts': {'P1': 0, 'P2': 5}, 'selected': 'P1', 'done_s': 18}), ('sampled regression 9', {'cars': [{'id': 'P2', 'floor': 9, 'load': 300, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': 'P1'}, {'order': ['P2'], 'starts': {'P2': 0}, 'selected': 'P2', 'done_s': 23}), ('sampled regression 13', {'cars': [{'id': 'P2', 'floor': 1, 'load': 0, 'oos': False}, {'id': 'P1', 'floor': 18, 'load': 0, 'oos': True}, {'id': 'P4', 'floor': 14, 'load': 300, 'oos': False}], 'per_floor_s': 2, 'door_s': 8, 'preselect': None}, {'order': ['P4', 'P2'], 'starts': {'P4': 0, 'P2': 36}, 'selected': 'P4', 'done_s': 46}), ('regression: no preselection', {'cars': [{'id': 'P3', 'floor': 6, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 6, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P2', 'P3'], 'starts': {'P2': 0, 'P3': 17}, 'selected': 'P2', 'done_s': 34}), ('control 12', {'cars': [{'id': 'P2', 'floor': 9, 'load': 0, 'oos': False}, {'id': 'P4', 'floor': 12, 'load': 0, 'oos': True}], 'per_floor_s': 2, 'door_s': 8, 'preselect': 'P2'}, {'order': ['P2'], 'starts': {'P2': 0}, 'selected': 'P2', 'done_s': 26}), ('sampled regression 15', {'cars': [{'id': 'P2', 'floor': 14, 'load': 0, 'oos': False}, {'id': 'P3', 'floor': 19, 'load': 75, 'oos': True}], 'per_floor_s': 2, 'door_s': 8, 'preselect': None}, {'order': ['P2'], 'starts': {'P2': 0}, 'selected': 'P2', 'done_s': 36}), ('control 18', {'cars': [{'id': 'P3', 'floor': 7, 'load': 0, 'oos': False}, {'id': 'P4', 'floor': 10, 'load': 300, 'oos': False}, {'id': 'P2', 'floor': 12, 'load': 300, 'oos': False}], 'per_floor_s': 2, 'door_s': 8, 'preselect': 'P2'}, {'order': ['P4', 'P2', 'P3'], 'starts': {'P4': 0, 'P2': 28, 'P3': 60}, 'selected': 'P2', 'done_s': 82})], [('regression: lobby car still takes door time', {'cars': [{'id': 'P1', 'floor': 0, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 4, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P1', 'P2'], 'starts': {'P1': 0, 'P2': 5}, 'selected': 'P1', 'done_s': 18}), ('regression: no preselection', {'cars': [{'id': 'P3', 'floor': 6, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 6, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P2', 'P3'], 'starts': {'P2': 0, 'P3': 17}, 'selected': 'P2', 'done_s': 34}), ('sampled regression 24', {'cars': [{'id': 'P4', 'floor': 5, 'load': 0, 'oos': False}, {'id': 'P1', 'floor': 14, 'load': 0, 'oos': False}, {'id': 'P3', 'floor': 10, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': 'P2'}, {'order': ['P4', 'P3', 'P1'], 'starts': {'P4': 0, 'P3': 15, 'P1': 40}, 'selected': 'P4', 'done_s': 73}), ('sampled regression 37', {'cars': [{'id': 'P3', 'floor': 6, 'load': 75, 'oos': False}, {'id': 'P4', 'floor': 14, 'load': 75, 'oos': False}], 'per_floor_s': 3, 'door_s': 8, 'preselect': 'P2'}, {'order': ['P3', 'P4'], 'starts': {'P3': 0, 'P4': 26}, 'selected': 'P3', 'done_s': 76}), ('regression: all cars out of service', {'cars': [{'id': 'P1', 'floor': 3, 'load': 0, 'oos': True}], 'per_floor_s': 2, 'door_s': 5, 'preselect': 'P1'}, {'order': [], 'starts': {}, 'selected': None, 'done_s': 0}), ('control 23', {'cars': [{'id': 'P4', 'floor': 10, 'load': 0, 'oos': False}, {'id': 'P1', 'floor': 9, 'load': 75, 'oos': False}, {'id': 'P3', 'floor': 19, 'load': 75, 'oos': False}], 'per_floor_s': 3, 'door_s': 8, 'preselect': 'P3'}, {'order': ['P1', 'P3', 'P4'], 'starts': {'P1': 0, 'P3': 35, 'P4': 100}, 'selected': 'P3', 'done_s': 138}), ('control 26', {'cars': [{'id': 'P2', 'floor': 14, 'load': 300, 'oos': False}, {'id': 'P3', 'floor': 14, 'load': 75, 'oos': False}, {'id': 'P1', 'floor': 3, 'load': 0, 'oos': False}, {'id': 'P4', 'floor': 15, 'load': 75, 'oos': False}], 'per_floor_s': 3, 'door_s': 8, 'preselect': 'P4'}, {'order': ['P2', 'P3', 'P4', 'P1'], 'starts': {'P2': 0, 'P3': 50, 'P4': 100, 'P1': 153}, 'selected': 'P4', 'done_s': 170}), ('sampled regression 29', {'cars': [{'id': 'P2', 'floor': 7, 'load': 75, 'oos': False}], 'per_floor_s': 3, 'door_s': 5, 'preselect': 'P1'}, {'order': ['P2'], 'starts': {'P2': 0}, 'selected': 'P2', 'done_s': 26})], [('regression: no preselection', {'cars': [{'id': 'P3', 'floor': 6, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 6, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P2', 'P3'], 'starts': {'P2': 0, 'P3': 17}, 'selected': 'P2', 'done_s': 34}), ('regression: occupied car first', {'cars': [{'id': 'P1', 'floor': 2, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 9, 'load': 80, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P2', 'P1'], 'starts': {'P2': 0, 'P1': 23}, 'selected': 'P2', 'done_s': 32}), ('sampled regression 37', {'cars': [{'id': 'P3', 'floor': 6, 'load': 75, 'oos': False}, {'id': 'P4', 'floor': 14, 'load': 75, 'oos': False}], 'per_floor_s': 3, 'door_s': 8, 'preselect': 'P2'}, {'order': ['P3', 'P4'], 'starts': {'P3': 0, 'P4': 26}, 'selected': 'P3', 'done_s': 76}), ('sampled regression 46', {'cars': [{'id': 'P1', 'floor': 7, 'load': 300, 'oos': False}, {'id': 'P2', 'floor': 5, 'load': 0, 'oos': False}, {'id': 'P3', 'floor': 5, 'load': 75, 'oos': True}, {'id': 'P4', 'floor': 14, 'load': 75, 'oos': False}], 'per_floor_s': 3, 'door_s': 5, 'preselect': 'P3'}, {'order': ['P1', 'P4', 'P2'], 'starts': {'P1': 0, 'P4': 26, 'P2': 73}, 'selected': 'P1', 'done_s': 93}), ('regression: lobby car still takes door time', {'cars': [{'id': 'P1', 'floor': 0, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 4, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P1', 'P2'], 'starts': {'P1': 0, 'P2': 5}, 'selected': 'P1', 'done_s': 18}), ('control 34', {'cars': [{'id': 'P2', 'floor': 4, 'load': 300, 'oos': False}], 'per_floor_s': 2, 'door_s': 8, 'preselect': 'P2'}, {'order': ['P2'], 'starts': {'P2': 0}, 'selected': 'P2', 'done_s': 16}), ('control 40', {'cars': [{'id': 'P4', 'floor': 16, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 5, 'load': 0, 'oos': False}, {'id': 'P1', 'floor': 1, 'load': 75, 'oos': False}, {'id': 'P3', 'floor': 11, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': 'P3'}, {'order': ['P1', 'P2', 'P3', 'P4'], 'starts': {'P1': 0, 'P2': 7, 'P3': 22, 'P4': 49}, 'selected': 'P3', 'done_s': 86}), ('control 43', {'cars': [{'id': 'P2', 'floor': 10, 'load': 300, 'oos': False}, {'id': 'P1', 'floor': 16, 'load': 75, 'oos': True}, {'id': 'P3', 'floor': 4, 'load': 75, 'oos': False}, {'id': 'P4', 'floor': 13, 'load': 0, 'oos': True}], 'per_floor_s': 2, 'door_s': 8, 'preselect': 'P2'}, {'order': ['P3', 'P2'], 'starts': {'P3': 0, 'P2': 16}, 'selected': 'P2', 'done_s': 44})], [('regression: all cars out of service', {'cars': [{'id': 'P1', 'floor': 3, 'load': 0, 'oos': True}], 'per_floor_s': 2, 'door_s': 5, 'preselect': 'P1'}, {'order': [], 'starts': {}, 'selected': None, 'done_s': 0}), ('regression: lobby car still takes door time', {'cars': [{'id': 'P1', 'floor': 0, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 4, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P1', 'P2'], 'starts': {'P1': 0, 'P2': 5}, 'selected': 'P1', 'done_s': 18}), ('sampled regression 47', {'cars': [{'id': 'P1', 'floor': 11, 'load': 75, 'oos': False}, {'id': 'P3', 'floor': 4, 'load': 75, 'oos': False}], 'per_floor_s': 3, 'door_s': 5, 'preselect': 'P2'}, {'order': ['P3', 'P1'], 'starts': {'P3': 0, 'P1': 17}, 'selected': 'P3', 'done_s': 55}), ('sampled regression 62', {'cars': [{'id': 'P3', 'floor': 3, 'load': 0, 'oos': False}, {'id': 'P4', 'floor': 7, 'load': 0, 'oos': False}, {'id': 'P1', 'floor': 2, 'load': 0, 'oos': False}], 'per_floor_s': 3, 'door_s': 5, 'preselect': None}, {'order': ['P1', 'P3', 'P4'], 'starts': {'P1': 0, 'P3': 11, 'P4': 25}, 'selected': 'P1', 'done_s': 51}), ('regression: no preselection', {'cars': [{'id': 'P3', 'floor': 6, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 6, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P2', 'P3'], 'starts': {'P2': 0, 'P3': 17}, 'selected': 'P2', 'done_s': 34}), ('sampled regression 45', {'cars': [{'id': 'P3', 'floor': 13, 'load': 75, 'oos': False}, {'id': 'P1', 'floor': 19, 'load': 0, 'oos': False}, {'id': 'P4', 'floor': 5, 'load': 0, 'oos': False}], 'per_floor_s': 3, 'door_s': 8, 'preselect': None}, {'order': ['P3', 'P4', 'P1'], 'starts': {'P3': 0, 'P4': 47, 'P1': 70}, 'selected': 'P3', 'done_s': 135}), ('sampled regression 48', {'cars': [{'id': 'P1', 'floor': 2, 'load': 75, 'oos': True}, {'id': 'P2', 'floor': 16, 'load': 300, 'oos': False}, {'id': 'P4', 'floor': 0, 'load': 0, 'oos': False}], 'per_floor_s': 3, 'door_s': 8, 'preselect': None}, {'order': ['P2', 'P4'], 'starts': {'P2': 0, 'P4': 56}, 'selected': 'P2', 'done_s': 64}), ('control 51', {'cars': [{'id': 'P1', 'floor': 2, 'load': 75, 'oos': False}, {'id': 'P4', 'floor': 4, 'load': 0, 'oos': False}, {'id': 'P3', 'floor': 16, 'load': 300, 'oos': False}, {'id': 'P2', 'floor': 4, 'load': 300, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': 'P4'}, {'order': ['P1', 'P2', 'P3', 'P4'], 'starts': {'P1': 0, 'P2': 9, 'P3': 22, 'P4': 59}, 'selected': 'P4', 'done_s': 72})]]\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":"9bad11f76547baddda5acd466ff183eff9e2a81c2bb4b733d728f5759dcbeb5a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    cars = [c for c in x['cars'] if not c['oos']]\n    order = sorted(cars, key=lambda c: (c['load'] == 0, c['floor'], c['id']))\n    t = 0\n    starts = {}\n    for c in order:\n        starts[c['id']] = t\n        t += c['floor'] * x['per_floor_s'] + x['door_s']\n    pre = x['preselect']\n    sel = pre\n    return {'order': [c['id'] for c in order], 'starts': starts, 'selected': sel, 'done_s': t}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: out of service car preselected', {'cars': [{'id': 'P1', 'floor': 5, 'load': 0, 'oos': True}, {'id': 'P2', 'floor': 3, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': 'P1'}, {'order': ['P2'], 'starts': {'P2': 0}, 'selected': 'P2', 'done_s': 11}), ('regression: occupied car first', {'cars': [{'id': 'P1', 'floor': 2, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 9, 'load': 80, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P2', 'P1'], 'starts': {'P2': 0, 'P1': 23}, 'selected': 'P2', 'done_s': 32}), ('regression: no preselection', {'cars': [{'id': 'P3', 'floor': 6, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 6, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P2', 'P3'], 'starts': {'P2': 0, 'P3': 17}, 'selected': 'P2', 'done_s': 34}), ('regression: lobby car still takes door time', {'cars': [{'id': 'P1', 'floor': 0, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 4, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P1', 'P2'], 'starts': {'P1': 0, 'P2': 5}, 'selected': 'P1', 'done_s': 18}), ('regression: all cars out of service', {'cars': [{'id': 'P1', 'floor': 3, 'load': 0, 'oos': True}], 'per_floor_s': 2, 'door_s': 5, 'preselect': 'P1'}, {'order': [], 'starts': {}, 'selected': None, 'done_s': 0}), ('control 1', {'cars': [{'id': 'P4', 'floor': 4, 'load': 75, 'oos': False}, {'id': 'P1', 'floor': 13, 'load': 300, 'oos': False}], 'per_floor_s': 2, 'door_s': 8, 'preselect': 'P1'}, {'order': ['P4', 'P1'], 'starts': {'P4': 0, 'P1': 16}, 'selected': 'P1', 'done_s': 50}), ('sampled regression 4', {'cars': [{'id': 'P4', 'floor': 5, 'load': 0, 'oos': False}, {'id': 'P1', 'floor': 11, 'load': 0, 'oos': True}, {'id': 'P2', 'floor': 4, 'load': 300, 'oos': False}], 'per_floor_s': 3, 'door_s': 8, 'preselect': None}, {'order': ['P2', 'P4'], 'starts': {'P2': 0, 'P4': 20}, 'selected': 'P2', 'done_s': 43}), ('sampled regression 7', {'cars': [{'id': 'P1', 'floor': 9, 'load': 300, 'oos': True}, {'id': 'P4', 'floor': 19, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': 'P3'}, {'order': ['P4'], 'starts': {'P4': 0}, 'selected': 'P4', 'done_s': 43})], [('regression: occupied car first', {'cars': [{'id': 'P1', 'floor': 2, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 9, 'load': 80, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P2', 'P1'], 'starts': {'P2': 0, 'P1': 23}, 'selected': 'P2', 'done_s': 32}), ('regression: lobby car still takes door time', {'cars': [{'id': 'P1', 'floor': 0, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 4, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P1', 'P2'], 'starts': {'P1': 0, 'P2': 5}, 'selected': 'P1', 'done_s': 18}), ('sampled regression 9', {'cars': [{'id': 'P2', 'floor': 9, 'load': 300, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': 'P1'}, {'order': ['P2'], 'starts': {'P2': 0}, 'selected': 'P2', 'done_s': 23}), ('sampled regression 13', {'cars': [{'id': 'P2', 'floor': 1, 'load': 0, 'oos': False}, {'id': 'P1', 'floor': 18, 'load': 0, 'oos': True}, {'id': 'P4', 'floor': 14, 'load': 300, 'oos': False}], 'per_floor_s': 2, 'door_s': 8, 'preselect': None}, {'order': ['P4', 'P2'], 'starts': {'P4': 0, 'P2': 36}, 'selected': 'P4', 'done_s': 46}), ('regression: no preselection', {'cars': [{'id': 'P3', 'floor': 6, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 6, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P2', 'P3'], 'starts': {'P2': 0, 'P3': 17}, 'selected': 'P2', 'done_s': 34}), ('control 12', {'cars': [{'id': 'P2', 'floor': 9, 'load': 0, 'oos': False}, {'id': 'P4', 'floor': 12, 'load': 0, 'oos': True}], 'per_floor_s': 2, 'door_s': 8, 'preselect': 'P2'}, {'order': ['P2'], 'starts': {'P2': 0}, 'selected': 'P2', 'done_s': 26}), ('sampled regression 15', {'cars': [{'id': 'P2', 'floor': 14, 'load': 0, 'oos': False}, {'id': 'P3', 'floor': 19, 'load': 75, 'oos': True}], 'per_floor_s': 2, 'door_s': 8, 'preselect': None}, {'order': ['P2'], 'starts': {'P2': 0}, 'selected': 'P2', 'done_s': 36}), ('control 18', {'cars': [{'id': 'P3', 'floor': 7, 'load': 0, 'oos': False}, {'id': 'P4', 'floor': 10, 'load': 300, 'oos': False}, {'id': 'P2', 'floor': 12, 'load': 300, 'oos': False}], 'per_floor_s': 2, 'door_s': 8, 'preselect': 'P2'}, {'order': ['P4', 'P2', 'P3'], 'starts': {'P4': 0, 'P2': 28, 'P3': 60}, 'selected': 'P2', 'done_s': 82})], [('regression: lobby car still takes door time', {'cars': [{'id': 'P1', 'floor': 0, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 4, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P1', 'P2'], 'starts': {'P1': 0, 'P2': 5}, 'selected': 'P1', 'done_s': 18}), ('regression: no preselection', {'cars': [{'id': 'P3', 'floor': 6, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 6, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P2', 'P3'], 'starts': {'P2': 0, 'P3': 17}, 'selected': 'P2', 'done_s': 34}), ('sampled regression 24', {'cars': [{'id': 'P4', 'floor': 5, 'load': 0, 'oos': False}, {'id': 'P1', 'floor': 14, 'load': 0, 'oos': False}, {'id': 'P3', 'floor': 10, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': 'P2'}, {'order': ['P4', 'P3', 'P1'], 'starts': {'P4': 0, 'P3': 15, 'P1': 40}, 'selected': 'P4', 'done_s': 73}), ('sampled regression 37', {'cars': [{'id': 'P3', 'floor': 6, 'load': 75, 'oos': False}, {'id': 'P4', 'floor': 14, 'load': 75, 'oos': False}], 'per_floor_s': 3, 'door_s': 8, 'preselect': 'P2'}, {'order': ['P3', 'P4'], 'starts': {'P3': 0, 'P4': 26}, 'selected': 'P3', 'done_s': 76}), ('regression: all cars out of service', {'cars': [{'id': 'P1', 'floor': 3, 'load': 0, 'oos': True}], 'per_floor_s': 2, 'door_s': 5, 'preselect': 'P1'}, {'order': [], 'starts': {}, 'selected': None, 'done_s': 0}), ('control 23', {'cars': [{'id': 'P4', 'floor': 10, 'load': 0, 'oos': False}, {'id': 'P1', 'floor': 9, 'load': 75, 'oos': False}, {'id': 'P3', 'floor': 19, 'load': 75, 'oos': False}], 'per_floor_s': 3, 'door_s': 8, 'preselect': 'P3'}, {'order': ['P1', 'P3', 'P4'], 'starts': {'P1': 0, 'P3': 35, 'P4': 100}, 'selected': 'P3', 'done_s': 138}), ('control 26', {'cars': [{'id': 'P2', 'floor': 14, 'load': 300, 'oos': False}, {'id': 'P3', 'floor': 14, 'load': 75, 'oos': False}, {'id': 'P1', 'floor': 3, 'load': 0, 'oos': False}, {'id': 'P4', 'floor': 15, 'load': 75, 'oos': False}], 'per_floor_s': 3, 'door_s': 8, 'preselect': 'P4'}, {'order': ['P2', 'P3', 'P4', 'P1'], 'starts': {'P2': 0, 'P3': 50, 'P4': 100, 'P1': 153}, 'selected': 'P4', 'done_s': 170}), ('sampled regression 29', {'cars': [{'id': 'P2', 'floor': 7, 'load': 75, 'oos': False}], 'per_floor_s': 3, 'door_s': 5, 'preselect': 'P1'}, {'order': ['P2'], 'starts': {'P2': 0}, 'selected': 'P2', 'done_s': 26})], [('regression: no preselection', {'cars': [{'id': 'P3', 'floor': 6, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 6, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P2', 'P3'], 'starts': {'P2': 0, 'P3': 17}, 'selected': 'P2', 'done_s': 34}), ('regression: occupied car first', {'cars': [{'id': 'P1', 'floor': 2, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 9, 'load': 80, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P2', 'P1'], 'starts': {'P2': 0, 'P1': 23}, 'selected': 'P2', 'done_s': 32}), ('sampled regression 37', {'cars': [{'id': 'P3', 'floor': 6, 'load': 75, 'oos': False}, {'id': 'P4', 'floor': 14, 'load': 75, 'oos': False}], 'per_floor_s': 3, 'door_s': 8, 'preselect': 'P2'}, {'order': ['P3', 'P4'], 'starts': {'P3': 0, 'P4': 26}, 'selected': 'P3', 'done_s': 76}), ('sampled regression 46', {'cars': [{'id': 'P1', 'floor': 7, 'load': 300, 'oos': False}, {'id': 'P2', 'floor': 5, 'load': 0, 'oos': False}, {'id': 'P3', 'floor': 5, 'load': 75, 'oos': True}, {'id': 'P4', 'floor': 14, 'load': 75, 'oos': False}], 'per_floor_s': 3, 'door_s': 5, 'preselect': 'P3'}, {'order': ['P1', 'P4', 'P2'], 'starts': {'P1': 0, 'P4': 26, 'P2': 73}, 'selected': 'P1', 'done_s': 93}), ('regression: lobby car still takes door time', {'cars': [{'id': 'P1', 'floor': 0, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 4, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P1', 'P2'], 'starts': {'P1': 0, 'P2': 5}, 'selected': 'P1', 'done_s': 18}), ('control 34', {'cars': [{'id': 'P2', 'floor': 4, 'load': 300, 'oos': False}], 'per_floor_s': 2, 'door_s': 8, 'preselect': 'P2'}, {'order': ['P2'], 'starts': {'P2': 0}, 'selected': 'P2', 'done_s': 16}), ('control 40', {'cars': [{'id': 'P4', 'floor': 16, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 5, 'load': 0, 'oos': False}, {'id': 'P1', 'floor': 1, 'load': 75, 'oos': False}, {'id': 'P3', 'floor': 11, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': 'P3'}, {'order': ['P1', 'P2', 'P3', 'P4'], 'starts': {'P1': 0, 'P2': 7, 'P3': 22, 'P4': 49}, 'selected': 'P3', 'done_s': 86}), ('control 43', {'cars': [{'id': 'P2', 'floor': 10, 'load': 300, 'oos': False}, {'id': 'P1', 'floor': 16, 'load': 75, 'oos': True}, {'id': 'P3', 'floor': 4, 'load': 75, 'oos': False}, {'id': 'P4', 'floor': 13, 'load': 0, 'oos': True}], 'per_floor_s': 2, 'door_s': 8, 'preselect': 'P2'}, {'order': ['P3', 'P2'], 'starts': {'P3': 0, 'P2': 16}, 'selected': 'P2', 'done_s': 44})], [('regression: all cars out of service', {'cars': [{'id': 'P1', 'floor': 3, 'load': 0, 'oos': True}], 'per_floor_s': 2, 'door_s': 5, 'preselect': 'P1'}, {'order': [], 'starts': {}, 'selected': None, 'done_s': 0}), ('regression: lobby car still takes door time', {'cars': [{'id': 'P1', 'floor': 0, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 4, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P1', 'P2'], 'starts': {'P1': 0, 'P2': 5}, 'selected': 'P1', 'done_s': 18}), ('sampled regression 47', {'cars': [{'id': 'P1', 'floor': 11, 'load': 75, 'oos': False}, {'id': 'P3', 'floor': 4, 'load': 75, 'oos': False}], 'per_floor_s': 3, 'door_s': 5, 'preselect': 'P2'}, {'order': ['P3', 'P1'], 'starts': {'P3': 0, 'P1': 17}, 'selected': 'P3', 'done_s': 55}), ('sampled regression 62', {'cars': [{'id': 'P3', 'floor': 3, 'load': 0, 'oos': False}, {'id': 'P4', 'floor': 7, 'load': 0, 'oos': False}, {'id': 'P1', 'floor': 2, 'load': 0, 'oos': False}], 'per_floor_s': 3, 'door_s': 5, 'preselect': None}, {'order': ['P1', 'P3', 'P4'], 'starts': {'P1': 0, 'P3': 11, 'P4': 25}, 'selected': 'P1', 'done_s': 51}), ('regression: no preselection', {'cars': [{'id': 'P3', 'floor': 6, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 6, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P2', 'P3'], 'starts': {'P2': 0, 'P3': 17}, 'selected': 'P2', 'done_s': 34}), ('sampled regression 45', {'cars': [{'id': 'P3', 'floor': 13, 'load': 75, 'oos': False}, {'id': 'P1', 'floor': 19, 'load': 0, 'oos': False}, {'id': 'P4', 'floor': 5, 'load': 0, 'oos': False}], 'per_floor_s': 3, 'door_s': 8, 'preselect': None}, {'order': ['P3', 'P4', 'P1'], 'starts': {'P3': 0, 'P4': 47, 'P1': 70}, 'selected': 'P3', 'done_s': 135}), ('sampled regression 48', {'cars': [{'id': 'P1', 'floor': 2, 'load': 75, 'oos': True}, {'id': 'P2', 'floor': 16, 'load': 300, 'oos': False}, {'id': 'P4', 'floor': 0, 'load': 0, 'oos': False}], 'per_floor_s': 3, 'door_s': 8, 'preselect': None}, {'order': ['P2', 'P4'], 'starts': {'P2': 0, 'P4': 56}, 'selected': 'P2', 'done_s': 64}), ('control 51', {'cars': [{'id': 'P1', 'floor': 2, 'load': 75, 'oos': False}, {'id': 'P4', 'floor': 4, 'load': 0, 'oos': False}, {'id': 'P3', 'floor': 16, 'load': 300, 'oos': False}, {'id': 'P2', 'floor': 4, 'load': 300, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': 'P4'}, {'order': ['P1', 'P2', 'P3', 'P4'], 'starts': {'P1': 0, 'P2': 9, 'P3': 22, 'P4': 59}, 'selected': 'P4', 'done_s': 72})]]\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":"a90cbf074186339e245ca2f8eae410395c58b8aa5aff73f2e8f6f11619d47676","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x):\n    cars = [c for c in x['cars'] if not c['oos']]\n    order = sorted(cars, key=lambda c: (c['load'] == 0, c['floor'], c['id']))\n    t = 0\n    starts = {}\n    for c in order:\n        starts[c['id']] = t\n        t += c['floor'] * x['per_floor_s'] + x['door_s']\n    pre = x['preselect']\n    sel = pre if pre in starts else (order[0]['id'] if order else None)\n    return {'order': [c['id'] for c in order], 'starts': starts, 'selected': sel, 'done_s': t}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('regression: out of service car preselected', {'cars': [{'id': 'P1', 'floor': 5, 'load': 0, 'oos': True}, {'id': 'P2', 'floor': 3, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': 'P1'}, {'order': ['P2'], 'starts': {'P2': 0}, 'selected': 'P2', 'done_s': 11}), ('regression: occupied car first', {'cars': [{'id': 'P1', 'floor': 2, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 9, 'load': 80, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P2', 'P1'], 'starts': {'P2': 0, 'P1': 23}, 'selected': 'P2', 'done_s': 32}), ('regression: no preselection', {'cars': [{'id': 'P3', 'floor': 6, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 6, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P2', 'P3'], 'starts': {'P2': 0, 'P3': 17}, 'selected': 'P2', 'done_s': 34}), ('regression: lobby car still takes door time', {'cars': [{'id': 'P1', 'floor': 0, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 4, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P1', 'P2'], 'starts': {'P1': 0, 'P2': 5}, 'selected': 'P1', 'done_s': 18}), ('regression: all cars out of service', {'cars': [{'id': 'P1', 'floor': 3, 'load': 0, 'oos': True}], 'per_floor_s': 2, 'door_s': 5, 'preselect': 'P1'}, {'order': [], 'starts': {}, 'selected': None, 'done_s': 0}), ('control 1', {'cars': [{'id': 'P4', 'floor': 4, 'load': 75, 'oos': False}, {'id': 'P1', 'floor': 13, 'load': 300, 'oos': False}], 'per_floor_s': 2, 'door_s': 8, 'preselect': 'P1'}, {'order': ['P4', 'P1'], 'starts': {'P4': 0, 'P1': 16}, 'selected': 'P1', 'done_s': 50}), ('sampled regression 4', {'cars': [{'id': 'P4', 'floor': 5, 'load': 0, 'oos': False}, {'id': 'P1', 'floor': 11, 'load': 0, 'oos': True}, {'id': 'P2', 'floor': 4, 'load': 300, 'oos': False}], 'per_floor_s': 3, 'door_s': 8, 'preselect': None}, {'order': ['P2', 'P4'], 'starts': {'P2': 0, 'P4': 20}, 'selected': 'P2', 'done_s': 43}), ('sampled regression 7', {'cars': [{'id': 'P1', 'floor': 9, 'load': 300, 'oos': True}, {'id': 'P4', 'floor': 19, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': 'P3'}, {'order': ['P4'], 'starts': {'P4': 0}, 'selected': 'P4', 'done_s': 43})], [('regression: occupied car first', {'cars': [{'id': 'P1', 'floor': 2, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 9, 'load': 80, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P2', 'P1'], 'starts': {'P2': 0, 'P1': 23}, 'selected': 'P2', 'done_s': 32}), ('regression: lobby car still takes door time', {'cars': [{'id': 'P1', 'floor': 0, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 4, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P1', 'P2'], 'starts': {'P1': 0, 'P2': 5}, 'selected': 'P1', 'done_s': 18}), ('sampled regression 9', {'cars': [{'id': 'P2', 'floor': 9, 'load': 300, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': 'P1'}, {'order': ['P2'], 'starts': {'P2': 0}, 'selected': 'P2', 'done_s': 23}), ('sampled regression 13', {'cars': [{'id': 'P2', 'floor': 1, 'load': 0, 'oos': False}, {'id': 'P1', 'floor': 18, 'load': 0, 'oos': True}, {'id': 'P4', 'floor': 14, 'load': 300, 'oos': False}], 'per_floor_s': 2, 'door_s': 8, 'preselect': None}, {'order': ['P4', 'P2'], 'starts': {'P4': 0, 'P2': 36}, 'selected': 'P4', 'done_s': 46}), ('regression: no preselection', {'cars': [{'id': 'P3', 'floor': 6, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 6, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P2', 'P3'], 'starts': {'P2': 0, 'P3': 17}, 'selected': 'P2', 'done_s': 34}), ('control 12', {'cars': [{'id': 'P2', 'floor': 9, 'load': 0, 'oos': False}, {'id': 'P4', 'floor': 12, 'load': 0, 'oos': True}], 'per_floor_s': 2, 'door_s': 8, 'preselect': 'P2'}, {'order': ['P2'], 'starts': {'P2': 0}, 'selected': 'P2', 'done_s': 26}), ('sampled regression 15', {'cars': [{'id': 'P2', 'floor': 14, 'load': 0, 'oos': False}, {'id': 'P3', 'floor': 19, 'load': 75, 'oos': True}], 'per_floor_s': 2, 'door_s': 8, 'preselect': None}, {'order': ['P2'], 'starts': {'P2': 0}, 'selected': 'P2', 'done_s': 36}), ('control 18', {'cars': [{'id': 'P3', 'floor': 7, 'load': 0, 'oos': False}, {'id': 'P4', 'floor': 10, 'load': 300, 'oos': False}, {'id': 'P2', 'floor': 12, 'load': 300, 'oos': False}], 'per_floor_s': 2, 'door_s': 8, 'preselect': 'P2'}, {'order': ['P4', 'P2', 'P3'], 'starts': {'P4': 0, 'P2': 28, 'P3': 60}, 'selected': 'P2', 'done_s': 82})], [('regression: lobby car still takes door time', {'cars': [{'id': 'P1', 'floor': 0, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 4, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P1', 'P2'], 'starts': {'P1': 0, 'P2': 5}, 'selected': 'P1', 'done_s': 18}), ('regression: no preselection', {'cars': [{'id': 'P3', 'floor': 6, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 6, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P2', 'P3'], 'starts': {'P2': 0, 'P3': 17}, 'selected': 'P2', 'done_s': 34}), ('sampled regression 24', {'cars': [{'id': 'P4', 'floor': 5, 'load': 0, 'oos': False}, {'id': 'P1', 'floor': 14, 'load': 0, 'oos': False}, {'id': 'P3', 'floor': 10, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': 'P2'}, {'order': ['P4', 'P3', 'P1'], 'starts': {'P4': 0, 'P3': 15, 'P1': 40}, 'selected': 'P4', 'done_s': 73}), ('sampled regression 37', {'cars': [{'id': 'P3', 'floor': 6, 'load': 75, 'oos': False}, {'id': 'P4', 'floor': 14, 'load': 75, 'oos': False}], 'per_floor_s': 3, 'door_s': 8, 'preselect': 'P2'}, {'order': ['P3', 'P4'], 'starts': {'P3': 0, 'P4': 26}, 'selected': 'P3', 'done_s': 76}), ('regression: all cars out of service', {'cars': [{'id': 'P1', 'floor': 3, 'load': 0, 'oos': True}], 'per_floor_s': 2, 'door_s': 5, 'preselect': 'P1'}, {'order': [], 'starts': {}, 'selected': None, 'done_s': 0}), ('control 23', {'cars': [{'id': 'P4', 'floor': 10, 'load': 0, 'oos': False}, {'id': 'P1', 'floor': 9, 'load': 75, 'oos': False}, {'id': 'P3', 'floor': 19, 'load': 75, 'oos': False}], 'per_floor_s': 3, 'door_s': 8, 'preselect': 'P3'}, {'order': ['P1', 'P3', 'P4'], 'starts': {'P1': 0, 'P3': 35, 'P4': 100}, 'selected': 'P3', 'done_s': 138}), ('control 26', {'cars': [{'id': 'P2', 'floor': 14, 'load': 300, 'oos': False}, {'id': 'P3', 'floor': 14, 'load': 75, 'oos': False}, {'id': 'P1', 'floor': 3, 'load': 0, 'oos': False}, {'id': 'P4', 'floor': 15, 'load': 75, 'oos': False}], 'per_floor_s': 3, 'door_s': 8, 'preselect': 'P4'}, {'order': ['P2', 'P3', 'P4', 'P1'], 'starts': {'P2': 0, 'P3': 50, 'P4': 100, 'P1': 153}, 'selected': 'P4', 'done_s': 170}), ('sampled regression 29', {'cars': [{'id': 'P2', 'floor': 7, 'load': 75, 'oos': False}], 'per_floor_s': 3, 'door_s': 5, 'preselect': 'P1'}, {'order': ['P2'], 'starts': {'P2': 0}, 'selected': 'P2', 'done_s': 26})], [('regression: no preselection', {'cars': [{'id': 'P3', 'floor': 6, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 6, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P2', 'P3'], 'starts': {'P2': 0, 'P3': 17}, 'selected': 'P2', 'done_s': 34}), ('regression: occupied car first', {'cars': [{'id': 'P1', 'floor': 2, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 9, 'load': 80, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P2', 'P1'], 'starts': {'P2': 0, 'P1': 23}, 'selected': 'P2', 'done_s': 32}), ('sampled regression 37', {'cars': [{'id': 'P3', 'floor': 6, 'load': 75, 'oos': False}, {'id': 'P4', 'floor': 14, 'load': 75, 'oos': False}], 'per_floor_s': 3, 'door_s': 8, 'preselect': 'P2'}, {'order': ['P3', 'P4'], 'starts': {'P3': 0, 'P4': 26}, 'selected': 'P3', 'done_s': 76}), ('sampled regression 46', {'cars': [{'id': 'P1', 'floor': 7, 'load': 300, 'oos': False}, {'id': 'P2', 'floor': 5, 'load': 0, 'oos': False}, {'id': 'P3', 'floor': 5, 'load': 75, 'oos': True}, {'id': 'P4', 'floor': 14, 'load': 75, 'oos': False}], 'per_floor_s': 3, 'door_s': 5, 'preselect': 'P3'}, {'order': ['P1', 'P4', 'P2'], 'starts': {'P1': 0, 'P4': 26, 'P2': 73}, 'selected': 'P1', 'done_s': 93}), ('regression: lobby car still takes door time', {'cars': [{'id': 'P1', 'floor': 0, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 4, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P1', 'P2'], 'starts': {'P1': 0, 'P2': 5}, 'selected': 'P1', 'done_s': 18}), ('control 34', {'cars': [{'id': 'P2', 'floor': 4, 'load': 300, 'oos': False}], 'per_floor_s': 2, 'door_s': 8, 'preselect': 'P2'}, {'order': ['P2'], 'starts': {'P2': 0}, 'selected': 'P2', 'done_s': 16}), ('control 40', {'cars': [{'id': 'P4', 'floor': 16, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 5, 'load': 0, 'oos': False}, {'id': 'P1', 'floor': 1, 'load': 75, 'oos': False}, {'id': 'P3', 'floor': 11, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': 'P3'}, {'order': ['P1', 'P2', 'P3', 'P4'], 'starts': {'P1': 0, 'P2': 7, 'P3': 22, 'P4': 49}, 'selected': 'P3', 'done_s': 86}), ('control 43', {'cars': [{'id': 'P2', 'floor': 10, 'load': 300, 'oos': False}, {'id': 'P1', 'floor': 16, 'load': 75, 'oos': True}, {'id': 'P3', 'floor': 4, 'load': 75, 'oos': False}, {'id': 'P4', 'floor': 13, 'load': 0, 'oos': True}], 'per_floor_s': 2, 'door_s': 8, 'preselect': 'P2'}, {'order': ['P3', 'P2'], 'starts': {'P3': 0, 'P2': 16}, 'selected': 'P2', 'done_s': 44})], [('regression: all cars out of service', {'cars': [{'id': 'P1', 'floor': 3, 'load': 0, 'oos': True}], 'per_floor_s': 2, 'door_s': 5, 'preselect': 'P1'}, {'order': [], 'starts': {}, 'selected': None, 'done_s': 0}), ('regression: lobby car still takes door time', {'cars': [{'id': 'P1', 'floor': 0, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 4, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P1', 'P2'], 'starts': {'P1': 0, 'P2': 5}, 'selected': 'P1', 'done_s': 18}), ('sampled regression 47', {'cars': [{'id': 'P1', 'floor': 11, 'load': 75, 'oos': False}, {'id': 'P3', 'floor': 4, 'load': 75, 'oos': False}], 'per_floor_s': 3, 'door_s': 5, 'preselect': 'P2'}, {'order': ['P3', 'P1'], 'starts': {'P3': 0, 'P1': 17}, 'selected': 'P3', 'done_s': 55}), ('sampled regression 62', {'cars': [{'id': 'P3', 'floor': 3, 'load': 0, 'oos': False}, {'id': 'P4', 'floor': 7, 'load': 0, 'oos': False}, {'id': 'P1', 'floor': 2, 'load': 0, 'oos': False}], 'per_floor_s': 3, 'door_s': 5, 'preselect': None}, {'order': ['P1', 'P3', 'P4'], 'starts': {'P1': 0, 'P3': 11, 'P4': 25}, 'selected': 'P1', 'done_s': 51}), ('regression: no preselection', {'cars': [{'id': 'P3', 'floor': 6, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 6, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': None}, {'order': ['P2', 'P3'], 'starts': {'P2': 0, 'P3': 17}, 'selected': 'P2', 'done_s': 34}), ('sampled regression 45', {'cars': [{'id': 'P3', 'floor': 13, 'load': 75, 'oos': False}, {'id': 'P1', 'floor': 19, 'load': 0, 'oos': False}, {'id': 'P4', 'floor': 5, 'load': 0, 'oos': False}], 'per_floor_s': 3, 'door_s': 8, 'preselect': None}, {'order': ['P3', 'P4', 'P1'], 'starts': {'P3': 0, 'P4': 47, 'P1': 70}, 'selected': 'P3', 'done_s': 135}), ('sampled regression 48', {'cars': [{'id': 'P1', 'floor': 2, 'load': 75, 'oos': True}, {'id': 'P2', 'floor': 16, 'load': 300, 'oos': False}, {'id': 'P4', 'floor': 0, 'load': 0, 'oos': False}], 'per_floor_s': 3, 'door_s': 8, 'preselect': None}, {'order': ['P2', 'P4'], 'starts': {'P2': 0, 'P4': 56}, 'selected': 'P2', 'done_s': 64}), ('control 51', {'cars': [{'id': 'P1', 'floor': 2, 'load': 75, 'oos': False}, {'id': 'P4', 'floor': 4, 'load': 0, 'oos': False}, {'id': 'P3', 'floor': 16, 'load': 300, 'oos': False}, {'id': 'P2', 'floor': 4, 'load': 300, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': 'P4'}, {'order': ['P1', 'P2', 'P3', 'P4'], 'starts': {'P1': 0, 'P2': 9, 'P3': 22, 'P4': 59}, 'selected': 'P4', 'done_s': 72})]]\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-emergency-power-return-selection-fallback","generated_at":"2026-09-29T14:47:55.261669+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":"Fall back to the first car of the return order.","root_cause":"The preselection is used without checking availability.","sha256":"879d76f6dc13149805a5ebe81b613636b5719cd7101d716f14122ef9a5c2b422","title":"Emergency power sequential return: selection fallback · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":39.863,"exit_code":1,"observations":[{"actual":{"done_s":11,"order":["P2"],"selected":"P2","starts":{"P2":0}},"check":"regression: out of service car preselected","expected":{"done_s":11,"order":["P2"],"selected":"P2","starts":{"P2":0}},"passed":true},{"actual":{"done_s":32,"order":["P2","P1"],"selected":"P1","starts":{"P1":23,"P2":0}},"check":"regression: occupied car first","expected":{"done_s":32,"order":["P2","P1"],"selected":"P2","starts":{"P1":23,"P2":0}},"passed":false},{"actual":{"done_s":34,"order":["P2","P3"],"selected":"P3","starts":{"P2":0,"P3":17}},"check":"regression: no preselection","expected":{"done_s":34,"order":["P2","P3"],"selected":"P2","starts":{"P2":0,"P3":17}},"passed":false},{"actual":{"done_s":18,"order":["P1","P2"],"selected":"P2","starts":{"P1":0,"P2":5}},"check":"regression: lobby car still takes door time","expected":{"done_s":18,"order":["P1","P2"],"selected":"P1","starts":{"P1":0,"P2":5}},"passed":false},{"actual":{"done_s":0,"order":[],"selected":null,"starts":{}},"check":"regression: all cars out of service","expected":{"done_s":0,"order":[],"selected":null,"starts":{}},"passed":true},{"actual":{"done_s":50,"order":["P4","P1"],"selected":"P1","starts":{"P1":16,"P4":0}},"check":"control 1","expected":{"done_s":50,"order":["P4","P1"],"selected":"P1","starts":{"P1":16,"P4":0}},"passed":true},{"actual":{"done_s":43,"order":["P2","P4"],"selected":"P4","starts":{"P2":0,"P4":20}},"check":"sampled regression 4","expected":{"done_s":43,"order":["P2","P4"],"selected":"P2","starts":{"P2":0,"P4":20}},"passed":false},{"actual":{"done_s":43,"order":["P4"],"selected":"P4","starts":{"P4":0}},"check":"sampled regression 7","expected":{"done_s":43,"order":["P4"],"selected":"P4","starts":{"P4":0}},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: out of service car preselected\", \"actual\": {\"order\": [\"P2\"], \"starts\": {\"P2\": 0}, \"selected\": \"P2\", \"done_s\": 11}, \"expected\": {\"order\": [\"P2\"], \"starts\": {\"P2\": 0}, \"selected\": \"P2\", \"done_s\": 11}, \"passed\": true}, {\"check\": \"regression: occupied car first\", \"actual\": {\"order\": [\"P2\", \"P1\"], \"starts\": {\"P2\": 0, \"P1\": 23}, \"selected\": \"P1\", \"done_s\": 32}, \"expected\": {\"order\": [\"P2\", \"P1\"], \"starts\": {\"P2\": 0, \"P1\": 23}, \"selected\": \"P2\", \"done_s\": 32}, \"passed\": false}, {\"check\": \"regression: no preselection\", \"actual\": {\"order\": [\"P2\", \"P3\"], \"starts\": {\"P2\": 0, \"P3\": 17}, \"selected\": \"P3\", \"done_s\": 34}, \"expected\": {\"order\": [\"P2\", \"P3\"], \"starts\": {\"P2\": 0, \"P3\": 17}, \"selected\": \"P2\", \"done_s\": 34}, \"passed\": false}, {\"check\": \"regression: lobby car still takes door time\", \"actual\": {\"order\": [\"P1\", \"P2\"], \"starts\": {\"P1\": 0, \"P2\": 5}, \"selected\": \"P2\", \"done_s\": 18}, \"expected\": {\"order\": [\"P1\", \"P2\"], \"starts\": {\"P1\": 0, \"P2\": 5}, \"selected\": \"P1\", \"done_s\": 18}, \"passed\": false}, {\"check\": \"regression: all cars out of service\", \"actual\": {\"order\": [], \"starts\": {}, \"selected\": null, \"done_s\": 0}, \"expected\": {\"order\": [], \"starts\": {}, \"selected\": null, \"done_s\": 0}, \"passed\": true}, {\"check\": \"control 1\", \"actual\": {\"order\": [\"P4\", \"P1\"], \"starts\": {\"P4\": 0, \"P1\": 16}, \"selected\": \"P1\", \"done_s\": 50}, \"expected\": {\"order\": [\"P4\", \"P1\"], \"starts\": {\"P4\": 0, \"P1\": 16}, \"selected\": \"P1\", \"done_s\": 50}, \"passed\": true}, {\"check\": \"sampled regression 4\", \"actual\": {\"order\": [\"P2\", \"P4\"], \"starts\": {\"P2\": 0, \"P4\": 20}, \"selected\": \"P4\", \"done_s\": 43}, \"expected\": {\"order\": [\"P2\", \"P4\"], \"starts\": {\"P2\": 0, \"P4\": 20}, \"selected\": \"P2\", \"done_s\": 43}, \"passed\": false}, {\"check\": \"sampled regression 7\", \"actual\": {\"order\": [\"P4\"], \"starts\": {\"P4\": 0}, \"selected\": \"P4\", \"done_s\": 43}, \"expected\": {\"order\": [\"P4\"], \"starts\": {\"P4\": 0}, \"selected\": \"P4\", \"done_s\": 43}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.633,"exit_code":1,"observations":[{"actual":{"done_s":11,"order":["P2"],"selected":"P1","starts":{"P2":0}},"check":"regression: out of service car preselected","expected":{"done_s":11,"order":["P2"],"selected":"P2","starts":{"P2":0}},"passed":false},{"actual":{"done_s":32,"order":["P2","P1"],"selected":null,"starts":{"P1":23,"P2":0}},"check":"regression: occupied car first","expected":{"done_s":32,"order":["P2","P1"],"selected":"P2","starts":{"P1":23,"P2":0}},"passed":false},{"actual":{"done_s":34,"order":["P2","P3"],"selected":null,"starts":{"P2":0,"P3":17}},"check":"regression: no preselection","expected":{"done_s":34,"order":["P2","P3"],"selected":"P2","starts":{"P2":0,"P3":17}},"passed":false},{"actual":{"done_s":18,"order":["P1","P2"],"selected":null,"starts":{"P1":0,"P2":5}},"check":"regression: lobby car still takes door time","expected":{"done_s":18,"order":["P1","P2"],"selected":"P1","starts":{"P1":0,"P2":5}},"passed":false},{"actual":{"done_s":0,"order":[],"selected":"P1","starts":{}},"check":"regression: all cars out of service","expected":{"done_s":0,"order":[],"selected":null,"starts":{}},"passed":false},{"actual":{"done_s":50,"order":["P4","P1"],"selected":"P1","starts":{"P1":16,"P4":0}},"check":"control 1","expected":{"done_s":50,"order":["P4","P1"],"selected":"P1","starts":{"P1":16,"P4":0}},"passed":true},{"actual":{"done_s":43,"order":["P2","P4"],"selected":null,"starts":{"P2":0,"P4":20}},"check":"sampled regression 4","expected":{"done_s":43,"order":["P2","P4"],"selected":"P2","starts":{"P2":0,"P4":20}},"passed":false},{"actual":{"done_s":43,"order":["P4"],"selected":"P3","starts":{"P4":0}},"check":"sampled regression 7","expected":{"done_s":43,"order":["P4"],"selected":"P4","starts":{"P4":0}},"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: out of service car preselected\", \"actual\": {\"order\": [\"P2\"], \"starts\": {\"P2\": 0}, \"selected\": \"P1\", \"done_s\": 11}, \"expected\": {\"order\": [\"P2\"], \"starts\": {\"P2\": 0}, \"selected\": \"P2\", \"done_s\": 11}, \"passed\": false}, {\"check\": \"regression: occupied car first\", \"actual\": {\"order\": [\"P2\", \"P1\"], \"starts\": {\"P2\": 0, \"P1\": 23}, \"selected\": null, \"done_s\": 32}, \"expected\": {\"order\": [\"P2\", \"P1\"], \"starts\": {\"P2\": 0, \"P1\": 23}, \"selected\": \"P2\", \"done_s\": 32}, \"passed\": false}, {\"check\": \"regression: no preselection\", \"actual\": {\"order\": [\"P2\", \"P3\"], \"starts\": {\"P2\": 0, \"P3\": 17}, \"selected\": null, \"done_s\": 34}, \"expected\": {\"order\": [\"P2\", \"P3\"], \"starts\": {\"P2\": 0, \"P3\": 17}, \"selected\": \"P2\", \"done_s\": 34}, \"passed\": false}, {\"check\": \"regression: lobby car still takes door time\", \"actual\": {\"order\": [\"P1\", \"P2\"], \"starts\": {\"P1\": 0, \"P2\": 5}, \"selected\": null, \"done_s\": 18}, \"expected\": {\"order\": [\"P1\", \"P2\"], \"starts\": {\"P1\": 0, \"P2\": 5}, \"selected\": \"P1\", \"done_s\": 18}, \"passed\": false}, {\"check\": \"regression: all cars out of service\", \"actual\": {\"order\": [], \"starts\": {}, \"selected\": \"P1\", \"done_s\": 0}, \"expected\": {\"order\": [], \"starts\": {}, \"selected\": null, \"done_s\": 0}, \"passed\": false}, {\"check\": \"control 1\", \"actual\": {\"order\": [\"P4\", \"P1\"], \"starts\": {\"P4\": 0, \"P1\": 16}, \"selected\": \"P1\", \"done_s\": 50}, \"expected\": {\"order\": [\"P4\", \"P1\"], \"starts\": {\"P4\": 0, \"P1\": 16}, \"selected\": \"P1\", \"done_s\": 50}, \"passed\": true}, {\"check\": \"sampled regression 4\", \"actual\": {\"order\": [\"P2\", \"P4\"], \"starts\": {\"P2\": 0, \"P4\": 20}, \"selected\": null, \"done_s\": 43}, \"expected\": {\"order\": [\"P2\", \"P4\"], \"starts\": {\"P2\": 0, \"P4\": 20}, \"selected\": \"P2\", \"done_s\": 43}, \"passed\": false}, {\"check\": \"sampled regression 7\", \"actual\": {\"order\": [\"P4\"], \"starts\": {\"P4\": 0}, \"selected\": \"P3\", \"done_s\": 43}, \"expected\": {\"order\": [\"P4\"], \"starts\": {\"P4\": 0}, \"selected\": \"P4\", \"done_s\": 43}, \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":42.55,"exit_code":0,"observations":[{"actual":{"done_s":11,"order":["P2"],"selected":"P2","starts":{"P2":0}},"check":"regression: out of service car preselected","expected":{"done_s":11,"order":["P2"],"selected":"P2","starts":{"P2":0}},"passed":true},{"actual":{"done_s":32,"order":["P2","P1"],"selected":"P2","starts":{"P1":23,"P2":0}},"check":"regression: occupied car first","expected":{"done_s":32,"order":["P2","P1"],"selected":"P2","starts":{"P1":23,"P2":0}},"passed":true},{"actual":{"done_s":34,"order":["P2","P3"],"selected":"P2","starts":{"P2":0,"P3":17}},"check":"regression: no preselection","expected":{"done_s":34,"order":["P2","P3"],"selected":"P2","starts":{"P2":0,"P3":17}},"passed":true},{"actual":{"done_s":18,"order":["P1","P2"],"selected":"P1","starts":{"P1":0,"P2":5}},"check":"regression: lobby car still takes door time","expected":{"done_s":18,"order":["P1","P2"],"selected":"P1","starts":{"P1":0,"P2":5}},"passed":true},{"actual":{"done_s":0,"order":[],"selected":null,"starts":{}},"check":"regression: all cars out of service","expected":{"done_s":0,"order":[],"selected":null,"starts":{}},"passed":true},{"actual":{"done_s":50,"order":["P4","P1"],"selected":"P1","starts":{"P1":16,"P4":0}},"check":"control 1","expected":{"done_s":50,"order":["P4","P1"],"selected":"P1","starts":{"P1":16,"P4":0}},"passed":true},{"actual":{"done_s":43,"order":["P2","P4"],"selected":"P2","starts":{"P2":0,"P4":20}},"check":"sampled regression 4","expected":{"done_s":43,"order":["P2","P4"],"selected":"P2","starts":{"P2":0,"P4":20}},"passed":true},{"actual":{"done_s":43,"order":["P4"],"selected":"P4","starts":{"P4":0}},"check":"sampled regression 7","expected":{"done_s":43,"order":["P4"],"selected":"P4","starts":{"P4":0}},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: out of service car preselected\", \"actual\": {\"order\": [\"P2\"], \"starts\": {\"P2\": 0}, \"selected\": \"P2\", \"done_s\": 11}, \"expected\": {\"order\": [\"P2\"], \"starts\": {\"P2\": 0}, \"selected\": \"P2\", \"done_s\": 11}, \"passed\": true}, {\"check\": \"regression: occupied car first\", \"actual\": {\"order\": [\"P2\", \"P1\"], \"starts\": {\"P2\": 0, \"P1\": 23}, \"selected\": \"P2\", \"done_s\": 32}, \"expected\": {\"order\": [\"P2\", \"P1\"], \"starts\": {\"P2\": 0, \"P1\": 23}, \"selected\": \"P2\", \"done_s\": 32}, \"passed\": true}, {\"check\": \"regression: no preselection\", \"actual\": {\"order\": [\"P2\", \"P3\"], \"starts\": {\"P2\": 0, \"P3\": 17}, \"selected\": \"P2\", \"done_s\": 34}, \"expected\": {\"order\": [\"P2\", \"P3\"], \"starts\": {\"P2\": 0, \"P3\": 17}, \"selected\": \"P2\", \"done_s\": 34}, \"passed\": true}, {\"check\": \"regression: lobby car still takes door time\", \"actual\": {\"order\": [\"P1\", \"P2\"], \"starts\": {\"P1\": 0, \"P2\": 5}, \"selected\": \"P1\", \"done_s\": 18}, \"expected\": {\"order\": [\"P1\", \"P2\"], \"starts\": {\"P1\": 0, \"P2\": 5}, \"selected\": \"P1\", \"done_s\": 18}, \"passed\": true}, {\"check\": \"regression: all cars out of service\", \"actual\": {\"order\": [], \"starts\": {}, \"selected\": null, \"done_s\": 0}, \"expected\": {\"order\": [], \"starts\": {}, \"selected\": null, \"done_s\": 0}, \"passed\": true}, {\"check\": \"control 1\", \"actual\": {\"order\": [\"P4\", \"P1\"], \"starts\": {\"P4\": 0, \"P1\": 16}, \"selected\": \"P1\", \"done_s\": 50}, \"expected\": {\"order\": [\"P4\", \"P1\"], \"starts\": {\"P4\": 0, \"P1\": 16}, \"selected\": \"P1\", \"done_s\": 50}, \"passed\": true}, {\"check\": \"sampled regression 4\", \"actual\": {\"order\": [\"P2\", \"P4\"], \"starts\": {\"P2\": 0, \"P4\": 20}, \"selected\": \"P2\", \"done_s\": 43}, \"expected\": {\"order\": [\"P2\", \"P4\"], \"starts\": {\"P2\": 0, \"P4\": 20}, \"selected\": \"P2\", \"done_s\": 43}, \"passed\": true}, {\"check\": \"sampled regression 7\", \"actual\": {\"order\": [\"P4\"], \"starts\": {\"P4\": 0}, \"selected\": \"P4\", \"done_s\": 43}, \"expected\": {\"order\": [\"P4\"], \"starts\": {\"P4\": 0}, \"selected\": \"P4\", \"done_s\": 43}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}