FAILURE MAP
← Case archive

FA-67681 / Elevator dispatch scheduling / Open access

Emergency power sequential return: return priority · case 01

Trapped passengers wait while empty cars return first.

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

ROOT CAUSE

The occupancy key is inverted, putting empty cars first.

VERIFIED REPAIR

Return occupied cars first.

Unsuccessful approach: Ordering only by floor ignores trapped passengers.

Case 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).

Why this case matters

Lift group controllers make these decisions many times per minute; a wrong answer strands passengers, wastes trips or overrides a safety rule.

1 / The failure

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

N = 1
observations = []
def solve(x):
    cars = [c for c in x['cars'] if not c['oos']]
    order = sorted(cars, key=lambda c: (c['load'] > 0, c['floor'], c['id']))
    t = 0
    starts = {}
    for c in order:
        starts[c['id']] = t
        t += c['floor'] * x['per_floor_s'] + x['door_s']
    pre = x['preselect']
    sel = pre if pre in starts else (order[0]['id'] if order else None)
    return {'order': [c['id'] for c in order], 'starts': starts, 'selected': sel, 'done_s': t}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('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 6', {'cars': [{'id': 'P1', 'floor': 0, 'load': 300, 'oos': False}, {'id': 'P3', 'floor': 2, 'load': 0, 'oos': False}, {'id': 'P4', 'floor': 7, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 4, 'load': 0, 'oos': False}], 'per_floor_s': 3, 'door_s': 5, 'preselect': 'P3'}, {'order': ['P1', 'P3', 'P2', 'P4'], 'starts': {'P1': 0, 'P3': 5, 'P2': 16, 'P4': 33}, 'selected': 'P3', 'done_s': 59}), ('sampled regression 2', {'cars': [{'id': 'P3', 'floor': 17, 'load': 75, 'oos': False}, {'id': 'P1', 'floor': 0, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 3, 'load': 75, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': 'P2'}, {'order': ['P2', 'P3', 'P1'], 'starts': {'P2': 0, 'P3': 11, 'P1': 50}, 'selected': 'P2', 'done_s': 55}), ('boundary: 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}), ('boundary: 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 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}), ('control 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 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 28', {'cars': [{'id': 'P3', 'floor': 3, 'load': 0, 'oos': False}, {'id': 'P4', 'floor': 8, 'load': 0, 'oos': False}, {'id': 'P1', 'floor': 15, 'load': 300, 'oos': False}], 'per_floor_s': 3, 'door_s': 5, 'preselect': 'P3'}, {'order': ['P1', 'P3', 'P4'], 'starts': {'P1': 0, 'P3': 50, 'P4': 64}, 'selected': 'P3', 'done_s': 93}), ('boundary: 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: 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}), ('control 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: 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 42', {'cars': [{'id': 'P4', 'floor': 11, 'load': 0, 'oos': False}, {'id': 'P3', 'floor': 11, 'load': 300, 'oos': False}, {'id': 'P2', 'floor': 15, 'load': 0, 'oos': True}, {'id': 'P1', 'floor': 0, 'load': 0, 'oos': False}], 'per_floor_s': 3, 'door_s': 8, 'preselect': 'P2'}, {'order': ['P3', 'P1', 'P4'], 'starts': {'P3': 0, 'P1': 41, 'P4': 49}, 'selected': 'P3', 'done_s': 90}), ('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}), ('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}), ('boundary: 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}), ('control 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: 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 53', {'cars': [{'id': 'P1', 'floor': 14, 'load': 0, 'oos': False}, {'id': 'P3', 'floor': 16, 'load': 75, 'oos': False}], 'per_floor_s': 2, 'door_s': 8, 'preselect': None}, {'order': ['P3', 'P1'], 'starts': {'P3': 0, 'P1': 40}, 'selected': 'P3', 'done_s': 76}), ('sampled regression 59', {'cars': [{'id': 'P3', 'floor': 5, 'load': 0, 'oos': True}, {'id': 'P2', 'floor': 2, 'load': 0, 'oos': False}, {'id': 'P1', 'floor': 13, 'load': 0, 'oos': False}, {'id': 'P4', 'floor': 15, 'load': 75, 'oos': False}], 'per_floor_s': 3, 'door_s': 8, 'preselect': None}, {'order': ['P4', 'P2', 'P1'], 'starts': {'P4': 0, 'P2': 53, 'P1': 67}, 'selected': 'P4', 'done_s': 114}), ('boundary: 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: 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 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 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: 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 64', {'cars': [{'id': 'P2', 'floor': 8, 'load': 75, 'oos': True}, {'id': 'P4', 'floor': 6, 'load': 0, 'oos': False}, {'id': 'P1', 'floor': 12, 'load': 0, 'oos': False}, {'id': 'P3', 'floor': 14, 'load': 75, 'oos': False}], 'per_floor_s': 3, 'door_s': 5, 'preselect': 'P3'}, {'order': ['P3', 'P4', 'P1'], 'starts': {'P3': 0, 'P4': 47, 'P1': 70}, 'selected': 'P3', 'done_s': 111}), ('sampled regression 74', {'cars': [{'id': 'P3', 'floor': 4, 'load': 0, 'oos': True}, {'id': 'P4', 'floor': 3, 'load': 75, 'oos': False}, {'id': 'P2', 'floor': 17, 'load': 0, 'oos': True}, {'id': 'P1', 'floor': 3, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 8, 'preselect': None}, {'order': ['P4', 'P1'], 'starts': {'P4': 0, 'P1': 14}, 'selected': 'P4', 'done_s': 28}), ('boundary: 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})]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
