{"abstract":"Return starts are too early because door time is ignored.","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).","contract_signature":"x","evaluation_group":"w2-elevator_dispatch_scheduling-emergency-power-return","failed_approach":"An extra floor of running time does not model the door operation.","family":"w2-elevator_dispatch_scheduling-emergency-power-return-return-duration","id":"FA-67686","implementations":{"attempt":{"sha256":"7a4313cceef5b2bcb7473be622caae06949086232ceffd213f719df2dad4ef8f","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'] + 1) * x['per_floor_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: 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}), ('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}), ('boundary: 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}), ('sampled regression 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}), ('sampled regression 8', {'cars': [{'id': 'P2', 'floor': 13, 'load': 0, 'oos': False}, {'id': 'P4', 'floor': 18, 'load': 0, 'oos': False}], 'per_floor_s': 3, 'door_s': 8, 'preselect': 'P1'}, {'order': ['P2', 'P4'], 'starts': {'P2': 0, 'P4': 47}, 'selected': 'P2', 'done_s': 109}), ('sampled regression 3', {'cars': [{'id': 'P2', 'floor': 15, 'load': 300, 'oos': False}, {'id': 'P1', 'floor': 8, 'load': 300, 'oos': True}, {'id': 'P4', 'floor': 10, 'load': 0, 'oos': True}, {'id': 'P3', 'floor': 12, 'load': 75, 'oos': False}], 'per_floor_s': 3, 'door_s': 5, 'preselect': 'P4'}, {'order': ['P3', 'P2'], 'starts': {'P3': 0, 'P2': 41}, 'selected': 'P3', 'done_s': 91}), ('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 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}), ('sampled regression 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}), ('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}), ('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}), ('boundary: 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: 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}), ('sampled regression 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}), ('sampled regression 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}), ('sampled regression 22', {'cars': [{'id': 'P2', 'floor': 0, 'load': 0, 'oos': True}, {'id': 'P1', 'floor': 0, 'load': 0, 'oos': False}], 'per_floor_s': 3, 'door_s': 8, 'preselect': 'P1'}, {'order': ['P1'], 'starts': {'P1': 0}, 'selected': 'P1', 'done_s': 8}), ('sampled regression 14', {'cars': [{'id': 'P3', 'floor': 11, 'load': 300, 'oos': False}], 'per_floor_s': 3, 'door_s': 8, 'preselect': None}, {'order': ['P3'], 'starts': {'P3': 0}, 'selected': 'P3', 'done_s': 41}), ('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 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}), ('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 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})], [('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}), ('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}), ('sampled regression 19', {'cars': [{'id': 'P2', 'floor': 1, 'load': 75, 'oos': False}], 'per_floor_s': 2, 'door_s': 8, 'preselect': 'P1'}, {'order': ['P2'], 'starts': {'P2': 0}, 'selected': 'P2', 'done_s': 10}), ('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}), ('boundary: 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}), ('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}), ('sampled regression 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":"96080ac78baaa7e2a611e86a4fe00df4b8a02d81022e60a2b3f8e4c48b852cc1","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']\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: 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}), ('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}), ('boundary: 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}), ('sampled regression 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}), ('sampled regression 8', {'cars': [{'id': 'P2', 'floor': 13, 'load': 0, 'oos': False}, {'id': 'P4', 'floor': 18, 'load': 0, 'oos': False}], 'per_floor_s': 3, 'door_s': 8, 'preselect': 'P1'}, {'order': ['P2', 'P4'], 'starts': {'P2': 0, 'P4': 47}, 'selected': 'P2', 'done_s': 109}), ('sampled regression 3', {'cars': [{'id': 'P2', 'floor': 15, 'load': 300, 'oos': False}, {'id': 'P1', 'floor': 8, 'load': 300, 'oos': True}, {'id': 'P4', 'floor': 10, 'load': 0, 'oos': True}, {'id': 'P3', 'floor': 12, 'load': 75, 'oos': False}], 'per_floor_s': 3, 'door_s': 5, 'preselect': 'P4'}, {'order': ['P3', 'P2'], 'starts': {'P3': 0, 'P2': 41}, 'selected': 'P3', 'done_s': 91}), ('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 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}), ('sampled regression 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}), ('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}), ('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}), ('boundary: 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: 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}), ('sampled regression 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}), ('sampled regression 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}), ('sampled regression 22', {'cars': [{'id': 'P2', 'floor': 0, 'load': 0, 'oos': True}, {'id': 'P1', 'floor': 0, 'load': 0, 'oos': False}], 'per_floor_s': 3, 'door_s': 8, 'preselect': 'P1'}, {'order': ['P1'], 'starts': {'P1': 0}, 'selected': 'P1', 'done_s': 8}), ('sampled regression 14', {'cars': [{'id': 'P3', 'floor': 11, 'load': 300, 'oos': False}], 'per_floor_s': 3, 'door_s': 8, 'preselect': None}, {'order': ['P3'], 'starts': {'P3': 0}, 'selected': 'P3', 'done_s': 41}), ('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 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}), ('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 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})], [('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}), ('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}), ('sampled regression 19', {'cars': [{'id': 'P2', 'floor': 1, 'load': 75, 'oos': False}], 'per_floor_s': 2, 'door_s': 8, 'preselect': 'P1'}, {'order': ['P2'], 'starts': {'P2': 0}, 'selected': 'P2', 'done_s': 10}), ('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}), ('boundary: 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}), ('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}), ('sampled regression 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-return-duration","generated_at":"2026-09-29T14:47:55.216464+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.","root_cause":"The door opening at the lobby is not included.","sha256":"bc1fdac65304f21bede797a9421fc7cf2f9ff5361d728cdf7070b5b79767d4a2","title":"Emergency power sequential return: return duration · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":40.273,"exit_code":1,"observations":[{"actual":{"done_s":8,"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":false},{"actual":{"done_s":28,"order":["P2","P3"],"selected":"P2","starts":{"P2":0,"P3":14}},"check":"regression: no preselection","expected":{"done_s":34,"order":["P2","P3"],"selected":"P2","starts":{"P2":0,"P3":17}},"passed":false},{"actual":{"done_s":26,"order":["P2","P1"],"selected":"P2","starts":{"P1":20,"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":12,"order":["P1","P2"],"selected":"P1","starts":{"P1":0,"P2":2}},"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":"boundary: all cars out of service","expected":{"done_s":0,"order":[],"selected":null,"starts":{}},"passed":true},{"actual":{"done_s":38,"order":["P4","P1"],"selected":"P1","starts":{"P1":10,"P4":0}},"check":"sampled regression 1","expected":{"done_s":50,"order":["P4","P1"],"selected":"P1","starts":{"P1":16,"P4":0}},"passed":false},{"actual":{"done_s":33,"order":["P2","P4"],"selected":"P2","starts":{"P2":0,"P4":15}},"check":"sampled regression 4","expected":{"done_s":43,"order":["P2","P4"],"selected":"P2","starts":{"P2":0,"P4":20}},"passed":false},{"actual":{"done_s":40,"order":["P4"],"selected":"P4","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\": \"P2\", \"done_s\": 8}, \"expected\": {\"order\": [\"P2\"], \"starts\": {\"P2\": 0}, \"selected\": \"P2\", \"done_s\": 11}, \"passed\": false}, {\"check\": \"regression: no preselection\", \"actual\": {\"order\": [\"P2\", \"P3\"], \"starts\": {\"P2\": 0, \"P3\": 14}, \"selected\": \"P2\", \"done_s\": 28}, \"expected\": {\"order\": [\"P2\", \"P3\"], \"starts\": {\"P2\": 0, \"P3\": 17}, \"selected\": \"P2\", \"done_s\": 34}, \"passed\": false}, {\"check\": \"regression: occupied car first\", \"actual\": {\"order\": [\"P2\", \"P1\"], \"starts\": {\"P2\": 0, \"P1\": 20}, \"selected\": \"P2\", \"done_s\": 26}, \"expected\": {\"order\": [\"P2\", \"P1\"], \"starts\": {\"P2\": 0, \"P1\": 23}, \"selected\": \"P2\", \"done_s\": 32}, \"passed\": false}, {\"check\": \"regression: lobby car still takes door time\", \"actual\": {\"order\": [\"P1\", \"P2\"], \"starts\": {\"P1\": 0, \"P2\": 2}, \"selected\": \"P1\", \"done_s\": 12}, \"expected\": {\"order\": [\"P1\", \"P2\"], \"starts\": {\"P1\": 0, \"P2\": 5}, \"selected\": \"P1\", \"done_s\": 18}, \"passed\": false}, {\"check\": \"boundary: all cars out of service\", \"actual\": {\"order\": [], \"starts\": {}, \"selected\": null, \"done_s\": 0}, \"expected\": {\"order\": [], \"starts\": {}, \"selected\": null, \"done_s\": 0}, \"passed\": true}, {\"check\": \"sampled regression 1\", \"actual\": {\"order\": [\"P4\", \"P1\"], \"starts\": {\"P4\": 0, \"P1\": 10}, \"selected\": \"P1\", \"done_s\": 38}, \"expected\": {\"order\": [\"P4\", \"P1\"], \"starts\": {\"P4\": 0, \"P1\": 16}, \"selected\": \"P1\", \"done_s\": 50}, \"passed\": false}, {\"check\": \"sampled regression 4\", \"actual\": {\"order\": [\"P2\", \"P4\"], \"starts\": {\"P2\": 0, \"P4\": 15}, \"selected\": \"P2\", \"done_s\": 33}, \"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\": 40}, \"expected\": {\"order\": [\"P4\"], \"starts\": {\"P4\": 0}, \"selected\": \"P4\", \"done_s\": 43}, \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.2,"exit_code":1,"observations":[{"actual":{"done_s":6,"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":false},{"actual":{"done_s":24,"order":["P2","P3"],"selected":"P2","starts":{"P2":0,"P3":12}},"check":"regression: no preselection","expected":{"done_s":34,"order":["P2","P3"],"selected":"P2","starts":{"P2":0,"P3":17}},"passed":false},{"actual":{"done_s":22,"order":["P2","P1"],"selected":"P2","starts":{"P1":18,"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":8,"order":["P1","P2"],"selected":"P1","starts":{"P1":0,"P2":0}},"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":"boundary: all cars out of service","expected":{"done_s":0,"order":[],"selected":null,"starts":{}},"passed":true},{"actual":{"done_s":34,"order":["P4","P1"],"selected":"P1","starts":{"P1":8,"P4":0}},"check":"sampled regression 1","expected":{"done_s":50,"order":["P4","P1"],"selected":"P1","starts":{"P1":16,"P4":0}},"passed":false},{"actual":{"done_s":27,"order":["P2","P4"],"selected":"P2","starts":{"P2":0,"P4":12}},"check":"sampled regression 4","expected":{"done_s":43,"order":["P2","P4"],"selected":"P2","starts":{"P2":0,"P4":20}},"passed":false},{"actual":{"done_s":38,"order":["P4"],"selected":"P4","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\": \"P2\", \"done_s\": 6}, \"expected\": {\"order\": [\"P2\"], \"starts\": {\"P2\": 0}, \"selected\": \"P2\", \"done_s\": 11}, \"passed\": false}, {\"check\": \"regression: no preselection\", \"actual\": {\"order\": [\"P2\", \"P3\"], \"starts\": {\"P2\": 0, \"P3\": 12}, \"selected\": \"P2\", \"done_s\": 24}, \"expected\": {\"order\": [\"P2\", \"P3\"], \"starts\": {\"P2\": 0, \"P3\": 17}, \"selected\": \"P2\", \"done_s\": 34}, \"passed\": false}, {\"check\": \"regression: occupied car first\", \"actual\": {\"order\": [\"P2\", \"P1\"], \"starts\": {\"P2\": 0, \"P1\": 18}, \"selected\": \"P2\", \"done_s\": 22}, \"expected\": {\"order\": [\"P2\", \"P1\"], \"starts\": {\"P2\": 0, \"P1\": 23}, \"selected\": \"P2\", \"done_s\": 32}, \"passed\": false}, {\"check\": \"regression: lobby car still takes door time\", \"actual\": {\"order\": [\"P1\", \"P2\"], \"starts\": {\"P1\": 0, \"P2\": 0}, \"selected\": \"P1\", \"done_s\": 8}, \"expected\": {\"order\": [\"P1\", \"P2\"], \"starts\": {\"P1\": 0, \"P2\": 5}, \"selected\": \"P1\", \"done_s\": 18}, \"passed\": false}, {\"check\": \"boundary: all cars out of service\", \"actual\": {\"order\": [], \"starts\": {}, \"selected\": null, \"done_s\": 0}, \"expected\": {\"order\": [], \"starts\": {}, \"selected\": null, \"done_s\": 0}, \"passed\": true}, {\"check\": \"sampled regression 1\", \"actual\": {\"order\": [\"P4\", \"P1\"], \"starts\": {\"P4\": 0, \"P1\": 8}, \"selected\": \"P1\", \"done_s\": 34}, \"expected\": {\"order\": [\"P4\", \"P1\"], \"starts\": {\"P4\": 0, \"P1\": 16}, \"selected\": \"P1\", \"done_s\": 50}, \"passed\": false}, {\"check\": \"sampled regression 4\", \"actual\": {\"order\": [\"P2\", \"P4\"], \"starts\": {\"P2\": 0, \"P4\": 12}, \"selected\": \"P2\", \"done_s\": 27}, \"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\": 38}, \"expected\": {\"order\": [\"P4\"], \"starts\": {\"P4\": 0}, \"selected\": \"P4\", \"done_s\": 43}, \"passed\": false}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}