FA-67726 / Elevator dispatch scheduling / Open access
Double-deck car stop planning: shaft reach limits · case 01
Stops are planned where one of the decks would leave the shaft.
ROOT CAUSE
The limits allow the lower deck at floor 0 and at the top floor.
VERIFIED REPAIR
Keep car positions within 1..top-1.
Unsuccessful approach: Letting the car reach the top puts the upper deck above the shaft.
Case contract
A double-deck car has a lower deck and an upper deck one floor above it; the car position is the lower deck floor. With lower_odd the lower deck serves odd destinations and the upper deck even ones (reversed otherwise). A destination served by the upper deck needs car position dest-1. Positions must lie in 1..top-1 (the lower deck never reaches the top floor); unreachable destinations are rejected. Return sorted unique stop positions, deck per destination and rejected destinations in input order.
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):
stops = set()
deck = {}
rejected = []
for d in x['dests']:
lower = (d % 2 == 1) == x['lower_odd']
pos = d if lower else d - 1
if pos < 0 or pos > x['top']:
rejected.append(d)
continue
deck[str(d)] = 'lower' if lower else 'upper'
stops.add(pos)
return {'stops': sorted(stops), 'deck_of': deck, 'rejected': rejected}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: top floor by the lower deck', {'top': 21, 'lower_odd': True, 'dests': [21]}, {'stops': [], 'deck_of': {}, 'rejected': [21]}), ('sampled regression 5', {'top': 21, 'lower_odd': True, 'dests': [21, 7, 16]}, {'stops': [7, 15], 'deck_of': {'7': 'lower', '16': 'upper'}, 'rejected': [21]}), ('sampled regression 2', {'top': 21, 'lower_odd': True, 'dests': [21, 20, 0, 16, 19, 7]}, {'stops': [7, 15, 19], 'deck_of': {'20': 'upper', '16': 'upper', '19': 'lower', '7': 'lower'}, 'rejected': [21, 0]}), ('boundary: odd and even floors share a stop', {'top': 20, 'lower_odd': True, 'dests': [5, 6]}, {'stops': [5], 'deck_of': {'5': 'lower', '6': 'upper'}, 'rejected': []}), ('boundary: even-lower convention', {'top': 20, 'lower_odd': False, 'dests': [6, 7]}, {'stops': [6], 'deck_of': {'6': 'lower', '7': 'upper'}, 'rejected': []}), ('control 1', {'top': 30, 'lower_odd': True, 'dests': [0]}, {'stops': [], 'deck_of': {}, 'rejected': [0]}), ('control 4', {'top': 20, 'lower_odd': False, 'dests': [19, 3]}, {'stops': [2, 18], 'deck_of': {'19': 'upper', '3': 'upper'}, 'rejected': []}), ('control 7', {'top': 21, 'lower_odd': False, 'dests': [9, 10, 3, 4, 7]}, {'stops': [2, 4, 6, 8, 10], 'deck_of': {'9': 'upper', '10': 'lower', '3': 'upper', '4': 'lower', '7': 'upper'}, 'rejected': []})], [('regression: floor one by the upper deck', {'top': 20, 'lower_odd': False, 'dests': [1]}, {'stops': [], 'deck_of': {}, 'rejected': [1]}), ('regression: top floor by the lower deck', {'top': 21, 'lower_odd': True, 'dests': [21]}, {'stops': [], 'deck_of': {}, 'rejected': [21]}), ('sampled regression 44', {'top': 21, 'lower_odd': False, 'dests': [1, 21, 20]}, {'stops': [20], 'deck_of': {'21': 'upper', '20': 'lower'}, 'rejected': [1]}), ('sampled regression 51', {'top': 21, 'lower_odd': True, 'dests': [22, 5, 13]}, {'stops': [5, 13], 'deck_of': {'5': 'lower', '13': 'lower'}, 'rejected': [22]}), ('boundary: top floor by the upper deck', {'top': 20, 'lower_odd': True, 'dests': [20]}, {'stops': [19], 'deck_of': {'20': 'upper'}, 'rejected': []}), ('control 12', {'top': 21, 'lower_odd': True, 'dests': [7, 16, 15, 14, 18, 5]}, {'stops': [5, 7, 13, 15, 17], 'deck_of': {'7': 'lower', '16': 'upper', '15': 'lower', '14': 'upper', '18': 'upper', '5': 'lower'}, 'rejected': []}), ('control 15', {'top': 21, 'lower_odd': False, 'dests': [2]}, {'stops': [2], 'deck_of': {'2': 'lower'}, 'rejected': []}), ('control 18', {'top': 30, 'lower_odd': True, 'dests': [1, 2, 16, 17, 9, 14]}, {'stops': [1, 9, 13, 15, 17], 'deck_of': {'1': 'lower', '2': 'upper', '16': 'upper', '17': 'lower', '9': 'lower', '14': 'upper'}, 'rejected': []})], [('regression: top floor by the lower deck', {'top': 21, 'lower_odd': True, 'dests': [21]}, {'stops': [], 'deck_of': {}, 'rejected': [21]}), ('sampled regression 74', {'top': 20, 'lower_odd': False, 'dests': [4, 1, 8, 18, 18]}, {'stops': [4, 8, 18], 'deck_of': {'4': 'lower', '8': 'lower', '18': 'lower'}, 'rejected': [1]}), ('sampled regression 14', {'top': 20, 'lower_odd': False, 'dests': [5, 21, 17, 0, 13, 8]}, {'stops': [4, 8, 12, 16], 'deck_of': {'5': 'upper', '17': 'upper', '13': 'upper', '8': 'lower'}, 'rejected': [21, 0]}), ('regression: floor one by the upper deck', {'top': 20, 'lower_odd': False, 'dests': [1]}, {'stops': [], 'deck_of': {}, 'rejected': [1]}), ('boundary: repeated destinations', {'top': 20, 'lower_odd': True, 'dests': [9, 9, 10]}, {'stops': [9], 'deck_of': {'9': 'lower', '10': 'upper'}, 'rejected': []}), ('control 23', {'top': 20, 'lower_odd': True, 'dests': [11, 6, 9, 18, 10, 19]}, {'stops': [5, 9, 11, 17, 19], 'deck_of': {'11': 'lower', '6': 'upper', '9': 'lower', '18': 'upper', '10': 'upper', '19': 'lower'}, 'rejected': []}), ('control 26', {'top': 20, 'lower_odd': True, 'dests': [0, 7, 4, 8, 20]}, {'stops': [3, 7, 19], 'deck_of': {'7': 'lower', '4': 'upper', '8': 'upper', '20': 'upper'}, 'rejected': [0]}), ('sampled regression 29', {'top': 21, 'lower_odd': False, 'dests': [3, 12, 13, 19, 1]}, {'stops': [2, 12, 18], 'deck_of': {'3': 'upper', '12': 'lower', '13': 'upper', '19': 'upper'}, 'rejected': [1]})], [('regression: floor one by the upper deck', {'top': 20, 'lower_odd': False, 'dests': [1]}, {'stops': [], 'deck_of': {}, 'rejected': [1]}), ('regression: top floor by the lower deck', {'top': 21, 'lower_odd': True, 'dests': [21]}, {'stops': [], 'deck_of': {}, 'rejected': [21]}), ('sampled regression 14', {'top': 20, 'lower_odd': False, 'dests': [5, 21, 17, 0, 13, 8]}, {'stops': [4, 8, 12, 16], 'deck_of': {'5': 'upper', '17': 'upper', '13': 'upper', '8': 'lower'}, 'rejected': [21, 0]}), ('sampled regression 5', {'top': 21, 'lower_odd': True, 'dests': [21, 7, 16]}, {'stops': [7, 15], 'deck_of': {'7': 'lower', '16': 'upper'}, 'rejected': [21]}), ('boundary: odd and even floors share a stop', {'top': 20, 'lower_odd': True, 'dests': [5, 6]}, {'stops': [5], 'deck_of': {'5': 'lower', '6': 'upper'}, 'rejected': []}), ('control 34', {'top': 20, 'lower_odd': True, 'dests': [5, 0]}, {'stops': [5], 'deck_of': {'5': 'lower'}, 'rejected': [0]}), ('control 37', {'top': 30, 'lower_odd': False, 'dests': [18, 28, 28]}, {'stops': [18, 28], 'deck_of': {'18': 'lower', '28': 'lower'}, 'rejected': []}), ('sampled regression 40', {'top': 20, 'lower_odd': False, 'dests': [11, 14, 12, 8, 0, 4]}, {'stops': [4, 8, 10, 12, 14], 'deck_of': {'11': 'upper', '14': 'lower', '12': 'lower', '8': 'lower', '4': 'lower'}, 'rejected': [0]})], [('regression: top floor by the lower deck', {'top': 21, 'lower_odd': True, 'dests': [21]}, {'stops': [], 'deck_of': {}, 'rejected': [21]}), ('sampled regression 51', {'top': 21, 'lower_odd': True, 'dests': [22, 5, 13]}, {'stops': [5, 13], 'deck_of': {'5': 'lower', '13': 'lower'}, 'rejected': [22]}), ('boundary: top floor by the upper deck', {'top': 20, 'lower_odd': True, 'dests': [20]}, {'stops': [19], 'deck_of': {'20': 'upper'}, 'rejected': []}), ('regression: floor one by the upper deck', {'top': 20, 'lower_odd': False, 'dests': [1]}, {'stops': [], 'deck_of': {}, 'rejected': [1]}), ('boundary: repeated destinations', {'top': 20, 'lower_odd': True, 'dests': [9, 9, 10]}, {'stops': [9], 'deck_of': {'9': 'lower', '10': 'upper'}, 'rejected': []}), ('sampled regression 45', {'top': 30, 'lower_odd': False, 'dests': [1, 11, 0, 7, 22]}, {'stops': [6, 10, 22], 'deck_of': {'11': 'upper', '7': 'upper', '22': 'lower'}, 'rejected': [1, 0]}), ('control 48', {'top': 20, 'lower_odd': True, 'dests': [7, 1, 12, 15, 14, 20]}, {'stops': [1, 7, 11, 13, 15, 19], 'deck_of': {'7': 'lower', '1': 'lower', '12': 'upper', '15': 'lower', '14': 'upper', '20': 'upper'}, 'rejected': []}), ('control 54', {'top': 30, 'lower_odd': True, 'dests': [29]}, {'stops': [29], 'deck_of': {'29': 'lower'}, 'rejected': []})]]
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: top floor by the lower deck | {'deck_of': {'21': 'lower'}, 'rejected': [], 'stops': [21]} | {'deck_of': {}, 'rejected': [21], 'stops': []} | Failed |
| sampled regression 5 | {'deck_of': {'16': 'upper', '21': 'lower', '7': 'lower'}, 'rejected': [], 'stops': [7, 15, 21]} | {'deck_of': {'16': 'upper', '7': 'lower'}, 'rejected': [21], 'stops': [7, 15]} | Failed |
| sampled regression 2 | {'deck_of': {'16': 'upper', '19': 'lower', '20': 'upper', '21': 'lower', '7': 'lower'}, 'rejected': [0], 'stops': [7, 15, 19, 21]} | {'deck_of': {'16': 'upper', '19': 'lower', '20': 'upper', '7': 'lower'}, 'rejected': [21, 0], 'stops': [7, 15, 19]} | Failed |
| boundary: odd and even floors share a stop | {'deck_of': {'5': 'lower', '6': 'upper'}, 'rejected': [], 'stops': [5]} | {'deck_of': {'5': 'lower', '6': 'upper'}, 'rejected': [], 'stops': [5]} | Passed |
| boundary: even-lower convention | {'deck_of': {'6': 'lower', '7': 'upper'}, 'rejected': [], 'stops': [6]} | {'deck_of': {'6': 'lower', '7': 'upper'}, 'rejected': [], 'stops': [6]} | Passed |
| control 1 | {'deck_of': {}, 'rejected': [0], 'stops': []} | {'deck_of': {}, 'rejected': [0], 'stops': []} | Passed |
| control 4 | {'deck_of': {'19': 'upper', '3': 'upper'}, 'rejected': [], 'stops': [2, 18]} | {'deck_of': {'19': 'upper', '3': 'upper'}, 'rejected': [], 'stops': [2, 18]} | Passed |
| control 7 | {'deck_of': {'10': 'lower', '3': 'upper', '4': 'lower', '7': 'upper', '9': 'upper'}, 'rejected': [], 'stops': [2, 4, 6, 8, 10]} | {'deck_of': {'10': 'lower', '3': 'upper', '4': 'lower', '7': 'upper', '9': 'upper'}, 'rejected': [], 'stops': [2, 4, 6, 8, 10]} | Passed |
SHA-256 / c0a900a8d136ec7bdae22ea8b5dce78369ce46916bd47da970f1107c812245c0
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
stops = set()
deck = {}
rejected = []
for d in x['dests']:
lower = (d % 2 == 1) == x['lower_odd']
pos = d if lower else d - 1
if pos < 1 or pos > x['top']:
rejected.append(d)
continue
deck[str(d)] = 'lower' if lower else 'upper'
stops.add(pos)
return {'stops': sorted(stops), 'deck_of': deck, 'rejected': rejected}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: top floor by the lower deck', {'top': 21, 'lower_odd': True, 'dests': [21]}, {'stops': [], 'deck_of': {}, 'rejected': [21]}), ('sampled regression 5', {'top': 21, 'lower_odd': True, 'dests': [21, 7, 16]}, {'stops': [7, 15], 'deck_of': {'7': 'lower', '16': 'upper'}, 'rejected': [21]}), ('sampled regression 2', {'top': 21, 'lower_odd': True, 'dests': [21, 20, 0, 16, 19, 7]}, {'stops': [7, 15, 19], 'deck_of': {'20': 'upper', '16': 'upper', '19': 'lower', '7': 'lower'}, 'rejected': [21, 0]}), ('boundary: odd and even floors share a stop', {'top': 20, 'lower_odd': True, 'dests': [5, 6]}, {'stops': [5], 'deck_of': {'5': 'lower', '6': 'upper'}, 'rejected': []}), ('boundary: even-lower convention', {'top': 20, 'lower_odd': False, 'dests': [6, 7]}, {'stops': [6], 'deck_of': {'6': 'lower', '7': 'upper'}, 'rejected': []}), ('control 1', {'top': 30, 'lower_odd': True, 'dests': [0]}, {'stops': [], 'deck_of': {}, 'rejected': [0]}), ('control 4', {'top': 20, 'lower_odd': False, 'dests': [19, 3]}, {'stops': [2, 18], 'deck_of': {'19': 'upper', '3': 'upper'}, 'rejected': []}), ('control 7', {'top': 21, 'lower_odd': False, 'dests': [9, 10, 3, 4, 7]}, {'stops': [2, 4, 6, 8, 10], 'deck_of': {'9': 'upper', '10': 'lower', '3': 'upper', '4': 'lower', '7': 'upper'}, 'rejected': []})], [('regression: floor one by the upper deck', {'top': 20, 'lower_odd': False, 'dests': [1]}, {'stops': [], 'deck_of': {}, 'rejected': [1]}), ('regression: top floor by the lower deck', {'top': 21, 'lower_odd': True, 'dests': [21]}, {'stops': [], 'deck_of': {}, 'rejected': [21]}), ('sampled regression 44', {'top': 21, 'lower_odd': False, 'dests': [1, 21, 20]}, {'stops': [20], 'deck_of': {'21': 'upper', '20': 'lower'}, 'rejected': [1]}), ('sampled regression 51', {'top': 21, 'lower_odd': True, 'dests': [22, 5, 13]}, {'stops': [5, 13], 'deck_of': {'5': 'lower', '13': 'lower'}, 'rejected': [22]}), ('boundary: top floor by the upper deck', {'top': 20, 'lower_odd': True, 'dests': [20]}, {'stops': [19], 'deck_of': {'20': 'upper'}, 'rejected': []}), ('control 12', {'top': 21, 'lower_odd': True, 'dests': [7, 16, 15, 14, 18, 5]}, {'stops': [5, 7, 13, 15, 17], 'deck_of': {'7': 'lower', '16': 'upper', '15': 'lower', '14': 'upper', '18': 'upper', '5': 'lower'}, 'rejected': []}), ('control 15', {'top': 21, 'lower_odd': False, 'dests': [2]}, {'stops': [2], 'deck_of': {'2': 'lower'}, 'rejected': []}), ('control 18', {'top': 30, 'lower_odd': True, 'dests': [1, 2, 16, 17, 9, 14]}, {'stops': [1, 9, 13, 15, 17], 'deck_of': {'1': 'lower', '2': 'upper', '16': 'upper', '17': 'lower', '9': 'lower', '14': 'upper'}, 'rejected': []})], [('regression: top floor by the lower deck', {'top': 21, 'lower_odd': True, 'dests': [21]}, {'stops': [], 'deck_of': {}, 'rejected': [21]}), ('sampled regression 74', {'top': 20, 'lower_odd': False, 'dests': [4, 1, 8, 18, 18]}, {'stops': [4, 8, 18], 'deck_of': {'4': 'lower', '8': 'lower', '18': 'lower'}, 'rejected': [1]}), ('sampled regression 14', {'top': 20, 'lower_odd': False, 'dests': [5, 21, 17, 0, 13, 8]}, {'stops': [4, 8, 12, 16], 'deck_of': {'5': 'upper', '17': 'upper', '13': 'upper', '8': 'lower'}, 'rejected': [21, 0]}), ('regression: floor one by the upper deck', {'top': 20, 'lower_odd': False, 'dests': [1]}, {'stops': [], 'deck_of': {}, 'rejected': [1]}), ('boundary: repeated destinations', {'top': 20, 'lower_odd': True, 'dests': [9, 9, 10]}, {'stops': [9], 'deck_of': {'9': 'lower', '10': 'upper'}, 'rejected': []}), ('control 23', {'top': 20, 'lower_odd': True, 'dests': [11, 6, 9, 18, 10, 19]}, {'stops': [5, 9, 11, 17, 19], 'deck_of': {'11': 'lower', '6': 'upper', '9': 'lower', '18': 'upper', '10': 'upper', '19': 'lower'}, 'rejected': []}), ('control 26', {'top': 20, 'lower_odd': True, 'dests': [0, 7, 4, 8, 20]}, {'stops': [3, 7, 19], 'deck_of': {'7': 'lower', '4': 'upper', '8': 'upper', '20': 'upper'}, 'rejected': [0]}), ('sampled regression 29', {'top': 21, 'lower_odd': False, 'dests': [3, 12, 13, 19, 1]}, {'stops': [2, 12, 18], 'deck_of': {'3': 'upper', '12': 'lower', '13': 'upper', '19': 'upper'}, 'rejected': [1]})], [('regression: floor one by the upper deck', {'top': 20, 'lower_odd': False, 'dests': [1]}, {'stops': [], 'deck_of': {}, 'rejected': [1]}), ('regression: top floor by the lower deck', {'top': 21, 'lower_odd': True, 'dests': [21]}, {'stops': [], 'deck_of': {}, 'rejected': [21]}), ('sampled regression 14', {'top': 20, 'lower_odd': False, 'dests': [5, 21, 17, 0, 13, 8]}, {'stops': [4, 8, 12, 16], 'deck_of': {'5': 'upper', '17': 'upper', '13': 'upper', '8': 'lower'}, 'rejected': [21, 0]}), ('sampled regression 5', {'top': 21, 'lower_odd': True, 'dests': [21, 7, 16]}, {'stops': [7, 15], 'deck_of': {'7': 'lower', '16': 'upper'}, 'rejected': [21]}), ('boundary: odd and even floors share a stop', {'top': 20, 'lower_odd': True, 'dests': [5, 6]}, {'stops': [5], 'deck_of': {'5': 'lower', '6': 'upper'}, 'rejected': []}), ('control 34', {'top': 20, 'lower_odd': True, 'dests': [5, 0]}, {'stops': [5], 'deck_of': {'5': 'lower'}, 'rejected': [0]}), ('control 37', {'top': 30, 'lower_odd': False, 'dests': [18, 28, 28]}, {'stops': [18, 28], 'deck_of': {'18': 'lower', '28': 'lower'}, 'rejected': []}), ('sampled regression 40', {'top': 20, 'lower_odd': False, 'dests': [11, 14, 12, 8, 0, 4]}, {'stops': [4, 8, 10, 12, 14], 'deck_of': {'11': 'upper', '14': 'lower', '12': 'lower', '8': 'lower', '4': 'lower'}, 'rejected': [0]})], [('regression: top floor by the lower deck', {'top': 21, 'lower_odd': True, 'dests': [21]}, {'stops': [], 'deck_of': {}, 'rejected': [21]}), ('sampled regression 51', {'top': 21, 'lower_odd': True, 'dests': [22, 5, 13]}, {'stops': [5, 13], 'deck_of': {'5': 'lower', '13': 'lower'}, 'rejected': [22]}), ('boundary: top floor by the upper deck', {'top': 20, 'lower_odd': True, 'dests': [20]}, {'stops': [19], 'deck_of': {'20': 'upper'}, 'rejected': []}), ('regression: floor one by the upper deck', {'top': 20, 'lower_odd': False, 'dests': [1]}, {'stops': [], 'deck_of': {}, 'rejected': [1]}), ('boundary: repeated destinations', {'top': 20, 'lower_odd': True, 'dests': [9, 9, 10]}, {'stops': [9], 'deck_of': {'9': 'lower', '10': 'upper'}, 'rejected': []}), ('sampled regression 45', {'top': 30, 'lower_odd': False, 'dests': [1, 11, 0, 7, 22]}, {'stops': [6, 10, 22], 'deck_of': {'11': 'upper', '7': 'upper', '22': 'lower'}, 'rejected': [1, 0]}), ('control 48', {'top': 20, 'lower_odd': True, 'dests': [7, 1, 12, 15, 14, 20]}, {'stops': [1, 7, 11, 13, 15, 19], 'deck_of': {'7': 'lower', '1': 'lower', '12': 'upper', '15': 'lower', '14': 'upper', '20': 'upper'}, 'rejected': []}), ('control 54', {'top': 30, 'lower_odd': True, 'dests': [29]}, {'stops': [29], 'deck_of': {'29': 'lower'}, 'rejected': []})]]
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: top floor by the lower deck | {'deck_of': {'21': 'lower'}, 'rejected': [], 'stops': [21]} | {'deck_of': {}, 'rejected': [21], 'stops': []} | Failed |
| sampled regression 5 | {'deck_of': {'16': 'upper', '21': 'lower', '7': 'lower'}, 'rejected': [], 'stops': [7, 15, 21]} | {'deck_of': {'16': 'upper', '7': 'lower'}, 'rejected': [21], 'stops': [7, 15]} | Failed |
| sampled regression 2 | {'deck_of': {'16': 'upper', '19': 'lower', '20': 'upper', '21': 'lower', '7': 'lower'}, 'rejected': [0], 'stops': [7, 15, 19, 21]} | {'deck_of': {'16': 'upper', '19': 'lower', '20': 'upper', '7': 'lower'}, 'rejected': [21, 0], 'stops': [7, 15, 19]} | Failed |
| boundary: odd and even floors share a stop | {'deck_of': {'5': 'lower', '6': 'upper'}, 'rejected': [], 'stops': [5]} | {'deck_of': {'5': 'lower', '6': 'upper'}, 'rejected': [], 'stops': [5]} | Passed |
| boundary: even-lower convention | {'deck_of': {'6': 'lower', '7': 'upper'}, 'rejected': [], 'stops': [6]} | {'deck_of': {'6': 'lower', '7': 'upper'}, 'rejected': [], 'stops': [6]} | Passed |
| control 1 | {'deck_of': {}, 'rejected': [0], 'stops': []} | {'deck_of': {}, 'rejected': [0], 'stops': []} | Passed |
| control 4 | {'deck_of': {'19': 'upper', '3': 'upper'}, 'rejected': [], 'stops': [2, 18]} | {'deck_of': {'19': 'upper', '3': 'upper'}, 'rejected': [], 'stops': [2, 18]} | Passed |
| control 7 | {'deck_of': {'10': 'lower', '3': 'upper', '4': 'lower', '7': 'upper', '9': 'upper'}, 'rejected': [], 'stops': [2, 4, 6, 8, 10]} | {'deck_of': {'10': 'lower', '3': 'upper', '4': 'lower', '7': 'upper', '9': 'upper'}, 'rejected': [], 'stops': [2, 4, 6, 8, 10]} | Passed |
SHA-256 / 2c4eb1a5dc1ee456dea968cc521eea5f599725f7f901d65d7937b4133b8bad05
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
stops = set()
deck = {}
rejected = []
for d in x['dests']:
lower = (d % 2 == 1) == x['lower_odd']
pos = d if lower else d - 1
if pos < 1 or pos > x['top'] - 1:
rejected.append(d)
continue
deck[str(d)] = 'lower' if lower else 'upper'
stops.add(pos)
return {'stops': sorted(stops), 'deck_of': deck, 'rejected': rejected}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: top floor by the lower deck', {'top': 21, 'lower_odd': True, 'dests': [21]}, {'stops': [], 'deck_of': {}, 'rejected': [21]}), ('sampled regression 5', {'top': 21, 'lower_odd': True, 'dests': [21, 7, 16]}, {'stops': [7, 15], 'deck_of': {'7': 'lower', '16': 'upper'}, 'rejected': [21]}), ('sampled regression 2', {'top': 21, 'lower_odd': True, 'dests': [21, 20, 0, 16, 19, 7]}, {'stops': [7, 15, 19], 'deck_of': {'20': 'upper', '16': 'upper', '19': 'lower', '7': 'lower'}, 'rejected': [21, 0]}), ('boundary: odd and even floors share a stop', {'top': 20, 'lower_odd': True, 'dests': [5, 6]}, {'stops': [5], 'deck_of': {'5': 'lower', '6': 'upper'}, 'rejected': []}), ('boundary: even-lower convention', {'top': 20, 'lower_odd': False, 'dests': [6, 7]}, {'stops': [6], 'deck_of': {'6': 'lower', '7': 'upper'}, 'rejected': []}), ('control 1', {'top': 30, 'lower_odd': True, 'dests': [0]}, {'stops': [], 'deck_of': {}, 'rejected': [0]}), ('control 4', {'top': 20, 'lower_odd': False, 'dests': [19, 3]}, {'stops': [2, 18], 'deck_of': {'19': 'upper', '3': 'upper'}, 'rejected': []}), ('control 7', {'top': 21, 'lower_odd': False, 'dests': [9, 10, 3, 4, 7]}, {'stops': [2, 4, 6, 8, 10], 'deck_of': {'9': 'upper', '10': 'lower', '3': 'upper', '4': 'lower', '7': 'upper'}, 'rejected': []})], [('regression: floor one by the upper deck', {'top': 20, 'lower_odd': False, 'dests': [1]}, {'stops': [], 'deck_of': {}, 'rejected': [1]}), ('regression: top floor by the lower deck', {'top': 21, 'lower_odd': True, 'dests': [21]}, {'stops': [], 'deck_of': {}, 'rejected': [21]}), ('sampled regression 44', {'top': 21, 'lower_odd': False, 'dests': [1, 21, 20]}, {'stops': [20], 'deck_of': {'21': 'upper', '20': 'lower'}, 'rejected': [1]}), ('sampled regression 51', {'top': 21, 'lower_odd': True, 'dests': [22, 5, 13]}, {'stops': [5, 13], 'deck_of': {'5': 'lower', '13': 'lower'}, 'rejected': [22]}), ('boundary: top floor by the upper deck', {'top': 20, 'lower_odd': True, 'dests': [20]}, {'stops': [19], 'deck_of': {'20': 'upper'}, 'rejected': []}), ('control 12', {'top': 21, 'lower_odd': True, 'dests': [7, 16, 15, 14, 18, 5]}, {'stops': [5, 7, 13, 15, 17], 'deck_of': {'7': 'lower', '16': 'upper', '15': 'lower', '14': 'upper', '18': 'upper', '5': 'lower'}, 'rejected': []}), ('control 15', {'top': 21, 'lower_odd': False, 'dests': [2]}, {'stops': [2], 'deck_of': {'2': 'lower'}, 'rejected': []}), ('control 18', {'top': 30, 'lower_odd': True, 'dests': [1, 2, 16, 17, 9, 14]}, {'stops': [1, 9, 13, 15, 17], 'deck_of': {'1': 'lower', '2': 'upper', '16': 'upper', '17': 'lower', '9': 'lower', '14': 'upper'}, 'rejected': []})], [('regression: top floor by the lower deck', {'top': 21, 'lower_odd': True, 'dests': [21]}, {'stops': [], 'deck_of': {}, 'rejected': [21]}), ('sampled regression 74', {'top': 20, 'lower_odd': False, 'dests': [4, 1, 8, 18, 18]}, {'stops': [4, 8, 18], 'deck_of': {'4': 'lower', '8': 'lower', '18': 'lower'}, 'rejected': [1]}), ('sampled regression 14', {'top': 20, 'lower_odd': False, 'dests': [5, 21, 17, 0, 13, 8]}, {'stops': [4, 8, 12, 16], 'deck_of': {'5': 'upper', '17': 'upper', '13': 'upper', '8': 'lower'}, 'rejected': [21, 0]}), ('regression: floor one by the upper deck', {'top': 20, 'lower_odd': False, 'dests': [1]}, {'stops': [], 'deck_of': {}, 'rejected': [1]}), ('boundary: repeated destinations', {'top': 20, 'lower_odd': True, 'dests': [9, 9, 10]}, {'stops': [9], 'deck_of': {'9': 'lower', '10': 'upper'}, 'rejected': []}), ('control 23', {'top': 20, 'lower_odd': True, 'dests': [11, 6, 9, 18, 10, 19]}, {'stops': [5, 9, 11, 17, 19], 'deck_of': {'11': 'lower', '6': 'upper', '9': 'lower', '18': 'upper', '10': 'upper', '19': 'lower'}, 'rejected': []}), ('control 26', {'top': 20, 'lower_odd': True, 'dests': [0, 7, 4, 8, 20]}, {'stops': [3, 7, 19], 'deck_of': {'7': 'lower', '4': 'upper', '8': 'upper', '20': 'upper'}, 'rejected': [0]}), ('sampled regression 29', {'top': 21, 'lower_odd': False, 'dests': [3, 12, 13, 19, 1]}, {'stops': [2, 12, 18], 'deck_of': {'3': 'upper', '12': 'lower', '13': 'upper', '19': 'upper'}, 'rejected': [1]})], [('regression: floor one by the upper deck', {'top': 20, 'lower_odd': False, 'dests': [1]}, {'stops': [], 'deck_of': {}, 'rejected': [1]}), ('regression: top floor by the lower deck', {'top': 21, 'lower_odd': True, 'dests': [21]}, {'stops': [], 'deck_of': {}, 'rejected': [21]}), ('sampled regression 14', {'top': 20, 'lower_odd': False, 'dests': [5, 21, 17, 0, 13, 8]}, {'stops': [4, 8, 12, 16], 'deck_of': {'5': 'upper', '17': 'upper', '13': 'upper', '8': 'lower'}, 'rejected': [21, 0]}), ('sampled regression 5', {'top': 21, 'lower_odd': True, 'dests': [21, 7, 16]}, {'stops': [7, 15], 'deck_of': {'7': 'lower', '16': 'upper'}, 'rejected': [21]}), ('boundary: odd and even floors share a stop', {'top': 20, 'lower_odd': True, 'dests': [5, 6]}, {'stops': [5], 'deck_of': {'5': 'lower', '6': 'upper'}, 'rejected': []}), ('control 34', {'top': 20, 'lower_odd': True, 'dests': [5, 0]}, {'stops': [5], 'deck_of': {'5': 'lower'}, 'rejected': [0]}), ('control 37', {'top': 30, 'lower_odd': False, 'dests': [18, 28, 28]}, {'stops': [18, 28], 'deck_of': {'18': 'lower', '28': 'lower'}, 'rejected': []}), ('sampled regression 40', {'top': 20, 'lower_odd': False, 'dests': [11, 14, 12, 8, 0, 4]}, {'stops': [4, 8, 10, 12, 14], 'deck_of': {'11': 'upper', '14': 'lower', '12': 'lower', '8': 'lower', '4': 'lower'}, 'rejected': [0]})], [('regression: top floor by the lower deck', {'top': 21, 'lower_odd': True, 'dests': [21]}, {'stops': [], 'deck_of': {}, 'rejected': [21]}), ('sampled regression 51', {'top': 21, 'lower_odd': True, 'dests': [22, 5, 13]}, {'stops': [5, 13], 'deck_of': {'5': 'lower', '13': 'lower'}, 'rejected': [22]}), ('boundary: top floor by the upper deck', {'top': 20, 'lower_odd': True, 'dests': [20]}, {'stops': [19], 'deck_of': {'20': 'upper'}, 'rejected': []}), ('regression: floor one by the upper deck', {'top': 20, 'lower_odd': False, 'dests': [1]}, {'stops': [], 'deck_of': {}, 'rejected': [1]}), ('boundary: repeated destinations', {'top': 20, 'lower_odd': True, 'dests': [9, 9, 10]}, {'stops': [9], 'deck_of': {'9': 'lower', '10': 'upper'}, 'rejected': []}), ('sampled regression 45', {'top': 30, 'lower_odd': False, 'dests': [1, 11, 0, 7, 22]}, {'stops': [6, 10, 22], 'deck_of': {'11': 'upper', '7': 'upper', '22': 'lower'}, 'rejected': [1, 0]}), ('control 48', {'top': 20, 'lower_odd': True, 'dests': [7, 1, 12, 15, 14, 20]}, {'stops': [1, 7, 11, 13, 15, 19], 'deck_of': {'7': 'lower', '1': 'lower', '12': 'upper', '15': 'lower', '14': 'upper', '20': 'upper'}, 'rejected': []}), ('control 54', {'top': 30, 'lower_odd': True, 'dests': [29]}, {'stops': [29], 'deck_of': {'29': 'lower'}, 'rejected': []})]]
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: top floor by the lower deck | {'deck_of': {}, 'rejected': [21], 'stops': []} | {'deck_of': {}, 'rejected': [21], 'stops': []} | Passed |
| sampled regression 5 | {'deck_of': {'16': 'upper', '7': 'lower'}, 'rejected': [21], 'stops': [7, 15]} | {'deck_of': {'16': 'upper', '7': 'lower'}, 'rejected': [21], 'stops': [7, 15]} | Passed |
| sampled regression 2 | {'deck_of': {'16': 'upper', '19': 'lower', '20': 'upper', '7': 'lower'}, 'rejected': [21, 0], 'stops': [7, 15, 19]} | {'deck_of': {'16': 'upper', '19': 'lower', '20': 'upper', '7': 'lower'}, 'rejected': [21, 0], 'stops': [7, 15, 19]} | Passed |
| boundary: odd and even floors share a stop | {'deck_of': {'5': 'lower', '6': 'upper'}, 'rejected': [], 'stops': [5]} | {'deck_of': {'5': 'lower', '6': 'upper'}, 'rejected': [], 'stops': [5]} | Passed |
| boundary: even-lower convention | {'deck_of': {'6': 'lower', '7': 'upper'}, 'rejected': [], 'stops': [6]} | {'deck_of': {'6': 'lower', '7': 'upper'}, 'rejected': [], 'stops': [6]} | Passed |
| control 1 | {'deck_of': {}, 'rejected': [0], 'stops': []} | {'deck_of': {}, 'rejected': [0], 'stops': []} | Passed |
| control 4 | {'deck_of': {'19': 'upper', '3': 'upper'}, 'rejected': [], 'stops': [2, 18]} | {'deck_of': {'19': 'upper', '3': 'upper'}, 'rejected': [], 'stops': [2, 18]} | Passed |
| control 7 | {'deck_of': {'10': 'lower', '3': 'upper', '4': 'lower', '7': 'upper', '9': 'upper'}, 'rejected': [], 'stops': [2, 4, 6, 8, 10]} | {'deck_of': {'10': 'lower', '3': 'upper', '4': 'lower', '7': 'upper', '9': 'upper'}, 'rejected': [], 'stops': [2, 4, 6, 8, 10]} | Passed |
SHA-256 / 9118ed5388a7053ff7790e107d78ecf7640984a93a9e7c635b6af176ca90f008
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.636103+00:00.
Case digest / c961a9c7446be410db931a798dabee18b0efc76555589a279405ce02945816e3