regression: occupied car first{'done_s': 32, 'order': ['P1', 'P2'], 'selected': 'P1', 'starts': {'P1': 0, 'P2': 9}}{'done_s': 32, 'order': ['P2', 'P1'], 'selected': 'P2', 'starts': {'P1': 23, 'P2': 0}}Failed
sampled regression 6{'done_s': 59, 'order': ['P3', 'P2', 'P4', 'P1'], 'selected': 'P3', 'starts': {'P1': 54, 'P2': 11, 'P3': 0, 'P4': 28}}{'done_s': 59, 'order': ['P1', 'P3', 'P2', 'P4'], 'selected': 'P3', 'starts': {'P1': 0, 'P2': 16, 'P3': 5, 'P4': 33}}Failed
sampled regression 2{'done_s': 55, 'order': ['P1', 'P2', 'P3'], 'selected': 'P2', 'starts': {'P1': 0, 'P2': 5, 'P3': 16}}{'done_s': 55, 'order': ['P2', 'P3', 'P1'], 'selected': 'P2', 'starts': {'P1': 50, 'P2': 0, 'P3': 11}}Failed
boundary: out of service car preselected{'done_s': 11, 'order': ['P2'], 'selected': 'P2', 'starts': {'P2': 0}}{'done_s': 11, 'order': ['P2'], 'selected': 'P2', 'starts': {'P2': 0}}Passed
boundary: lobby car still takes door time{'done_s': 18, 'order': ['P1', 'P2'], 'selected': 'P1', 'starts': {'P1': 0, 'P2': 5}}{'done_s': 18, 'order': ['P1', 'P2'], 'selected': 'P1', 'starts': {'P1': 0, 'P2': 5}}Passed
control 1{'done_s': 50, 'order': ['P4', 'P1'], 'selected': 'P1', 'starts': {'P1': 16, 'P4': 0}}{'done_s': 50, 'order': ['P4', 'P1'], 'selected': 'P1', 'starts': {'P1': 16, 'P4': 0}}Passed
sampled regression 4{'done_s': 43, 'order': ['P4', 'P2'], 'selected': 'P4', 'starts': {'P2': 23, 'P4': 0}}{'done_s': 43, 'order': ['P2', 'P4'], 'selected': 'P2', 'starts': {'P2': 0, 'P4': 20}}Failed
control 7{'done_s': 43, 'order': ['P4'], 'selected': 'P4', 'starts': {'P4': 0}}{'done_s': 43, 'order': ['P4'], 'selected': 'P4', 'starts': {'P4': 0}}Passed

