FA-67351 / Elevator dispatch scheduling / Open access
Directional collective next stop: idle tie-break · case 01
An idle car picks the wrong call when two are equally near, or ignores distance.
ROOT CAUSE
Equidistant calls are resolved towards the upper floor.
VERIFIED REPAIR
Choose the nearest call and break ties towards the lower floor.
Unsuccessful approach: Sorting by floor alone sends the car to the lowest call regardless of distance.
Case contract
A car stopped at floor with direction up, down or idle chooses its next stop. Travelling up it stops at the nearest car call or up hall call above; failing that it runs to the highest down hall call above; failing that it reverses and applies the mirrored rule downwards (nearest car call or down call below, else lowest up call below). An idle car heads towards the nearest call other than its own floor (ties to the lower floor). Returns [floor, travel direction] or [None, idle].
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):
f = x['floor']
cc = set(x['car_calls'])
up = set(x['hall_up'])
dn = set(x['hall_down'])
def ahead(sd):
if sd == 'up':
same = [c for c in cc | up if c > f]
if same:
return [min(same), 'up']
opp = [c for c in dn if c > f]
if opp:
return [max(opp), 'up']
else:
same = [c for c in cc | dn if c < f]
if same:
return [max(same), 'down']
opp = [c for c in up if c < f]
if opp:
return [min(opp), 'down']
return None
d = x['dir']
if d == 'idle':
allc = [c for c in sorted(cc | up | dn, key=lambda c: (abs(c - f), -c)) if c != f]
if not allc:
return [None, 'idle']
d = 'up' if allc[0] > f else 'down'
r = ahead(d)
if r is None:
r = ahead('down' if d == 'up' else 'up')
return r if r is not None else [None, 'idle']
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: idle car equidistant calls', {'floor': 5, 'dir': 'idle', 'car_calls': [3, 7], 'hall_up': [], 'hall_down': []}, [3, 'down']), ('boundary: idle car nearest call above', {'floor': 5, 'dir': 'idle', 'car_calls': [], 'hall_up': [6], 'hall_down': [1]}, [6, 'up']), ('sampled regression 27', {'floor': 5, 'dir': 'idle', 'car_calls': [], 'hall_up': [3, 6, 9], 'hall_down': [4, 7, 6]}, [4, 'down']), ('control 3', {'floor': 4, 'dir': 'idle', 'car_calls': [0, 11], 'hall_up': [1, 5], 'hall_down': [2, 8, 4]}, [5, 'up']), ('boundary: down call passed on the way up', {'floor': 3, 'dir': 'up', 'car_calls': [8], 'hall_up': [], 'hall_down': [5]}, [8, 'up']), ('control 1', {'floor': 1, 'dir': 'down', 'car_calls': [7, 4, 8], 'hall_up': [], 'hall_down': [10, 5, 3]}, [4, 'up']), ('control 4', {'floor': 4, 'dir': 'down', 'car_calls': [10], 'hall_up': [6, 0], 'hall_down': [10]}, [0, 'down']), ('control 7', {'floor': 3, 'dir': 'down', 'car_calls': [7, 3], 'hall_up': [10], 'hall_down': [2, 4, 7]}, [2, 'down'])], [('regression: idle car equidistant calls', {'floor': 5, 'dir': 'idle', 'car_calls': [3, 7], 'hall_up': [], 'hall_down': []}, [3, 'down']), ('boundary: idle car nearest call above', {'floor': 5, 'dir': 'idle', 'car_calls': [], 'hall_up': [6], 'hall_down': [1]}, [6, 'up']), ('sampled regression 27', {'floor': 5, 'dir': 'idle', 'car_calls': [], 'hall_up': [3, 6, 9], 'hall_down': [4, 7, 6]}, [4, 'down']), ('control 37', {'floor': 5, 'dir': 'idle', 'car_calls': [], 'hall_up': [0, 1], 'hall_down': [1, 7]}, [7, 'up']), ('boundary: highest down call is the reversal', {'floor': 1, 'dir': 'up', 'car_calls': [], 'hall_up': [], 'hall_down': [4, 9]}, [9, 'up']), ('control 12', {'floor': 5, 'dir': 'idle', 'car_calls': [6, 9], 'hall_up': [6, 10], 'hall_down': [6, 2, 7]}, [6, 'up']), ('control 15', {'floor': 3, 'dir': 'down', 'car_calls': [], 'hall_up': [2, 4, 10], 'hall_down': [6, 5, 8]}, [2, 'down']), ('control 18', {'floor': 1, 'dir': 'idle', 'car_calls': [1], 'hall_up': [10, 1, 2], 'hall_down': [5]}, [2, 'up'])], [('regression: idle car equidistant calls', {'floor': 5, 'dir': 'idle', 'car_calls': [3, 7], 'hall_up': [], 'hall_down': []}, [3, 'down']), ('boundary: idle car nearest call above', {'floor': 5, 'dir': 'idle', 'car_calls': [], 'hall_up': [6], 'hall_down': [1]}, [6, 'up']), ('sampled regression 27', {'floor': 5, 'dir': 'idle', 'car_calls': [], 'hall_up': [3, 6, 9], 'hall_down': [4, 7, 6]}, [4, 'down']), ('control 9', {'floor': 3, 'dir': 'idle', 'car_calls': [0], 'hall_up': [9, 10, 4], 'hall_down': [7, 5, 3]}, [4, 'up']), ('boundary: down car with nothing below', {'floor': 6, 'dir': 'down', 'car_calls': [], 'hall_up': [9], 'hall_down': []}, [9, 'up']), ('control 23', {'floor': 1, 'dir': 'idle', 'car_calls': [], 'hall_up': [5], 'hall_down': []}, [5, 'up']), ('sampled regression 26', {'floor': 7, 'dir': 'idle', 'car_calls': [9], 'hall_up': [3], 'hall_down': [10, 5, 9]}, [5, 'down']), ('control 29', {'floor': 4, 'dir': 'down', 'car_calls': [2], 'hall_up': [5], 'hall_down': []}, [2, 'down'])], [('regression: idle car equidistant calls', {'floor': 5, 'dir': 'idle', 'car_calls': [3, 7], 'hall_up': [], 'hall_down': []}, [3, 'down']), ('boundary: idle car nearest call above', {'floor': 5, 'dir': 'idle', 'car_calls': [], 'hall_up': [6], 'hall_down': [1]}, [6, 'up']), ('sampled regression 27', {'floor': 5, 'dir': 'idle', 'car_calls': [], 'hall_up': [3, 6, 9], 'hall_down': [4, 7, 6]}, [4, 'down']), ('control 66', {'floor': 5, 'dir': 'idle', 'car_calls': [7, 2], 'hall_up': [8, 10, 1], 'hall_down': [7, 11]}, [7, 'up']), ('boundary: up car with nothing above', {'floor': 6, 'dir': 'up', 'car_calls': [2], 'hall_up': [1], 'hall_down': []}, [2, 'down']), ('control 34', {'floor': 11, 'dir': 'down', 'car_calls': [10], 'hall_up': [4, 5], 'hall_down': []}, [10, 'down']), ('control 37', {'floor': 5, 'dir': 'idle', 'car_calls': [], 'hall_up': [0, 1], 'hall_down': [1, 7]}, [7, 'up']), ('control 40', {'floor': 9, 'dir': 'up', 'car_calls': [1, 9], 'hall_up': [8, 10, 5], 'hall_down': []}, [10, 'up'])], [('regression: idle car equidistant calls', {'floor': 5, 'dir': 'idle', 'car_calls': [3, 7], 'hall_up': [], 'hall_down': []}, [3, 'down']), ('boundary: idle car nearest call above', {'floor': 5, 'dir': 'idle', 'car_calls': [], 'hall_up': [6], 'hall_down': [1]}, [6, 'up']), ('sampled regression 27', {'floor': 5, 'dir': 'idle', 'car_calls': [], 'hall_up': [3, 6, 9], 'hall_down': [4, 7, 6]}, [4, 'down']), ('control 12', {'floor': 5, 'dir': 'idle', 'car_calls': [6, 9], 'hall_up': [6, 10], 'hall_down': [6, 2, 7]}, [6, 'up']), ('boundary: down call passed on the way up', {'floor': 3, 'dir': 'up', 'car_calls': [8], 'hall_up': [], 'hall_down': [5]}, [8, 'up']), ('control 45', {'floor': 9, 'dir': 'idle', 'car_calls': [9, 0], 'hall_up': [7], 'hall_down': [2, 6, 1]}, [6, 'down']), ('control 48', {'floor': 4, 'dir': 'down', 'car_calls': [9], 'hall_up': [4, 2, 1], 'hall_down': []}, [1, 'down']), ('control 51', {'floor': 6, 'dir': 'idle', 'car_calls': [6], 'hall_up': [9], 'hall_down': []}, [9, 'up'])]]
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: idle car equidistant calls | [7, 'up'] | [3, 'down'] | Failed |
| boundary: idle car nearest call above | [6, 'up'] | [6, 'up'] | Passed |
| sampled regression 27 | [6, 'up'] | [4, 'down'] | Failed |
| control 3 | [5, 'up'] | [5, 'up'] | Passed |
| boundary: down call passed on the way up | [8, 'up'] | [8, 'up'] | Passed |
| control 1 | [4, 'up'] | [4, 'up'] | Passed |
| control 4 | [0, 'down'] | [0, 'down'] | Passed |
| control 7 | [2, 'down'] | [2, 'down'] | Passed |
SHA-256 / 929afad1402ac786ccfda4bcec9e7d7bda588bb23b4f8e3c16e1e99edc4ceb50
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
f = x['floor']
cc = set(x['car_calls'])
up = set(x['hall_up'])
dn = set(x['hall_down'])
def ahead(sd):
if sd == 'up':
same = [c for c in cc | up if c > f]
if same:
return [min(same), 'up']
opp = [c for c in dn if c > f]
if opp:
return [max(opp), 'up']
else:
same = [c for c in cc | dn if c < f]
if same:
return [max(same), 'down']
opp = [c for c in up if c < f]
if opp:
return [min(opp), 'down']
return None
d = x['dir']
if d == 'idle':
allc = [c for c in sorted(cc | up | dn, key=lambda c: c) if c != f]
if not allc:
return [None, 'idle']
d = 'up' if allc[0] > f else 'down'
r = ahead(d)
if r is None:
r = ahead('down' if d == 'up' else 'up')
return r if r is not None else [None, 'idle']
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: idle car equidistant calls', {'floor': 5, 'dir': 'idle', 'car_calls': [3, 7], 'hall_up': [], 'hall_down': []}, [3, 'down']), ('boundary: idle car nearest call above', {'floor': 5, 'dir': 'idle', 'car_calls': [], 'hall_up': [6], 'hall_down': [1]}, [6, 'up']), ('sampled regression 27', {'floor': 5, 'dir': 'idle', 'car_calls': [], 'hall_up': [3, 6, 9], 'hall_down': [4, 7, 6]}, [4, 'down']), ('control 3', {'floor': 4, 'dir': 'idle', 'car_calls': [0, 11], 'hall_up': [1, 5], 'hall_down': [2, 8, 4]}, [5, 'up']), ('boundary: down call passed on the way up', {'floor': 3, 'dir': 'up', 'car_calls': [8], 'hall_up': [], 'hall_down': [5]}, [8, 'up']), ('control 1', {'floor': 1, 'dir': 'down', 'car_calls': [7, 4, 8], 'hall_up': [], 'hall_down': [10, 5, 3]}, [4, 'up']), ('control 4', {'floor': 4, 'dir': 'down', 'car_calls': [10], 'hall_up': [6, 0], 'hall_down': [10]}, [0, 'down']), ('control 7', {'floor': 3, 'dir': 'down', 'car_calls': [7, 3], 'hall_up': [10], 'hall_down': [2, 4, 7]}, [2, 'down'])], [('regression: idle car equidistant calls', {'floor': 5, 'dir': 'idle', 'car_calls': [3, 7], 'hall_up': [], 'hall_down': []}, [3, 'down']), ('boundary: idle car nearest call above', {'floor': 5, 'dir': 'idle', 'car_calls': [], 'hall_up': [6], 'hall_down': [1]}, [6, 'up']), ('sampled regression 27', {'floor': 5, 'dir': 'idle', 'car_calls': [], 'hall_up': [3, 6, 9], 'hall_down': [4, 7, 6]}, [4, 'down']), ('control 37', {'floor': 5, 'dir': 'idle', 'car_calls': [], 'hall_up': [0, 1], 'hall_down': [1, 7]}, [7, 'up']), ('boundary: highest down call is the reversal', {'floor': 1, 'dir': 'up', 'car_calls': [], 'hall_up': [], 'hall_down': [4, 9]}, [9, 'up']), ('control 12', {'floor': 5, 'dir': 'idle', 'car_calls': [6, 9], 'hall_up': [6, 10], 'hall_down': [6, 2, 7]}, [6, 'up']), ('control 15', {'floor': 3, 'dir': 'down', 'car_calls': [], 'hall_up': [2, 4, 10], 'hall_down': [6, 5, 8]}, [2, 'down']), ('control 18', {'floor': 1, 'dir': 'idle', 'car_calls': [1], 'hall_up': [10, 1, 2], 'hall_down': [5]}, [2, 'up'])], [('regression: idle car equidistant calls', {'floor': 5, 'dir': 'idle', 'car_calls': [3, 7], 'hall_up': [], 'hall_down': []}, [3, 'down']), ('boundary: idle car nearest call above', {'floor': 5, 'dir': 'idle', 'car_calls': [], 'hall_up': [6], 'hall_down': [1]}, [6, 'up']), ('sampled regression 27', {'floor': 5, 'dir': 'idle', 'car_calls': [], 'hall_up': [3, 6, 9], 'hall_down': [4, 7, 6]}, [4, 'down']), ('control 9', {'floor': 3, 'dir': 'idle', 'car_calls': [0], 'hall_up': [9, 10, 4], 'hall_down': [7, 5, 3]}, [4, 'up']), ('boundary: down car with nothing below', {'floor': 6, 'dir': 'down', 'car_calls': [], 'hall_up': [9], 'hall_down': []}, [9, 'up']), ('control 23', {'floor': 1, 'dir': 'idle', 'car_calls': [], 'hall_up': [5], 'hall_down': []}, [5, 'up']), ('sampled regression 26', {'floor': 7, 'dir': 'idle', 'car_calls': [9], 'hall_up': [3], 'hall_down': [10, 5, 9]}, [5, 'down']), ('control 29', {'floor': 4, 'dir': 'down', 'car_calls': [2], 'hall_up': [5], 'hall_down': []}, [2, 'down'])], [('regression: idle car equidistant calls', {'floor': 5, 'dir': 'idle', 'car_calls': [3, 7], 'hall_up': [], 'hall_down': []}, [3, 'down']), ('boundary: idle car nearest call above', {'floor': 5, 'dir': 'idle', 'car_calls': [], 'hall_up': [6], 'hall_down': [1]}, [6, 'up']), ('sampled regression 27', {'floor': 5, 'dir': 'idle', 'car_calls': [], 'hall_up': [3, 6, 9], 'hall_down': [4, 7, 6]}, [4, 'down']), ('control 66', {'floor': 5, 'dir': 'idle', 'car_calls': [7, 2], 'hall_up': [8, 10, 1], 'hall_down': [7, 11]}, [7, 'up']), ('boundary: up car with nothing above', {'floor': 6, 'dir': 'up', 'car_calls': [2], 'hall_up': [1], 'hall_down': []}, [2, 'down']), ('control 34', {'floor': 11, 'dir': 'down', 'car_calls': [10], 'hall_up': [4, 5], 'hall_down': []}, [10, 'down']), ('control 37', {'floor': 5, 'dir': 'idle', 'car_calls': [], 'hall_up': [0, 1], 'hall_down': [1, 7]}, [7, 'up']), ('control 40', {'floor': 9, 'dir': 'up', 'car_calls': [1, 9], 'hall_up': [8, 10, 5], 'hall_down': []}, [10, 'up'])], [('regression: idle car equidistant calls', {'floor': 5, 'dir': 'idle', 'car_calls': [3, 7], 'hall_up': [], 'hall_down': []}, [3, 'down']), ('boundary: idle car nearest call above', {'floor': 5, 'dir': 'idle', 'car_calls': [], 'hall_up': [6], 'hall_down': [1]}, [6, 'up']), ('sampled regression 27', {'floor': 5, 'dir': 'idle', 'car_calls': [], 'hall_up': [3, 6, 9], 'hall_down': [4, 7, 6]}, [4, 'down']), ('control 12', {'floor': 5, 'dir': 'idle', 'car_calls': [6, 9], 'hall_up': [6, 10], 'hall_down': [6, 2, 7]}, [6, 'up']), ('boundary: down call passed on the way up', {'floor': 3, 'dir': 'up', 'car_calls': [8], 'hall_up': [], 'hall_down': [5]}, [8, 'up']), ('control 45', {'floor': 9, 'dir': 'idle', 'car_calls': [9, 0], 'hall_up': [7], 'hall_down': [2, 6, 1]}, [6, 'down']), ('control 48', {'floor': 4, 'dir': 'down', 'car_calls': [9], 'hall_up': [4, 2, 1], 'hall_down': []}, [1, 'down']), ('control 51', {'floor': 6, 'dir': 'idle', 'car_calls': [6], 'hall_up': [9], 'hall_down': []}, [9, 'up'])]]
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: idle car equidistant calls | [3, 'down'] | [3, 'down'] | Passed |
| boundary: idle car nearest call above | [1, 'down'] | [6, 'up'] | Failed |
| sampled regression 27 | [4, 'down'] | [4, 'down'] | Passed |
| control 3 | [2, 'down'] | [5, 'up'] | Failed |
| boundary: down call passed on the way up | [8, 'up'] | [8, 'up'] | Passed |
| control 1 | [4, 'up'] | [4, 'up'] | Passed |
| control 4 | [0, 'down'] | [0, 'down'] | Passed |
| control 7 | [2, 'down'] | [2, 'down'] | Passed |
SHA-256 / e1b20f9db1f030786f0ea0ea9c59abfc7f5befbb26def7bcb2d3d3f690dcb397
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
f = x['floor']
cc = set(x['car_calls'])
up = set(x['hall_up'])
dn = set(x['hall_down'])
def ahead(sd):
if sd == 'up':
same = [c for c in cc | up if c > f]
if same:
return [min(same), 'up']
opp = [c for c in dn if c > f]
if opp:
return [max(opp), 'up']
else:
same = [c for c in cc | dn if c < f]
if same:
return [max(same), 'down']
opp = [c for c in up if c < f]
if opp:
return [min(opp), 'down']
return None
d = x['dir']
if d == 'idle':
allc = [c for c in sorted(cc | up | dn, key=lambda c: (abs(c - f), c)) if c != f]
if not allc:
return [None, 'idle']
d = 'up' if allc[0] > f else 'down'
r = ahead(d)
if r is None:
r = ahead('down' if d == 'up' else 'up')
return r if r is not None else [None, 'idle']
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: idle car equidistant calls', {'floor': 5, 'dir': 'idle', 'car_calls': [3, 7], 'hall_up': [], 'hall_down': []}, [3, 'down']), ('boundary: idle car nearest call above', {'floor': 5, 'dir': 'idle', 'car_calls': [], 'hall_up': [6], 'hall_down': [1]}, [6, 'up']), ('sampled regression 27', {'floor': 5, 'dir': 'idle', 'car_calls': [], 'hall_up': [3, 6, 9], 'hall_down': [4, 7, 6]}, [4, 'down']), ('control 3', {'floor': 4, 'dir': 'idle', 'car_calls': [0, 11], 'hall_up': [1, 5], 'hall_down': [2, 8, 4]}, [5, 'up']), ('boundary: down call passed on the way up', {'floor': 3, 'dir': 'up', 'car_calls': [8], 'hall_up': [], 'hall_down': [5]}, [8, 'up']), ('control 1', {'floor': 1, 'dir': 'down', 'car_calls': [7, 4, 8], 'hall_up': [], 'hall_down': [10, 5, 3]}, [4, 'up']), ('control 4', {'floor': 4, 'dir': 'down', 'car_calls': [10], 'hall_up': [6, 0], 'hall_down': [10]}, [0, 'down']), ('control 7', {'floor': 3, 'dir': 'down', 'car_calls': [7, 3], 'hall_up': [10], 'hall_down': [2, 4, 7]}, [2, 'down'])], [('regression: idle car equidistant calls', {'floor': 5, 'dir': 'idle', 'car_calls': [3, 7], 'hall_up': [], 'hall_down': []}, [3, 'down']), ('boundary: idle car nearest call above', {'floor': 5, 'dir': 'idle', 'car_calls': [], 'hall_up': [6], 'hall_down': [1]}, [6, 'up']), ('sampled regression 27', {'floor': 5, 'dir': 'idle', 'car_calls': [], 'hall_up': [3, 6, 9], 'hall_down': [4, 7, 6]}, [4, 'down']), ('control 37', {'floor': 5, 'dir': 'idle', 'car_calls': [], 'hall_up': [0, 1], 'hall_down': [1, 7]}, [7, 'up']), ('boundary: highest down call is the reversal', {'floor': 1, 'dir': 'up', 'car_calls': [], 'hall_up': [], 'hall_down': [4, 9]}, [9, 'up']), ('control 12', {'floor': 5, 'dir': 'idle', 'car_calls': [6, 9], 'hall_up': [6, 10], 'hall_down': [6, 2, 7]}, [6, 'up']), ('control 15', {'floor': 3, 'dir': 'down', 'car_calls': [], 'hall_up': [2, 4, 10], 'hall_down': [6, 5, 8]}, [2, 'down']), ('control 18', {'floor': 1, 'dir': 'idle', 'car_calls': [1], 'hall_up': [10, 1, 2], 'hall_down': [5]}, [2, 'up'])], [('regression: idle car equidistant calls', {'floor': 5, 'dir': 'idle', 'car_calls': [3, 7], 'hall_up': [], 'hall_down': []}, [3, 'down']), ('boundary: idle car nearest call above', {'floor': 5, 'dir': 'idle', 'car_calls': [], 'hall_up': [6], 'hall_down': [1]}, [6, 'up']), ('sampled regression 27', {'floor': 5, 'dir': 'idle', 'car_calls': [], 'hall_up': [3, 6, 9], 'hall_down': [4, 7, 6]}, [4, 'down']), ('control 9', {'floor': 3, 'dir': 'idle', 'car_calls': [0], 'hall_up': [9, 10, 4], 'hall_down': [7, 5, 3]}, [4, 'up']), ('boundary: down car with nothing below', {'floor': 6, 'dir': 'down', 'car_calls': [], 'hall_up': [9], 'hall_down': []}, [9, 'up']), ('control 23', {'floor': 1, 'dir': 'idle', 'car_calls': [], 'hall_up': [5], 'hall_down': []}, [5, 'up']), ('sampled regression 26', {'floor': 7, 'dir': 'idle', 'car_calls': [9], 'hall_up': [3], 'hall_down': [10, 5, 9]}, [5, 'down']), ('control 29', {'floor': 4, 'dir': 'down', 'car_calls': [2], 'hall_up': [5], 'hall_down': []}, [2, 'down'])], [('regression: idle car equidistant calls', {'floor': 5, 'dir': 'idle', 'car_calls': [3, 7], 'hall_up': [], 'hall_down': []}, [3, 'down']), ('boundary: idle car nearest call above', {'floor': 5, 'dir': 'idle', 'car_calls': [], 'hall_up': [6], 'hall_down': [1]}, [6, 'up']), ('sampled regression 27', {'floor': 5, 'dir': 'idle', 'car_calls': [], 'hall_up': [3, 6, 9], 'hall_down': [4, 7, 6]}, [4, 'down']), ('control 66', {'floor': 5, 'dir': 'idle', 'car_calls': [7, 2], 'hall_up': [8, 10, 1], 'hall_down': [7, 11]}, [7, 'up']), ('boundary: up car with nothing above', {'floor': 6, 'dir': 'up', 'car_calls': [2], 'hall_up': [1], 'hall_down': []}, [2, 'down']), ('control 34', {'floor': 11, 'dir': 'down', 'car_calls': [10], 'hall_up': [4, 5], 'hall_down': []}, [10, 'down']), ('control 37', {'floor': 5, 'dir': 'idle', 'car_calls': [], 'hall_up': [0, 1], 'hall_down': [1, 7]}, [7, 'up']), ('control 40', {'floor': 9, 'dir': 'up', 'car_calls': [1, 9], 'hall_up': [8, 10, 5], 'hall_down': []}, [10, 'up'])], [('regression: idle car equidistant calls', {'floor': 5, 'dir': 'idle', 'car_calls': [3, 7], 'hall_up': [], 'hall_down': []}, [3, 'down']), ('boundary: idle car nearest call above', {'floor': 5, 'dir': 'idle', 'car_calls': [], 'hall_up': [6], 'hall_down': [1]}, [6, 'up']), ('sampled regression 27', {'floor': 5, 'dir': 'idle', 'car_calls': [], 'hall_up': [3, 6, 9], 'hall_down': [4, 7, 6]}, [4, 'down']), ('control 12', {'floor': 5, 'dir': 'idle', 'car_calls': [6, 9], 'hall_up': [6, 10], 'hall_down': [6, 2, 7]}, [6, 'up']), ('boundary: down call passed on the way up', {'floor': 3, 'dir': 'up', 'car_calls': [8], 'hall_up': [], 'hall_down': [5]}, [8, 'up']), ('control 45', {'floor': 9, 'dir': 'idle', 'car_calls': [9, 0], 'hall_up': [7], 'hall_down': [2, 6, 1]}, [6, 'down']), ('control 48', {'floor': 4, 'dir': 'down', 'car_calls': [9], 'hall_up': [4, 2, 1], 'hall_down': []}, [1, 'down']), ('control 51', {'floor': 6, 'dir': 'idle', 'car_calls': [6], 'hall_up': [9], 'hall_down': []}, [9, 'up'])]]
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: idle car equidistant calls | [3, 'down'] | [3, 'down'] | Passed |
| boundary: idle car nearest call above | [6, 'up'] | [6, 'up'] | Passed |
| sampled regression 27 | [4, 'down'] | [4, 'down'] | Passed |
| control 3 | [5, 'up'] | [5, 'up'] | Passed |
| boundary: down call passed on the way up | [8, 'up'] | [8, 'up'] | Passed |
| control 1 | [4, 'up'] | [4, 'up'] | Passed |
| control 4 | [0, 'down'] | [0, 'down'] | Passed |
| control 7 | [2, 'down'] | [2, 'down'] | Passed |
SHA-256 / 39ac1eea224a8d3dbf26ac650c9924bd297361bae08fbee164a0ac9608dee959
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:52.031874+00:00.
Case digest / a65f2f8ced7c62986e8cbf528326bd4f8baf1bac318d7fe7d639006a12d27533