FAILURE MAP
← Case archive

FA-67491 / Elevator dispatch scheduling / Open access

Idle car parking by zone: nearest car tie-break · case 01

Equally near cars are chosen by listing order, or a far car is chosen.

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

ROOT CAUSE

The tie falls to dictionary insertion order.

VERIFIED REPAIR

Pick the nearest car, ties to the lowest id.

Unsuccessful approach: Picking the lowest-positioned car ignores distance to the target.

Case contract

The building is split into zones of ceil(floors/zones) floors; each zone base floor is a parking target. Up-peak adds an extra lobby target first (lobby gets two cars); down-peak orders the bases from the top down; otherwise bases ascend. Each target in order takes the nearest free car (ties to the lowest car id); leftover targets stay empty.

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):
    n = x['floors']
    k = x['zones']
    size = -(-n // k)
    bases = [z * size for z in range(k) if z * size < n]
    if x['period'] == 'up-peak':
        targets = [0] + bases
    elif x['period'] == 'down-peak':
        targets = sorted(bases, reverse=True)
    else:
        targets = bases
    free = dict(x['cars'])
    plan = {}
    for t in targets:
        if not free:
            break
        cid = min(free, key=lambda c: abs(free[c] - t))
        plan[cid] = t
        del free[cid]
    return plan
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: equidistant cars listed out of order', {'floors': 10, 'zones': 1, 'period': 'off-peak', 'cars': [['C3', 2], ['C1', 2]]}, {'C1': 0}), ('boundary: down-peak top first', {'floors': 20, 'zones': 4, 'period': 'down-peak', 'cars': [['C1', 16], ['C2', 13], ['C3', 2]]}, {'C1': 15, 'C2': 10, 'C3': 5}), ('sampled regression 11', {'floors': 10, 'zones': 1, 'period': 'up-peak', 'cars': [['C2', 7], ['C5', 9], ['C3', 0], ['C4', 7], ['C1', 7]]}, {'C3': 0, 'C1': 0}), ('control 3', {'floors': 12, 'zones': 2, 'period': 'down-peak', 'cars': [['C1', 6], ['C2', 1], ['C5', 2], ['C3', 10], ['C4', 4]]}, {'C1': 6, 'C2': 0}), ('boundary: ten floors in three zones', {'floors': 10, 'zones': 3, 'period': 'off-peak', 'cars': [['C1', 9], ['C2', 5], ['C3', 1]]}, {'C3': 0, 'C2': 4, 'C1': 8}), ('control 1', {'floors': 8, 'zones': 3, 'period': 'off-peak', 'cars': [['C2', 3], ['C1', 7], ['C5', 4]]}, {'C2': 0, 'C5': 3, 'C1': 6}), ('control 4', {'floors': 27, 'zones': 2, 'period': 'down-peak', 'cars': [['C3', 14], ['C5', 10]]}, {'C3': 14, 'C5': 0}), ('sampled regression 7', {'floors': 14, 'zones': 3, 'period': 'down-peak', 'cars': [['C5', 13], ['C4', 0], ['C2', 11], ['C3', 5], ['C1', 11]]}, {'C1': 10, 'C3': 5, 'C4': 0})], [('regression: equidistant cars listed out of order', {'floors': 10, 'zones': 1, 'period': 'off-peak', 'cars': [['C3', 2], ['C1', 2]]}, {'C1': 0}), ('boundary: down-peak top first', {'floors': 20, 'zones': 4, 'period': 'down-peak', 'cars': [['C1', 16], ['C2', 13], ['C3', 2]]}, {'C1': 15, 'C2': 10, 'C3': 5}), ('control 16', {'floors': 14, 'zones': 4, 'period': 'off-peak', 'cars': [['C1', 9], ['C2', 2], ['C3', 12], ['C4', 0], ['C5', 3]]}, {'C4': 0, 'C5': 4, 'C1': 8, 'C3': 12}), ('boundary: up-peak lobby pair', {'floors': 12, 'zones': 2, 'period': 'up-peak', 'cars': [['C1', 3], ['C2', 8], ['C3', 11]]}, {'C1': 0, 'C2': 0, 'C3': 6}), ('boundary: fewer cars than targets', {'floors': 20, 'zones': 4, 'period': 'up-peak', 'cars': [['C2', 7]]}, {'C2': 0}), ('control 12', {'floors': 14, 'zones': 2, 'period': 'off-peak', 'cars': [['C3', 9], ['C5', 5]]}, {'C5': 0, 'C3': 7}), ('control 15', {'floors': 22, 'zones': 1, 'period': 'off-peak', 'cars': [['C5', 11]]}, {'C5': 0}), ('control 18', {'floors': 10, 'zones': 2, 'period': 'down-peak', 'cars': [['C4', 7], ['C2', 2], ['C1', 0], ['C5', 0], ['C3', 5]]}, {'C3': 5, 'C1': 0})], [('regression: equidistant cars listed out of order', {'floors': 10, 'zones': 1, 'period': 'off-peak', 'cars': [['C3', 2], ['C1', 2]]}, {'C1': 0}), ('boundary: down-peak top first', {'floors': 20, 'zones': 4, 'period': 'down-peak', 'cars': [['C1', 16], ['C2', 13], ['C3', 2]]}, {'C1': 15, 'C2': 10, 'C3': 5}), ('sampled regression 44', {'floors': 9, 'zones': 2, 'period': 'up-peak', 'cars': [['C3', 4], ['C2', 2], ['C5', 8], ['C1', 4]]}, {'C2': 0, 'C1': 0, 'C3': 5}), ('control 26', {'floors': 9, 'zones': 2, 'period': 'down-peak', 'cars': [['C2', 1], ['C4', 8], ['C1', 0], ['C5', 8], ['C3', 6]]}, {'C3': 5, 'C1': 0}), ('boundary: fewer cars than targets', {'floors': 20, 'zones': 4, 'period': 'up-peak', 'cars': [['C2', 7]]}, {'C2': 0}), ('control 23', {'floors': 8, 'zones': 4, 'period': 'down-peak', 'cars': [['C3', 5], ['C4', 7]]}, {'C3': 6, 'C4': 4}), ('control 29', {'floors': 30, 'zones': 3, 'period': 'down-peak', 'cars': [['C3', 28], ['C5', 0], ['C2', 17], ['C4', 12], ['C1', 29]]}, {'C2': 20, 'C4': 10, 'C5': 0}), ('control 32', {'floors': 12, 'zones': 1, 'period': 'down-peak', 'cars': [['C4', 3], ['C5', 0], ['C2', 11]]}, {'C5': 0})], [('regression: equidistant cars listed out of order', {'floors': 10, 'zones': 1, 'period': 'off-peak', 'cars': [['C3', 2], ['C1', 2]]}, {'C1': 0}), ('boundary: down-peak top first', {'floors': 20, 'zones': 4, 'period': 'down-peak', 'cars': [['C1', 16], ['C2', 13], ['C3', 2]]}, {'C1': 15, 'C2': 10, 'C3': 5}), ('sampled regression 14', {'floors': 8, 'zones': 4, 'period': 'off-peak', 'cars': [['C2', 1], ['C3', 4], ['C5', 1], ['C1', 1]]}, {'C1': 0, 'C2': 2, 'C3': 4, 'C5': 6}), ('control 39', {'floors': 25, 'zones': 4, 'period': 'down-peak', 'cars': [['C1', 11], ['C5', 15]]}, {'C5': 21, 'C1': 14}), ('boundary: ten floors in three zones', {'floors': 10, 'zones': 3, 'period': 'off-peak', 'cars': [['C1', 9], ['C2', 5], ['C3', 1]]}, {'C3': 0, 'C2': 4, 'C1': 8}), ('control 34', {'floors': 17, 'zones': 2, 'period': 'off-peak', 'cars': [['C5', 2], ['C2', 7], ['C1', 0]]}, {'C1': 0, 'C2': 9}), ('control 37', {'floors': 9, 'zones': 2, 'period': 'down-peak', 'cars': [['C1', 3], ['C5', 8], ['C4', 7]]}, {'C1': 5, 'C4': 0}), ('control 40', {'floors': 24, 'zones': 1, 'period': 'off-peak', 'cars': [['C4', 6]]}, {'C4': 0})], [('regression: equidistant cars listed out of order', {'floors': 10, 'zones': 1, 'period': 'off-peak', 'cars': [['C3', 2], ['C1', 2]]}, {'C1': 0}), ('boundary: down-peak top first', {'floors': 20, 'zones': 4, 'period': 'down-peak', 'cars': [['C1', 16], ['C2', 13], ['C3', 2]]}, {'C1': 15, 'C2': 10, 'C3': 5}), ('sampled regression 2', {'floors': 24, 'zones': 3, 'period': 'down-peak', 'cars': [['C5', 23], ['C4', 9]]}, {'C4': 16, 'C5': 8}), ('control 57', {'floors': 13, 'zones': 2, 'period': 'down-peak', 'cars': [['C1', 11], ['C2', 8], ['C4', 5]]}, {'C2': 7, 'C4': 0}), ('boundary: up-peak lobby pair', {'floors': 12, 'zones': 2, 'period': 'up-peak', 'cars': [['C1', 3], ['C2', 8], ['C3', 11]]}, {'C1': 0, 'C2': 0, 'C3': 6}), ('control 45', {'floors': 9, 'zones': 1, 'period': 'off-peak', 'cars': [['C3', 6], ['C4', 1], ['C5', 0], ['C2', 1], ['C1', 7]]}, {'C5': 0}), ('control 48', {'floors': 16, 'zones': 3, 'period': 'up-peak', 'cars': [['C4', 9], ['C3', 7], ['C2', 14], ['C1', 7]]}, {'C1': 0, 'C3': 0, 'C4': 6, 'C2': 12}), ('control 51', {'floors': 18, 'zones': 4, 'period': 'off-peak', 'cars': [['C5', 11]]}, {'C5': 0})]]
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: equidistant cars listed out of order{'C3': 0}{'C1': 0}Failed
boundary: down-peak top first{'C1': 15, 'C2': 10, 'C3': 5}{'C1': 15, 'C2': 10, 'C3': 5}Passed
sampled regression 11{'C2': 0, 'C3': 0}{'C1': 0, 'C3': 0}Failed
control 3{'C1': 6, 'C2': 0}{'C1': 6, 'C2': 0}Passed
boundary: ten floors in three zones{'C1': 8, 'C2': 4, 'C3': 0}{'C1': 8, 'C2': 4, 'C3': 0}Passed
control 1{'C1': 6, 'C2': 0, 'C5': 3}{'C1': 6, 'C2': 0, 'C5': 3}Passed
control 4{'C3': 14, 'C5': 0}{'C3': 14, 'C5': 0}Passed
sampled regression 7{'C2': 10, 'C3': 5, 'C4': 0}{'C1': 10, 'C3': 5, 'C4': 0}Failed

SHA-256 / 3d7df0998c3e430355ec87bf9683c71631fead224b72ff39d7bfcc5704084e8c

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(x):
    n = x['floors']
    k = x['zones']
    size = -(-n // k)
    bases = [z * size for z in range(k) if z * size < n]
    if x['period'] == 'up-peak':
        targets = [0] + bases
    elif x['period'] == 'down-peak':
        targets = sorted(bases, reverse=True)
    else:
        targets = bases
    free = dict(x['cars'])
    plan = {}
    for t in targets:
        if not free:
            break
        cid = min(free, key=lambda c: (free[c], c))
        plan[cid] = t
        del free[cid]
    return plan
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: equidistant cars listed out of order', {'floors': 10, 'zones': 1, 'period': 'off-peak', 'cars': [['C3', 2], ['C1', 2]]}, {'C1': 0}), ('boundary: down-peak top first', {'floors': 20, 'zones': 4, 'period': 'down-peak', 'cars': [['C1', 16], ['C2', 13], ['C3', 2]]}, {'C1': 15, 'C2': 10, 'C3': 5}), ('sampled regression 11', {'floors': 10, 'zones': 1, 'period': 'up-peak', 'cars': [['C2', 7], ['C5', 9], ['C3', 0], ['C4', 7], ['C1', 7]]}, {'C3': 0, 'C1': 0}), ('control 3', {'floors': 12, 'zones': 2, 'period': 'down-peak', 'cars': [['C1', 6], ['C2', 1], ['C5', 2], ['C3', 10], ['C4', 4]]}, {'C1': 6, 'C2': 0}), ('boundary: ten floors in three zones', {'floors': 10, 'zones': 3, 'period': 'off-peak', 'cars': [['C1', 9], ['C2', 5], ['C3', 1]]}, {'C3': 0, 'C2': 4, 'C1': 8}), ('control 1', {'floors': 8, 'zones': 3, 'period': 'off-peak', 'cars': [['C2', 3], ['C1', 7], ['C5', 4]]}, {'C2': 0, 'C5': 3, 'C1': 6}), ('control 4', {'floors': 27, 'zones': 2, 'period': 'down-peak', 'cars': [['C3', 14], ['C5', 10]]}, {'C3': 14, 'C5': 0}), ('sampled regression 7', {'floors': 14, 'zones': 3, 'period': 'down-peak', 'cars': [['C5', 13], ['C4', 0], ['C2', 11], ['C3', 5], ['C1', 11]]}, {'C1': 10, 'C3': 5, 'C4': 0})], [('regression: equidistant cars listed out of order', {'floors': 10, 'zones': 1, 'period': 'off-peak', 'cars': [['C3', 2], ['C1', 2]]}, {'C1': 0}), ('boundary: down-peak top first', {'floors': 20, 'zones': 4, 'period': 'down-peak', 'cars': [['C1', 16], ['C2', 13], ['C3', 2]]}, {'C1': 15, 'C2': 10, 'C3': 5}), ('control 16', {'floors': 14, 'zones': 4, 'period': 'off-peak', 'cars': [['C1', 9], ['C2', 2], ['C3', 12], ['C4', 0], ['C5', 3]]}, {'C4': 0, 'C5': 4, 'C1': 8, 'C3': 12}), ('boundary: up-peak lobby pair', {'floors': 12, 'zones': 2, 'period': 'up-peak', 'cars': [['C1', 3], ['C2', 8], ['C3', 11]]}, {'C1': 0, 'C2': 0, 'C3': 6}), ('boundary: fewer cars than targets', {'floors': 20, 'zones': 4, 'period': 'up-peak', 'cars': [['C2', 7]]}, {'C2': 0}), ('control 12', {'floors': 14, 'zones': 2, 'period': 'off-peak', 'cars': [['C3', 9], ['C5', 5]]}, {'C5': 0, 'C3': 7}), ('control 15', {'floors': 22, 'zones': 1, 'period': 'off-peak', 'cars': [['C5', 11]]}, {'C5': 0}), ('control 18', {'floors': 10, 'zones': 2, 'period': 'down-peak', 'cars': [['C4', 7], ['C2', 2], ['C1', 0], ['C5', 0], ['C3', 5]]}, {'C3': 5, 'C1': 0})], [('regression: equidistant cars listed out of order', {'floors': 10, 'zones': 1, 'period': 'off-peak', 'cars': [['C3', 2], ['C1', 2]]}, {'C1': 0}), ('boundary: down-peak top first', {'floors': 20, 'zones': 4, 'period': 'down-peak', 'cars': [['C1', 16], ['C2', 13], ['C3', 2]]}, {'C1': 15, 'C2': 10, 'C3': 5}), ('sampled regression 44', {'floors': 9, 'zones': 2, 'period': 'up-peak', 'cars': [['C3', 4], ['C2', 2], ['C5', 8], ['C1', 4]]}, {'C2': 0, 'C1': 0, 'C3': 5}), ('control 26', {'floors': 9, 'zones': 2, 'period': 'down-peak', 'cars': [['C2', 1], ['C4', 8], ['C1', 0], ['C5', 8], ['C3', 6]]}, {'C3': 5, 'C1': 0}), ('boundary: fewer cars than targets', {'floors': 20, 'zones': 4, 'period': 'up-peak', 'cars': [['C2', 7]]}, {'C2': 0}), ('control 23', {'floors': 8, 'zones': 4, 'period': 'down-peak', 'cars': [['C3', 5], ['C4', 7]]}, {'C3': 6, 'C4': 4}), ('control 29', {'floors': 30, 'zones': 3, 'period': 'down-peak', 'cars': [['C3', 28], ['C5', 0], ['C2', 17], ['C4', 12], ['C1', 29]]}, {'C2': 20, 'C4': 10, 'C5': 0}), ('control 32', {'floors': 12, 'zones': 1, 'period': 'down-peak', 'cars': [['C4', 3], ['C5', 0], ['C2', 11]]}, {'C5': 0})], [('regression: equidistant cars listed out of order', {'floors': 10, 'zones': 1, 'period': 'off-peak', 'cars': [['C3', 2], ['C1', 2]]}, {'C1': 0}), ('boundary: down-peak top first', {'floors': 20, 'zones': 4, 'period': 'down-peak', 'cars': [['C1', 16], ['C2', 13], ['C3', 2]]}, {'C1': 15, 'C2': 10, 'C3': 5}), ('sampled regression 14', {'floors': 8, 'zones': 4, 'period': 'off-peak', 'cars': [['C2', 1], ['C3', 4], ['C5', 1], ['C1', 1]]}, {'C1': 0, 'C2': 2, 'C3': 4, 'C5': 6}), ('control 39', {'floors': 25, 'zones': 4, 'period': 'down-peak', 'cars': [['C1', 11], ['C5', 15]]}, {'C5': 21, 'C1': 14}), ('boundary: ten floors in three zones', {'floors': 10, 'zones': 3, 'period': 'off-peak', 'cars': [['C1', 9], ['C2', 5], ['C3', 1]]}, {'C3': 0, 'C2': 4, 'C1': 8}), ('control 34', {'floors': 17, 'zones': 2, 'period': 'off-peak', 'cars': [['C5', 2], ['C2', 7], ['C1', 0]]}, {'C1': 0, 'C2': 9}), ('control 37', {'floors': 9, 'zones': 2, 'period': 'down-peak', 'cars': [['C1', 3], ['C5', 8], ['C4', 7]]}, {'C1': 5, 'C4': 0}), ('control 40', {'floors': 24, 'zones': 1, 'period': 'off-peak', 'cars': [['C4', 6]]}, {'C4': 0})], [('regression: equidistant cars listed out of order', {'floors': 10, 'zones': 1, 'period': 'off-peak', 'cars': [['C3', 2], ['C1', 2]]}, {'C1': 0}), ('boundary: down-peak top first', {'floors': 20, 'zones': 4, 'period': 'down-peak', 'cars': [['C1', 16], ['C2', 13], ['C3', 2]]}, {'C1': 15, 'C2': 10, 'C3': 5}), ('sampled regression 2', {'floors': 24, 'zones': 3, 'period': 'down-peak', 'cars': [['C5', 23], ['C4', 9]]}, {'C4': 16, 'C5': 8}), ('control 57', {'floors': 13, 'zones': 2, 'period': 'down-peak', 'cars': [['C1', 11], ['C2', 8], ['C4', 5]]}, {'C2': 7, 'C4': 0}), ('boundary: up-peak lobby pair', {'floors': 12, 'zones': 2, 'period': 'up-peak', 'cars': [['C1', 3], ['C2', 8], ['C3', 11]]}, {'C1': 0, 'C2': 0, 'C3': 6}), ('control 45', {'floors': 9, 'zones': 1, 'period': 'off-peak', 'cars': [['C3', 6], ['C4', 1], ['C5', 0], ['C2', 1], ['C1', 7]]}, {'C5': 0}), ('control 48', {'floors': 16, 'zones': 3, 'period': 'up-peak', 'cars': [['C4', 9], ['C3', 7], ['C2', 14], ['C1', 7]]}, {'C1': 0, 'C3': 0, 'C4': 6, 'C2': 12}), ('control 51', {'floors': 18, 'zones': 4, 'period': 'off-peak', 'cars': [['C5', 11]]}, {'C5': 0})]]
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: equidistant cars listed out of order{'C1': 0}{'C1': 0}Passed
boundary: down-peak top first{'C1': 5, 'C2': 10, 'C3': 15}{'C1': 15, 'C2': 10, 'C3': 5}Failed
sampled regression 11{'C1': 0, 'C3': 0}{'C1': 0, 'C3': 0}Passed
control 3{'C2': 6, 'C5': 0}{'C1': 6, 'C2': 0}Failed
boundary: ten floors in three zones{'C1': 8, 'C2': 4, 'C3': 0}{'C1': 8, 'C2': 4, 'C3': 0}Passed
control 1{'C1': 6, 'C2': 0, 'C5': 3}{'C1': 6, 'C2': 0, 'C5': 3}Passed
control 4{'C3': 0, 'C5': 14}{'C3': 14, 'C5': 0}Failed
sampled regression 7{'C1': 0, 'C3': 5, 'C4': 10}{'C1': 10, 'C3': 5, 'C4': 0}Failed

SHA-256 / b9c9861c7a85dc2c7aa3f3ee6c7c2b1fccc6476f1ba6ec2e8fa102ca49dfaff4

3 / The verified repair

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

N = 1
observations = []
def solve(x):
    n = x['floors']
    k = x['zones']
    size = -(-n // k)
    bases = [z * size for z in range(k) if z * size < n]
    if x['period'] == 'up-peak':
        targets = [0] + bases
    elif x['period'] == 'down-peak':
        targets = sorted(bases, reverse=True)
    else:
        targets = bases
    free = dict(x['cars'])
    plan = {}
    for t in targets:
        if not free:
            break
        cid = min(free, key=lambda c: (abs(free[c] - t), c))
        plan[cid] = t
        del free[cid]
    return plan
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: equidistant cars listed out of order', {'floors': 10, 'zones': 1, 'period': 'off-peak', 'cars': [['C3', 2], ['C1', 2]]}, {'C1': 0}), ('boundary: down-peak top first', {'floors': 20, 'zones': 4, 'period': 'down-peak', 'cars': [['C1', 16], ['C2', 13], ['C3', 2]]}, {'C1': 15, 'C2': 10, 'C3': 5}), ('sampled regression 11', {'floors': 10, 'zones': 1, 'period': 'up-peak', 'cars': [['C2', 7], ['C5', 9], ['C3', 0], ['C4', 7], ['C1', 7]]}, {'C3': 0, 'C1': 0}), ('control 3', {'floors': 12, 'zones': 2, 'period': 'down-peak', 'cars': [['C1', 6], ['C2', 1], ['C5', 2], ['C3', 10], ['C4', 4]]}, {'C1': 6, 'C2': 0}), ('boundary: ten floors in three zones', {'floors': 10, 'zones': 3, 'period': 'off-peak', 'cars': [['C1', 9], ['C2', 5], ['C3', 1]]}, {'C3': 0, 'C2': 4, 'C1': 8}), ('control 1', {'floors': 8, 'zones': 3, 'period': 'off-peak', 'cars': [['C2', 3], ['C1', 7], ['C5', 4]]}, {'C2': 0, 'C5': 3, 'C1': 6}), ('control 4', {'floors': 27, 'zones': 2, 'period': 'down-peak', 'cars': [['C3', 14], ['C5', 10]]}, {'C3': 14, 'C5': 0}), ('sampled regression 7', {'floors': 14, 'zones': 3, 'period': 'down-peak', 'cars': [['C5', 13], ['C4', 0], ['C2', 11], ['C3', 5], ['C1', 11]]}, {'C1': 10, 'C3': 5, 'C4': 0})], [('regression: equidistant cars listed out of order', {'floors': 10, 'zones': 1, 'period': 'off-peak', 'cars': [['C3', 2], ['C1', 2]]}, {'C1': 0}), ('boundary: down-peak top first', {'floors': 20, 'zones': 4, 'period': 'down-peak', 'cars': [['C1', 16], ['C2', 13], ['C3', 2]]}, {'C1': 15, 'C2': 10, 'C3': 5}), ('control 16', {'floors': 14, 'zones': 4, 'period': 'off-peak', 'cars': [['C1', 9], ['C2', 2], ['C3', 12], ['C4', 0], ['C5', 3]]}, {'C4': 0, 'C5': 4, 'C1': 8, 'C3': 12}), ('boundary: up-peak lobby pair', {'floors': 12, 'zones': 2, 'period': 'up-peak', 'cars': [['C1', 3], ['C2', 8], ['C3', 11]]}, {'C1': 0, 'C2': 0, 'C3': 6}), ('boundary: fewer cars than targets', {'floors': 20, 'zones': 4, 'period': 'up-peak', 'cars': [['C2', 7]]}, {'C2': 0}), ('control 12', {'floors': 14, 'zones': 2, 'period': 'off-peak', 'cars': [['C3', 9], ['C5', 5]]}, {'C5': 0, 'C3': 7}), ('control 15', {'floors': 22, 'zones': 1, 'period': 'off-peak', 'cars': [['C5', 11]]}, {'C5': 0}), ('control 18', {'floors': 10, 'zones': 2, 'period': 'down-peak', 'cars': [['C4', 7], ['C2', 2], ['C1', 0], ['C5', 0], ['C3', 5]]}, {'C3': 5, 'C1': 0})], [('regression: equidistant cars listed out of order', {'floors': 10, 'zones': 1, 'period': 'off-peak', 'cars': [['C3', 2], ['C1', 2]]}, {'C1': 0}), ('boundary: down-peak top first', {'floors': 20, 'zones': 4, 'period': 'down-peak', 'cars': [['C1', 16], ['C2', 13], ['C3', 2]]}, {'C1': 15, 'C2': 10, 'C3': 5}), ('sampled regression 44', {'floors': 9, 'zones': 2, 'period': 'up-peak', 'cars': [['C3', 4], ['C2', 2], ['C5', 8], ['C1', 4]]}, {'C2': 0, 'C1': 0, 'C3': 5}), ('control 26', {'floors': 9, 'zones': 2, 'period': 'down-peak', 'cars': [['C2', 1], ['C4', 8], ['C1', 0], ['C5', 8], ['C3', 6]]}, {'C3': 5, 'C1': 0}), ('boundary: fewer cars than targets', {'floors': 20, 'zones': 4, 'period': 'up-peak', 'cars': [['C2', 7]]}, {'C2': 0}), ('control 23', {'floors': 8, 'zones': 4, 'period': 'down-peak', 'cars': [['C3', 5], ['C4', 7]]}, {'C3': 6, 'C4': 4}), ('control 29', {'floors': 30, 'zones': 3, 'period': 'down-peak', 'cars': [['C3', 28], ['C5', 0], ['C2', 17], ['C4', 12], ['C1', 29]]}, {'C2': 20, 'C4': 10, 'C5': 0}), ('control 32', {'floors': 12, 'zones': 1, 'period': 'down-peak', 'cars': [['C4', 3], ['C5', 0], ['C2', 11]]}, {'C5': 0})], [('regression: equidistant cars listed out of order', {'floors': 10, 'zones': 1, 'period': 'off-peak', 'cars': [['C3', 2], ['C1', 2]]}, {'C1': 0}), ('boundary: down-peak top first', {'floors': 20, 'zones': 4, 'period': 'down-peak', 'cars': [['C1', 16], ['C2', 13], ['C3', 2]]}, {'C1': 15, 'C2': 10, 'C3': 5}), ('sampled regression 14', {'floors': 8, 'zones': 4, 'period': 'off-peak', 'cars': [['C2', 1], ['C3', 4], ['C5', 1], ['C1', 1]]}, {'C1': 0, 'C2': 2, 'C3': 4, 'C5': 6}), ('control 39', {'floors': 25, 'zones': 4, 'period': 'down-peak', 'cars': [['C1', 11], ['C5', 15]]}, {'C5': 21, 'C1': 14}), ('boundary: ten floors in three zones', {'floors': 10, 'zones': 3, 'period': 'off-peak', 'cars': [['C1', 9], ['C2', 5], ['C3', 1]]}, {'C3': 0, 'C2': 4, 'C1': 8}), ('control 34', {'floors': 17, 'zones': 2, 'period': 'off-peak', 'cars': [['C5', 2], ['C2', 7], ['C1', 0]]}, {'C1': 0, 'C2': 9}), ('control 37', {'floors': 9, 'zones': 2, 'period': 'down-peak', 'cars': [['C1', 3], ['C5', 8], ['C4', 7]]}, {'C1': 5, 'C4': 0}), ('control 40', {'floors': 24, 'zones': 1, 'period': 'off-peak', 'cars': [['C4', 6]]}, {'C4': 0})], [('regression: equidistant cars listed out of order', {'floors': 10, 'zones': 1, 'period': 'off-peak', 'cars': [['C3', 2], ['C1', 2]]}, {'C1': 0}), ('boundary: down-peak top first', {'floors': 20, 'zones': 4, 'period': 'down-peak', 'cars': [['C1', 16], ['C2', 13], ['C3', 2]]}, {'C1': 15, 'C2': 10, 'C3': 5}), ('sampled regression 2', {'floors': 24, 'zones': 3, 'period': 'down-peak', 'cars': [['C5', 23], ['C4', 9]]}, {'C4': 16, 'C5': 8}), ('control 57', {'floors': 13, 'zones': 2, 'period': 'down-peak', 'cars': [['C1', 11], ['C2', 8], ['C4', 5]]}, {'C2': 7, 'C4': 0}), ('boundary: up-peak lobby pair', {'floors': 12, 'zones': 2, 'period': 'up-peak', 'cars': [['C1', 3], ['C2', 8], ['C3', 11]]}, {'C1': 0, 'C2': 0, 'C3': 6}), ('control 45', {'floors': 9, 'zones': 1, 'period': 'off-peak', 'cars': [['C3', 6], ['C4', 1], ['C5', 0], ['C2', 1], ['C1', 7]]}, {'C5': 0}), ('control 48', {'floors': 16, 'zones': 3, 'period': 'up-peak', 'cars': [['C4', 9], ['C3', 7], ['C2', 14], ['C1', 7]]}, {'C1': 0, 'C3': 0, 'C4': 6, 'C2': 12}), ('control 51', {'floors': 18, 'zones': 4, 'period': 'off-peak', 'cars': [['C5', 11]]}, {'C5': 0})]]
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: equidistant cars listed out of order{'C1': 0}{'C1': 0}Passed
boundary: down-peak top first{'C1': 15, 'C2': 10, 'C3': 5}{'C1': 15, 'C2': 10, 'C3': 5}Passed
sampled regression 11{'C1': 0, 'C3': 0}{'C1': 0, 'C3': 0}Passed
control 3{'C1': 6, 'C2': 0}{'C1': 6, 'C2': 0}Passed
boundary: ten floors in three zones{'C1': 8, 'C2': 4, 'C3': 0}{'C1': 8, 'C2': 4, 'C3': 0}Passed
control 1{'C1': 6, 'C2': 0, 'C5': 3}{'C1': 6, 'C2': 0, 'C5': 3}Passed
control 4{'C3': 14, 'C5': 0}{'C3': 14, 'C5': 0}Passed
sampled regression 7{'C1': 10, 'C3': 5, 'C4': 0}{'C1': 10, 'C3': 5, 'C4': 0}Passed

SHA-256 / e2908cc4bb2617e2835e0324a14389b682ec3df25b09f561e0d61212f5a7c8c2

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:53.294660+00:00.

Case digest / ce73de0e169e854d227d3955f878829fda485becedeac44a80c631d674ae30bd