SHA-256 / 2182e5a221e045aee0144b2bdbdf81cbda32d14f45dcbc3e0fb2c0f02f11b30b

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(x):
    cars = [c for c in x['cars'] if not c['oos']]
    order = sorted(cars, key=lambda c: (c['floor'], c['id']))
    t = 0
    starts = {}
    for c in order:
        starts[c['id']] = t
        t += c['floor'] * x['per_floor_s'] + x['door_s']
    pre = x['preselect']
    sel = pre if pre in starts else (order[0]['id'] if order else None)
    return {'order': [c['id'] for c in order], 'starts': starts, 'selected': sel, 'done_s': t}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('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 6', {'cars': [{'id': 'P1', 'floor': 0, 'load': 300, 'oos': False}, {'id': 'P3', 'floor': 2, 'load': 0, 'oos': False}, {'id': 'P4', 'floor': 7, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 4, 'load': 0, 'oos': False}], 'per_floor_s': 3, 'door_s': 5, 'preselect': 'P3'}, {'order': ['P1', 'P3', 'P2', 'P4'], 'starts': {'P1': 0, 'P3': 5, 'P2': 16, 'P4': 33}, 'selected': 'P3', 'done_s': 59}), ('sampled regression 2', {'cars': [{'id': 'P3', 'floor': 17, 'load': 75, 'oos': False}, {'id': 'P1', 'floor': 0, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 3, 'load': 75, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': 'P2'}, {'order': ['P2', 'P3', 'P1'], 'starts': {'P2': 0, 'P3': 11, 'P1': 50}, 'selected': 'P2', 'done_s': 55}), ('boundary: 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}), ('boundary: 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 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}), ('control 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 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 28', {'cars': [{'id': 'P3', 'floor': 3, 'load': 0, 'oos': False}, {'id': 'P4', 'floor': 8, 'load': 0, 'oos': False}, {'id': 'P1', 'floor': 15, 'load': 300, 'oos': False}], 'per_floor_s': 3, 'door_s': 5, 'preselect': 'P3'}, {'order': ['P1', 'P3', 'P4'], 'starts': {'P1': 0, 'P3': 50, 'P4': 64}, 'selected': 'P3', 'done_s': 93}), ('boundary: 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: 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}), ('control 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: 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 42', {'cars': [{'id': 'P4', 'floor': 11, 'load': 0, 'oos': False}, {'id': 'P3', 'floor': 11, 'load': 300, 'oos': False}, {'id': 'P2', 'floor': 15, 'load': 0, 'oos': True}, {'id': 'P1', 'floor': 0, 'load': 0, 'oos': False}], 'per_floor_s': 3, 'door_s': 8, 'preselect': 'P2'}, {'order': ['P3', 'P1', 'P4'], 'starts': {'P3': 0, 'P1': 41, 'P4': 49}, 'selected': 'P3', 'done_s': 90}), ('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}), ('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}), ('boundary: 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}), ('control 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: 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 53', {'cars': [{'id': 'P1', 'floor': 14, 'load': 0, 'oos': False}, {'id': 'P3', 'floor': 16, 'load': 75, 'oos': False}], 'per_floor_s': 2, 'door_s': 8, 'preselect': None}, {'order': ['P3', 'P1'], 'starts': {'P3': 0, 'P1': 40}, 'selected': 'P3', 'done_s': 76}), ('sampled regression 59', {'cars': [{'id': 'P3', 'floor': 5, 'load': 0, 'oos': True}, {'id': 'P2', 'floor': 2, 'load': 0, 'oos': False}, {'id': 'P1', 'floor': 13, 'load': 0, 'oos': False}, {'id': 'P4', 'floor': 15, 'load': 75, 'oos': False}], 'per_floor_s': 3, 'door_s': 8, 'preselect': None}, {'order': ['P4', 'P2', 'P1'], 'starts': {'P4': 0, 'P2': 53, 'P1': 67}, 'selected': 'P4', 'done_s': 114}), ('boundary: 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: 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 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 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: 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 64', {'cars': [{'id': 'P2', 'floor': 8, 'load': 75, 'oos': True}, {'id': 'P4', 'floor': 6, 'load': 0, 'oos': False}, {'id': 'P1', 'floor': 12, 'load': 0, 'oos': False}, {'id': 'P3', 'floor': 14, 'load': 75, 'oos': False}], 'per_floor_s': 3, 'door_s': 5, 'preselect': 'P3'}, {'order': ['P3', 'P4', 'P1'], 'starts': {'P3': 0, 'P4': 47, 'P1': 70}, 'selected': 'P3', 'done_s': 111}), ('sampled regression 74', {'cars': [{'id': 'P3', 'floor': 4, 'load': 0, 'oos': True}, {'id': 'P4', 'floor': 3, 'load': 75, 'oos': False}, {'id': 'P2', 'floor': 17, 'load': 0, 'oos': True}, {'id': 'P1', 'floor': 3, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 8, 'preselect': None}, {'order': ['P4', 'P1'], 'starts': {'P4': 0, 'P1': 14}, 'selected': 'P4', 'done_s': 28}), ('boundary: 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})]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
regression: occupied car first{'done_s': 32, 'order': ['P1', 'P2'], 'selected': 'P1', 'starts': {'P1': 0, 'P2': 9}}{'done_s': 32, 'order': ['P2', 'P1'], 'selected': 'P2', 'starts': {'P1': 23, 'P2': 0}}Failed
sampled regression 6{'done_s': 59, 'order': ['P1', 'P3', 'P2', 'P4'], 'selected': 'P3', 'starts': {'P1': 0, 'P2': 16, 'P3': 5, 'P4': 33}}{'done_s': 59, 'order': ['P1', 'P3', 'P2', 'P4'], 'selected': 'P3', 'starts': {'P1': 0, 'P2': 16, 'P3': 5, 'P4': 33}}Passed
sampled regression 2{'done_s': 55, 'order': ['P1', 'P2', 'P3'], 'selected': 'P2', 'starts': {'P1': 0, 'P2': 5, 'P3': 16}}{'done_s': 55, 'order': ['P2', 'P3', 'P1'], 'selected': 'P2', 'starts': {'P1': 50, 'P2': 0, 'P3': 11}}Failed
boundary: out of service car preselected{'done_s': 11, 'order': ['P2'], 'selected': 'P2', 'starts': {'P2': 0}}{'done_s': 11, 'order': ['P2'], 'selected': 'P2', 'starts': {'P2': 0}}Passed
boundary: lobby car still takes door time{'done_s': 18, 'order': ['P1', 'P2'], 'selected': 'P1', 'starts': {'P1': 0, 'P2': 5}}{'done_s': 18, 'order': ['P1', 'P2'], 'selected': 'P1', 'starts': {'P1': 0, 'P2': 5}}Passed
control 1{'done_s': 50, 'order': ['P4', 'P1'], 'selected': 'P1', 'starts': {'P1': 16, 'P4': 0}}{'done_s': 50, 'order': ['P4', 'P1'], 'selected': 'P1', 'starts': {'P1': 16, 'P4': 0}}Passed
sampled regression 4{'done_s': 43, 'order': ['P2', 'P4'], 'selected': 'P2', 'starts': {'P2': 0, 'P4': 20}}{'done_s': 43, 'order': ['P2', 'P4'], 'selected': 'P2', 'starts': {'P2': 0, 'P4': 20}}Passed
control 7{'done_s': 43, 'order': ['P4'], 'selected': 'P4', 'starts': {'P4': 0}}{'done_s': 43, 'order': ['P4'], 'selected': 'P4', 'starts': {'P4': 0}}Passed

SHA-256 / 5727a64cd323be0cd451dcf2d38d830485126b9e38deedcdfa107394e71b0b97

3 / The verified repair

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

N = 1
observations = []
def solve(x):
    cars = [c for c in x['cars'] if not c['oos']]
    order = sorted(cars, key=lambda c: (c['load'] == 0, c['floor'], c['id']))
    t = 0
    starts = {}
    for c in order:
        starts[c['id']] = t
        t += c['floor'] * x['per_floor_s'] + x['door_s']
    pre = x['preselect']
    sel = pre if pre in starts else (order[0]['id'] if order else None)
    return {'order': [c['id'] for c in order], 'starts': starts, 'selected': sel, 'done_s': t}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('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 6', {'cars': [{'id': 'P1', 'floor': 0, 'load': 300, 'oos': False}, {'id': 'P3', 'floor': 2, 'load': 0, 'oos': False}, {'id': 'P4', 'floor': 7, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 4, 'load': 0, 'oos': False}], 'per_floor_s': 3, 'door_s': 5, 'preselect': 'P3'}, {'order': ['P1', 'P3', 'P2', 'P4'], 'starts': {'P1': 0, 'P3': 5, 'P2': 16, 'P4': 33}, 'selected': 'P3', 'done_s': 59}), ('sampled regression 2', {'cars': [{'id': 'P3', 'floor': 17, 'load': 75, 'oos': False}, {'id': 'P1', 'floor': 0, 'load': 0, 'oos': False}, {'id': 'P2', 'floor': 3, 'load': 75, 'oos': False}], 'per_floor_s': 2, 'door_s': 5, 'preselect': 'P2'}, {'order': ['P2', 'P3', 'P1'], 'starts': {'P2': 0, 'P3': 11, 'P1': 50}, 'selected': 'P2', 'done_s': 55}), ('boundary: 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}), ('boundary: 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 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}), ('control 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 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 28', {'cars': [{'id': 'P3', 'floor': 3, 'load': 0, 'oos': False}, {'id': 'P4', 'floor': 8, 'load': 0, 'oos': False}, {'id': 'P1', 'floor': 15, 'load': 300, 'oos': False}], 'per_floor_s': 3, 'door_s': 5, 'preselect': 'P3'}, {'order': ['P1', 'P3', 'P4'], 'starts': {'P1': 0, 'P3': 50, 'P4': 64}, 'selected': 'P3', 'done_s': 93}), ('boundary: 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: 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}), ('control 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: 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 42', {'cars': [{'id': 'P4', 'floor': 11, 'load': 0, 'oos': False}, {'id': 'P3', 'floor': 11, 'load': 300, 'oos': False}, {'id': 'P2', 'floor': 15, 'load': 0, 'oos': True}, {'id': 'P1', 'floor': 0, 'load': 0, 'oos': False}], 'per_floor_s': 3, 'door_s': 8, 'preselect': 'P2'}, {'order': ['P3', 'P1', 'P4'], 'starts': {'P3': 0, 'P1': 41, 'P4': 49}, 'selected': 'P3', 'done_s': 90}), ('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}), ('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}), ('boundary: 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}), ('control 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: 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 53', {'cars': [{'id': 'P1', 'floor': 14, 'load': 0, 'oos': False}, {'id': 'P3', 'floor': 16, 'load': 75, 'oos': False}], 'per_floor_s': 2, 'door_s': 8, 'preselect': None}, {'order': ['P3', 'P1'], 'starts': {'P3': 0, 'P1': 40}, 'selected': 'P3', 'done_s': 76}), ('sampled regression 59', {'cars': [{'id': 'P3', 'floor': 5, 'load': 0, 'oos': True}, {'id': 'P2', 'floor': 2, 'load': 0, 'oos': False}, {'id': 'P1', 'floor': 13, 'load': 0, 'oos': False}, {'id': 'P4', 'floor': 15, 'load': 75, 'oos': False}], 'per_floor_s': 3, 'door_s': 8, 'preselect': None}, {'order': ['P4', 'P2', 'P1'], 'starts': {'P4': 0, 'P2': 53, 'P1': 67}, 'selected': 'P4', 'done_s': 114}), ('boundary: 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: 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 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 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: 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 64', {'cars': [{'id': 'P2', 'floor': 8, 'load': 75, 'oos': True}, {'id': 'P4', 'floor': 6, 'load': 0, 'oos': False}, {'id': 'P1', 'floor': 12, 'load': 0, 'oos': False}, {'id': 'P3', 'floor': 14, 'load': 75, 'oos': False}], 'per_floor_s': 3, 'door_s': 5, 'preselect': 'P3'}, {'order': ['P3', 'P4', 'P1'], 'starts': {'P3': 0, 'P4': 47, 'P1': 70}, 'selected': 'P3', 'done_s': 111}), ('sampled regression 74', {'cars': [{'id': 'P3', 'floor': 4, 'load': 0, 'oos': True}, {'id': 'P4', 'floor': 3, 'load': 75, 'oos': False}, {'id': 'P2', 'floor': 17, 'load': 0, 'oos': True}, {'id': 'P1', 'floor': 3, 'load': 0, 'oos': False}], 'per_floor_s': 2, 'door_s': 8, 'preselect': None}, {'order': ['P4', 'P1'], 'starts': {'P4': 0, 'P1': 14}, 'selected': 'P4', 'done_s': 28}), ('boundary: 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})]]
for label, args, expected in fixtures[N-1]:
    check(label, solve(args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
regression: occupied car first{'done_s': 32, 'order': ['P2', 'P1'], 'selected': 'P2', 'starts': {'P1': 23, 'P2': 0}}{'done_s': 32, 'order': ['P2', 'P1'], 'selected': 'P2', 'starts': {'P1': 23, 'P2': 0}}Passed
sampled regression 6{'done_s': 59, 'order': ['P1', 'P3', 'P2', 'P4'], 'selected': 'P3', 'starts': {'P1': 0, 'P2': 16, 'P3': 5, 'P4': 33}}{'done_s': 59, 'order': ['P1', 'P3', 'P2', 'P4'], 'selected': 'P3', 'starts': {'P1': 0, 'P2': 16, 'P3': 5, 'P4': 33}}Passed
sampled regression 2{'done_s': 55, 'order': ['P2', 'P3', 'P1'], 'selected': 'P2', 'starts': {'P1': 50, 'P2': 0, 'P3': 11}}{'done_s': 55, 'order': ['P2', 'P3', 'P1'], 'selected': 'P2', 'starts': {'P1': 50, 'P2': 0, 'P3': 11}}Passed
boundary: out of service car preselected{'done_s': 11, 'order': ['P2'], 'selected': 'P2', 'starts': {'P2': 0}}{'done_s': 11, 'order': ['P2'], 'selected': 'P2', 'starts': {'P2': 0}}Passed
boundary: lobby car still takes door time{'done_s': 18, 'order': ['P1', 'P2'], 'selected': 'P1', 'starts': {'P1': 0, 'P2': 5}}{'done_s': 18, 'order': ['P1', 'P2'], 'selected': 'P1', 'starts': {'P1': 0, 'P2': 5}}Passed
control 1{'done_s': 50, 'order': ['P4', 'P1'], 'selected': 'P1', 'starts': {'P1': 16, 'P4': 0}}{'done_s': 50, 'order': ['P4', 'P1'], 'selected': 'P1', 'starts': {'P1': 16, 'P4': 0}}Passed
sampled regression 4{'done_s': 43, 'order': ['P2', 'P4'], 'selected': 'P2', 'starts': {'P2': 0, 'P4': 20}}{'done_s': 43, 'order': ['P2', 'P4'], 'selected': 'P2', 'starts': {'P2': 0, 'P4': 20}}Passed
control 7{'done_s': 43, 'order': ['P4'], 'selected': 'P4', 'starts': {'P4': 0}}{'done_s': 43, 'order': ['P4'], 'selected': 'P4', 'starts': {'P4': 0}}Passed

SHA-256 / 91df096e05f8573051f14639a52ebb1fb8f9bae3572b19331feaaad5ee8ef4c3

Verification & scope

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.

Observations recorded using Python 3.12.14 at 2026-09-29T14:47:55.213291+00:00.

Case digest / 004032c618d5dc01f39a11f5c097abc52f75478239fa2671a78ce43760618478