FAILURE MAP
← Case archive

FA-67501 / Elevator dispatch scheduling / Open access

Car call registration and cancellation: floor range check · case 01

A non-existent floor is registered as a car call.

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

ROOT CAUSE

Negative floors pass the range check.

VERIFIED REPAIR

Accept only floors 0..floors-1.

Unsuccessful approach: An inclusive upper bound registers the floor above the top.

Case contract

Car buttons are processed in order. Pressing the current floor with doors open reopens the doors. Floors outside 0..floors-1 are invalid. Pressing an already registered floor cancels it, unless it is the only call (kept). With load under 20 kg, a new call is refused as nuisance once five calls are registered. Otherwise the call is registered. Return the sorted calls and the per-press log.

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):
    calls = []
    log = []
    for f in x['presses']:
        if f == x['floor'] and x['doors_open']:
            log.append('reopen')
        elif f >= x['floors']:
            log.append('invalid')
        elif f in calls:
            if len(calls) > 1:
                calls.remove(f)
                log.append('cancelled')
            else:
                log.append('kept')
        elif x['load_kg'] < 20 and len(calls) >= 5:
            log.append('nuisance')
        else:
            calls.append(f)
            log.append('registered')
    return {'calls': sorted(calls), 'log': log}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: basement button that does not exist', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [-1, 3]}, {'calls': [3], 'log': ['invalid', 'registered']}), ('boundary: button one above the top', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [10, 9]}, {'calls': [9], 'log': ['invalid', 'registered']}), ('sampled regression 3', {'floors': 7, 'floor': 3, 'doors_open': True, 'load_kg': 20, 'presses': [0, 5, 5, 0, 3, 3, -1]}, {'calls': [0], 'log': ['registered', 'registered', 'cancelled', 'kept', 'reopen', 'reopen', 'invalid']}), ('sampled regression 9', {'floors': 10, 'floor': 9, 'doors_open': False, 'load_kg': 0, 'presses': [10, 3, -1, 0]}, {'calls': [0, 3], 'log': ['invalid', 'registered', 'invalid', 'registered']}), ('boundary: own floor with doors closed', {'floors': 10, 'floor': 4, 'doors_open': False, 'load_kg': 80, 'presses': [4, 6]}, {'calls': [4, 6], 'log': ['registered', 'registered']}), ('sampled regression 1', {'floors': 12, 'floor': 6, 'doors_open': True, 'load_kg': 19, 'presses': [7, 7, -1, 8, 7]}, {'calls': [8], 'log': ['registered', 'kept', 'invalid', 'registered', 'cancelled']}), ('control 4', {'floors': 7, 'floor': 6, 'doors_open': False, 'load_kg': 19, 'presses': [0, 6, 6, 6, 4, 6]}, {'calls': [0, 4], 'log': ['registered', 'registered', 'cancelled', 'registered', 'registered', 'cancelled']}), ('control 7', {'floors': 7, 'floor': 1, 'doors_open': False, 'load_kg': 19, 'presses': [2, 0, 2, 5, 4, 6]}, {'calls': [0, 4, 5, 6], 'log': ['registered', 'registered', 'cancelled', 'registered', 'registered', 'registered']})], [('regression: basement button that does not exist', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [-1, 3]}, {'calls': [3], 'log': ['invalid', 'registered']}), ('boundary: button one above the top', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [10, 9]}, {'calls': [9], 'log': ['invalid', 'registered']}), ('sampled regression 20', {'floors': 8, 'floor': 1, 'doors_open': False, 'load_kg': 300, 'presses': [-1, 7, 4, 8, 7, 6]}, {'calls': [4, 6], 'log': ['invalid', 'registered', 'registered', 'invalid', 'cancelled', 'registered']}), ('sampled regression 23', {'floors': 14, 'floor': 2, 'doors_open': False, 'load_kg': 15, 'presses': [2, 14, 1, 0, -1, 14, 5, 13]}, {'calls': [0, 1, 2, 5, 13], 'log': ['registered', 'invalid', 'registered', 'registered', 'invalid', 'invalid', 'registered', 'registered']}), ('boundary: double press cancels', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [3, 5, 3]}, {'calls': [5], 'log': ['registered', 'registered', 'cancelled']}), ('control 12', {'floors': 13, 'floor': 5, 'doors_open': True, 'load_kg': 21, 'presses': [2, 3, 11]}, {'calls': [2, 3, 11], 'log': ['registered', 'registered', 'registered']}), ('control 15', {'floors': 12, 'floor': 10, 'doors_open': False, 'load_kg': 21, 'presses': [10, 4, 1, 4, 5, 6]}, {'calls': [1, 5, 6, 10], 'log': ['registered', 'registered', 'registered', 'cancelled', 'registered', 'registered']}), ('sampled regression 18', {'floors': 9, 'floor': 4, 'doors_open': True, 'load_kg': 19, 'presses': [3, 0, 5, 2, 7, 7, -1, 0]}, {'calls': [2, 3, 5], 'log': ['registered', 'registered', 'registered', 'registered', 'registered', 'cancelled', 'invalid', 'cancelled']})], [('regression: basement button that does not exist', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [-1, 3]}, {'calls': [3], 'log': ['invalid', 'registered']}), ('boundary: button one above the top', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [10, 9]}, {'calls': [9], 'log': ['invalid', 'registered']}), ('sampled regression 40', {'floors': 13, 'floor': 0, 'doors_open': True, 'load_kg': 15, 'presses': [0, -1, 8, 3]}, {'calls': [3, 8], 'log': ['reopen', 'invalid', 'registered', 'registered']}), ('control 32', {'floors': 12, 'floor': 10, 'doors_open': False, 'load_kg': 300, 'presses': [8, 7, 2, 11, 12]}, {'calls': [2, 7, 8, 11], 'log': ['registered', 'registered', 'registered', 'registered', 'invalid']}), ('boundary: double press cancels', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [3, 5, 3]}, {'calls': [5], 'log': ['registered', 'registered', 'cancelled']}), ('sampled regression 23', {'floors': 14, 'floor': 2, 'doors_open': False, 'load_kg': 15, 'presses': [2, 14, 1, 0, -1, 14, 5, 13]}, {'calls': [0, 1, 2, 5, 13], 'log': ['registered', 'invalid', 'registered', 'registered', 'invalid', 'invalid', 'registered', 'registered']}), ('control 26', {'floors': 10, 'floor': 9, 'doors_open': True, 'load_kg': 15, 'presses': [2, 4, 5, 9, 6, 1, 7, 9]}, {'calls': [1, 2, 4, 5, 6], 'log': ['registered', 'registered', 'registered', 'reopen', 'registered', 'registered', 'nuisance', 'reopen']}), ('control 29', {'floors': 10, 'floor': 8, 'doors_open': False, 'load_kg': 20, 'presses': [10, 0, 1]}, {'calls': [0, 1], 'log': ['invalid', 'registered', 'registered']})], [('regression: basement button that does not exist', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [-1, 3]}, {'calls': [3], 'log': ['invalid', 'registered']}), ('boundary: button one above the top', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [10, 9]}, {'calls': [9], 'log': ['invalid', 'registered']}), ('sampled regression 68', {'floors': 10, 'floor': 0, 'doors_open': True, 'load_kg': 300, 'presses': [0, 0, -1, 10, 3]}, {'calls': [3], 'log': ['reopen', 'reopen', 'invalid', 'invalid', 'registered']}), ('control 48', {'floors': 10, 'floor': 2, 'doors_open': False, 'load_kg': 0, 'presses': [6, 10, 7, 2, 7, 4, 9]}, {'calls': [2, 4, 6, 9], 'log': ['registered', 'invalid', 'registered', 'registered', 'cancelled', 'registered', 'registered']}), ('boundary: cancel an earlier call', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [3, 5, 7, 5]}, {'calls': [3, 7], 'log': ['registered', 'registered', 'registered', 'cancelled']}), ('control 34', {'floors': 11, 'floor': 9, 'doors_open': False, 'load_kg': 0, 'presses': [10, 0, 5, 6, 0, 5, 9, 10, 9]}, {'calls': [6], 'log': ['registered', 'registered', 'registered', 'registered', 'cancelled', 'cancelled', 'registered', 'cancelled', 'cancelled']}), ('sampled regression 37', {'floors': 10, 'floor': 7, 'doors_open': True, 'load_kg': 80, 'presses': [10, 0, -1, -1, 5]}, {'calls': [0, 5], 'log': ['invalid', 'registered', 'invalid', 'invalid', 'registered']}), ('sampled regression 40', {'floors': 13, 'floor': 0, 'doors_open': True, 'load_kg': 15, 'presses': [0, -1, 8, 3]}, {'calls': [3, 8], 'log': ['reopen', 'invalid', 'registered', 'registered']})], [('regression: basement button that does not exist', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [-1, 3]}, {'calls': [3], 'log': ['invalid', 'registered']}), ('boundary: button one above the top', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [10, 9]}, {'calls': [9], 'log': ['invalid', 'registered']}), ('sampled regression 1', {'floors': 12, 'floor': 6, 'doors_open': True, 'load_kg': 19, 'presses': [7, 7, -1, 8, 7]}, {'calls': [8], 'log': ['registered', 'kept', 'invalid', 'registered', 'cancelled']}), ('sampled regression 75', {'floors': 12, 'floor': 8, 'doors_open': False, 'load_kg': 300, 'presses': [8, 9, 1, 1, 12, -1, 4, 0, 10]}, {'calls': [0, 4, 8, 9, 10], 'log': ['registered', 'registered', 'registered', 'cancelled', 'invalid', 'invalid', 'registered', 'registered', 'registered']}), ('boundary: exactly twenty kilograms', {'floors': 12, 'floor': 0, 'doors_open': False, 'load_kg': 20, 'presses': [1, 2, 3, 4, 5, 6]}, {'calls': [1, 2, 3, 4, 5, 6], 'log': ['registered', 'registered', 'registered', 'registered', 'registered', 'registered']}), ('control 45', {'floors': 10, 'floor': 6, 'doors_open': False, 'load_kg': 20, 'presses': [10, 9, 0, 0, 5, 7, 2, 3, 3]}, {'calls': [2, 5, 7, 9], 'log': ['invalid', 'registered', 'registered', 'cancelled', 'registered', 'registered', 'registered', 'registered', 'cancelled']}), ('control 48', {'floors': 10, 'floor': 2, 'doors_open': False, 'load_kg': 0, 'presses': [6, 10, 7, 2, 7, 4, 9]}, {'calls': [2, 4, 6, 9], 'log': ['registered', 'invalid', 'registered', 'registered', 'cancelled', 'registered', 'registered']}), ('control 51', {'floors': 15, 'floor': 9, 'doors_open': True, 'load_kg': 21, 'presses': [13, 6, 9, 10, 9]}, {'calls': [6, 10, 13], 'log': ['registered', 'registered', 'reopen', 'registered', 'reopen']})]]
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: basement button that does not exist{'calls': [-1, 3], 'log': ['registered', 'registered']}{'calls': [3], 'log': ['invalid', 'registered']}Failed
boundary: button one above the top{'calls': [9], 'log': ['invalid', 'registered']}{'calls': [9], 'log': ['invalid', 'registered']}Passed
sampled regression 3{'calls': [-1, 0], 'log': ['registered', 'registered', 'cancelled', 'kept', 'reopen', 'reopen', 'registered']}{'calls': [0], 'log': ['registered', 'registered', 'cancelled', 'kept', 'reopen', 'reopen', 'invalid']}Failed
sampled regression 9{'calls': [-1, 0, 3], 'log': ['invalid', 'registered', 'registered', 'registered']}{'calls': [0, 3], 'log': ['invalid', 'registered', 'invalid', 'registered']}Failed
boundary: own floor with doors closed{'calls': [4, 6], 'log': ['registered', 'registered']}{'calls': [4, 6], 'log': ['registered', 'registered']}Passed
sampled regression 1{'calls': [-1, 8], 'log': ['registered', 'kept', 'registered', 'registered', 'cancelled']}{'calls': [8], 'log': ['registered', 'kept', 'invalid', 'registered', 'cancelled']}Failed
control 4{'calls': [0, 4], 'log': ['registered', 'registered', 'cancelled', 'registered', 'registered', 'cancelled']}{'calls': [0, 4], 'log': ['registered', 'registered', 'cancelled', 'registered', 'registered', 'cancelled']}Passed
control 7{'calls': [0, 4, 5, 6], 'log': ['registered', 'registered', 'cancelled', 'registered', 'registered', 'registered']}{'calls': [0, 4, 5, 6], 'log': ['registered', 'registered', 'cancelled', 'registered', 'registered', 'registered']}Passed

SHA-256 / 016a594917cad3ca7f8b02ac87bd9ff84c39dde996a6b7bce90fdd616d3fe97c

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(x):
    calls = []
    log = []
    for f in x['presses']:
        if f == x['floor'] and x['doors_open']:
            log.append('reopen')
        elif f < 0 or f > x['floors']:
            log.append('invalid')
        elif f in calls:
            if len(calls) > 1:
                calls.remove(f)
                log.append('cancelled')
            else:
                log.append('kept')
        elif x['load_kg'] < 20 and len(calls) >= 5:
            log.append('nuisance')
        else:
            calls.append(f)
            log.append('registered')
    return {'calls': sorted(calls), 'log': log}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: basement button that does not exist', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [-1, 3]}, {'calls': [3], 'log': ['invalid', 'registered']}), ('boundary: button one above the top', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [10, 9]}, {'calls': [9], 'log': ['invalid', 'registered']}), ('sampled regression 3', {'floors': 7, 'floor': 3, 'doors_open': True, 'load_kg': 20, 'presses': [0, 5, 5, 0, 3, 3, -1]}, {'calls': [0], 'log': ['registered', 'registered', 'cancelled', 'kept', 'reopen', 'reopen', 'invalid']}), ('sampled regression 9', {'floors': 10, 'floor': 9, 'doors_open': False, 'load_kg': 0, 'presses': [10, 3, -1, 0]}, {'calls': [0, 3], 'log': ['invalid', 'registered', 'invalid', 'registered']}), ('boundary: own floor with doors closed', {'floors': 10, 'floor': 4, 'doors_open': False, 'load_kg': 80, 'presses': [4, 6]}, {'calls': [4, 6], 'log': ['registered', 'registered']}), ('sampled regression 1', {'floors': 12, 'floor': 6, 'doors_open': True, 'load_kg': 19, 'presses': [7, 7, -1, 8, 7]}, {'calls': [8], 'log': ['registered', 'kept', 'invalid', 'registered', 'cancelled']}), ('control 4', {'floors': 7, 'floor': 6, 'doors_open': False, 'load_kg': 19, 'presses': [0, 6, 6, 6, 4, 6]}, {'calls': [0, 4], 'log': ['registered', 'registered', 'cancelled', 'registered', 'registered', 'cancelled']}), ('control 7', {'floors': 7, 'floor': 1, 'doors_open': False, 'load_kg': 19, 'presses': [2, 0, 2, 5, 4, 6]}, {'calls': [0, 4, 5, 6], 'log': ['registered', 'registered', 'cancelled', 'registered', 'registered', 'registered']})], [('regression: basement button that does not exist', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [-1, 3]}, {'calls': [3], 'log': ['invalid', 'registered']}), ('boundary: button one above the top', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [10, 9]}, {'calls': [9], 'log': ['invalid', 'registered']}), ('sampled regression 20', {'floors': 8, 'floor': 1, 'doors_open': False, 'load_kg': 300, 'presses': [-1, 7, 4, 8, 7, 6]}, {'calls': [4, 6], 'log': ['invalid', 'registered', 'registered', 'invalid', 'cancelled', 'registered']}), ('sampled regression 23', {'floors': 14, 'floor': 2, 'doors_open': False, 'load_kg': 15, 'presses': [2, 14, 1, 0, -1, 14, 5, 13]}, {'calls': [0, 1, 2, 5, 13], 'log': ['registered', 'invalid', 'registered', 'registered', 'invalid', 'invalid', 'registered', 'registered']}), ('boundary: double press cancels', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [3, 5, 3]}, {'calls': [5], 'log': ['registered', 'registered', 'cancelled']}), ('control 12', {'floors': 13, 'floor': 5, 'doors_open': True, 'load_kg': 21, 'presses': [2, 3, 11]}, {'calls': [2, 3, 11], 'log': ['registered', 'registered', 'registered']}), ('control 15', {'floors': 12, 'floor': 10, 'doors_open': False, 'load_kg': 21, 'presses': [10, 4, 1, 4, 5, 6]}, {'calls': [1, 5, 6, 10], 'log': ['registered', 'registered', 'registered', 'cancelled', 'registered', 'registered']}), ('sampled regression 18', {'floors': 9, 'floor': 4, 'doors_open': True, 'load_kg': 19, 'presses': [3, 0, 5, 2, 7, 7, -1, 0]}, {'calls': [2, 3, 5], 'log': ['registered', 'registered', 'registered', 'registered', 'registered', 'cancelled', 'invalid', 'cancelled']})], [('regression: basement button that does not exist', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [-1, 3]}, {'calls': [3], 'log': ['invalid', 'registered']}), ('boundary: button one above the top', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [10, 9]}, {'calls': [9], 'log': ['invalid', 'registered']}), ('sampled regression 40', {'floors': 13, 'floor': 0, 'doors_open': True, 'load_kg': 15, 'presses': [0, -1, 8, 3]}, {'calls': [3, 8], 'log': ['reopen', 'invalid', 'registered', 'registered']}), ('control 32', {'floors': 12, 'floor': 10, 'doors_open': False, 'load_kg': 300, 'presses': [8, 7, 2, 11, 12]}, {'calls': [2, 7, 8, 11], 'log': ['registered', 'registered', 'registered', 'registered', 'invalid']}), ('boundary: double press cancels', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [3, 5, 3]}, {'calls': [5], 'log': ['registered', 'registered', 'cancelled']}), ('sampled regression 23', {'floors': 14, 'floor': 2, 'doors_open': False, 'load_kg': 15, 'presses': [2, 14, 1, 0, -1, 14, 5, 13]}, {'calls': [0, 1, 2, 5, 13], 'log': ['registered', 'invalid', 'registered', 'registered', 'invalid', 'invalid', 'registered', 'registered']}), ('control 26', {'floors': 10, 'floor': 9, 'doors_open': True, 'load_kg': 15, 'presses': [2, 4, 5, 9, 6, 1, 7, 9]}, {'calls': [1, 2, 4, 5, 6], 'log': ['registered', 'registered', 'registered', 'reopen', 'registered', 'registered', 'nuisance', 'reopen']}), ('control 29', {'floors': 10, 'floor': 8, 'doors_open': False, 'load_kg': 20, 'presses': [10, 0, 1]}, {'calls': [0, 1], 'log': ['invalid', 'registered', 'registered']})], [('regression: basement button that does not exist', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [-1, 3]}, {'calls': [3], 'log': ['invalid', 'registered']}), ('boundary: button one above the top', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [10, 9]}, {'calls': [9], 'log': ['invalid', 'registered']}), ('sampled regression 68', {'floors': 10, 'floor': 0, 'doors_open': True, 'load_kg': 300, 'presses': [0, 0, -1, 10, 3]}, {'calls': [3], 'log': ['reopen', 'reopen', 'invalid', 'invalid', 'registered']}), ('control 48', {'floors': 10, 'floor': 2, 'doors_open': False, 'load_kg': 0, 'presses': [6, 10, 7, 2, 7, 4, 9]}, {'calls': [2, 4, 6, 9], 'log': ['registered', 'invalid', 'registered', 'registered', 'cancelled', 'registered', 'registered']}), ('boundary: cancel an earlier call', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [3, 5, 7, 5]}, {'calls': [3, 7], 'log': ['registered', 'registered', 'registered', 'cancelled']}), ('control 34', {'floors': 11, 'floor': 9, 'doors_open': False, 'load_kg': 0, 'presses': [10, 0, 5, 6, 0, 5, 9, 10, 9]}, {'calls': [6], 'log': ['registered', 'registered', 'registered', 'registered', 'cancelled', 'cancelled', 'registered', 'cancelled', 'cancelled']}), ('sampled regression 37', {'floors': 10, 'floor': 7, 'doors_open': True, 'load_kg': 80, 'presses': [10, 0, -1, -1, 5]}, {'calls': [0, 5], 'log': ['invalid', 'registered', 'invalid', 'invalid', 'registered']}), ('sampled regression 40', {'floors': 13, 'floor': 0, 'doors_open': True, 'load_kg': 15, 'presses': [0, -1, 8, 3]}, {'calls': [3, 8], 'log': ['reopen', 'invalid', 'registered', 'registered']})], [('regression: basement button that does not exist', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [-1, 3]}, {'calls': [3], 'log': ['invalid', 'registered']}), ('boundary: button one above the top', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [10, 9]}, {'calls': [9], 'log': ['invalid', 'registered']}), ('sampled regression 1', {'floors': 12, 'floor': 6, 'doors_open': True, 'load_kg': 19, 'presses': [7, 7, -1, 8, 7]}, {'calls': [8], 'log': ['registered', 'kept', 'invalid', 'registered', 'cancelled']}), ('sampled regression 75', {'floors': 12, 'floor': 8, 'doors_open': False, 'load_kg': 300, 'presses': [8, 9, 1, 1, 12, -1, 4, 0, 10]}, {'calls': [0, 4, 8, 9, 10], 'log': ['registered', 'registered', 'registered', 'cancelled', 'invalid', 'invalid', 'registered', 'registered', 'registered']}), ('boundary: exactly twenty kilograms', {'floors': 12, 'floor': 0, 'doors_open': False, 'load_kg': 20, 'presses': [1, 2, 3, 4, 5, 6]}, {'calls': [1, 2, 3, 4, 5, 6], 'log': ['registered', 'registered', 'registered', 'registered', 'registered', 'registered']}), ('control 45', {'floors': 10, 'floor': 6, 'doors_open': False, 'load_kg': 20, 'presses': [10, 9, 0, 0, 5, 7, 2, 3, 3]}, {'calls': [2, 5, 7, 9], 'log': ['invalid', 'registered', 'registered', 'cancelled', 'registered', 'registered', 'registered', 'registered', 'cancelled']}), ('control 48', {'floors': 10, 'floor': 2, 'doors_open': False, 'load_kg': 0, 'presses': [6, 10, 7, 2, 7, 4, 9]}, {'calls': [2, 4, 6, 9], 'log': ['registered', 'invalid', 'registered', 'registered', 'cancelled', 'registered', 'registered']}), ('control 51', {'floors': 15, 'floor': 9, 'doors_open': True, 'load_kg': 21, 'presses': [13, 6, 9, 10, 9]}, {'calls': [6, 10, 13], 'log': ['registered', 'registered', 'reopen', 'registered', 'reopen']})]]
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: basement button that does not exist{'calls': [3], 'log': ['invalid', 'registered']}{'calls': [3], 'log': ['invalid', 'registered']}Passed
boundary: button one above the top{'calls': [9, 10], 'log': ['registered', 'registered']}{'calls': [9], 'log': ['invalid', 'registered']}Failed
sampled regression 3{'calls': [0], 'log': ['registered', 'registered', 'cancelled', 'kept', 'reopen', 'reopen', 'invalid']}{'calls': [0], 'log': ['registered', 'registered', 'cancelled', 'kept', 'reopen', 'reopen', 'invalid']}Passed
sampled regression 9{'calls': [0, 3, 10], 'log': ['registered', 'registered', 'invalid', 'registered']}{'calls': [0, 3], 'log': ['invalid', 'registered', 'invalid', 'registered']}Failed
boundary: own floor with doors closed{'calls': [4, 6], 'log': ['registered', 'registered']}{'calls': [4, 6], 'log': ['registered', 'registered']}Passed
sampled regression 1{'calls': [8], 'log': ['registered', 'kept', 'invalid', 'registered', 'cancelled']}{'calls': [8], 'log': ['registered', 'kept', 'invalid', 'registered', 'cancelled']}Passed
control 4{'calls': [0, 4], 'log': ['registered', 'registered', 'cancelled', 'registered', 'registered', 'cancelled']}{'calls': [0, 4], 'log': ['registered', 'registered', 'cancelled', 'registered', 'registered', 'cancelled']}Passed
control 7{'calls': [0, 4, 5, 6], 'log': ['registered', 'registered', 'cancelled', 'registered', 'registered', 'registered']}{'calls': [0, 4, 5, 6], 'log': ['registered', 'registered', 'cancelled', 'registered', 'registered', 'registered']}Passed

SHA-256 / 24c2c0a82fa202f15497fcc869a9d3bc62a44d3c3a8ee8355095fa6ab9290b09

3 / The verified repair

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

N = 1
observations = []
def solve(x):
    calls = []
    log = []
    for f in x['presses']:
        if f == x['floor'] and x['doors_open']:
            log.append('reopen')
        elif f < 0 or f >= x['floors']:
            log.append('invalid')
        elif f in calls:
            if len(calls) > 1:
                calls.remove(f)
                log.append('cancelled')
            else:
                log.append('kept')
        elif x['load_kg'] < 20 and len(calls) >= 5:
            log.append('nuisance')
        else:
            calls.append(f)
            log.append('registered')
    return {'calls': sorted(calls), 'log': log}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: basement button that does not exist', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [-1, 3]}, {'calls': [3], 'log': ['invalid', 'registered']}), ('boundary: button one above the top', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [10, 9]}, {'calls': [9], 'log': ['invalid', 'registered']}), ('sampled regression 3', {'floors': 7, 'floor': 3, 'doors_open': True, 'load_kg': 20, 'presses': [0, 5, 5, 0, 3, 3, -1]}, {'calls': [0], 'log': ['registered', 'registered', 'cancelled', 'kept', 'reopen', 'reopen', 'invalid']}), ('sampled regression 9', {'floors': 10, 'floor': 9, 'doors_open': False, 'load_kg': 0, 'presses': [10, 3, -1, 0]}, {'calls': [0, 3], 'log': ['invalid', 'registered', 'invalid', 'registered']}), ('boundary: own floor with doors closed', {'floors': 10, 'floor': 4, 'doors_open': False, 'load_kg': 80, 'presses': [4, 6]}, {'calls': [4, 6], 'log': ['registered', 'registered']}), ('sampled regression 1', {'floors': 12, 'floor': 6, 'doors_open': True, 'load_kg': 19, 'presses': [7, 7, -1, 8, 7]}, {'calls': [8], 'log': ['registered', 'kept', 'invalid', 'registered', 'cancelled']}), ('control 4', {'floors': 7, 'floor': 6, 'doors_open': False, 'load_kg': 19, 'presses': [0, 6, 6, 6, 4, 6]}, {'calls': [0, 4], 'log': ['registered', 'registered', 'cancelled', 'registered', 'registered', 'cancelled']}), ('control 7', {'floors': 7, 'floor': 1, 'doors_open': False, 'load_kg': 19, 'presses': [2, 0, 2, 5, 4, 6]}, {'calls': [0, 4, 5, 6], 'log': ['registered', 'registered', 'cancelled', 'registered', 'registered', 'registered']})], [('regression: basement button that does not exist', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [-1, 3]}, {'calls': [3], 'log': ['invalid', 'registered']}), ('boundary: button one above the top', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [10, 9]}, {'calls': [9], 'log': ['invalid', 'registered']}), ('sampled regression 20', {'floors': 8, 'floor': 1, 'doors_open': False, 'load_kg': 300, 'presses': [-1, 7, 4, 8, 7, 6]}, {'calls': [4, 6], 'log': ['invalid', 'registered', 'registered', 'invalid', 'cancelled', 'registered']}), ('sampled regression 23', {'floors': 14, 'floor': 2, 'doors_open': False, 'load_kg': 15, 'presses': [2, 14, 1, 0, -1, 14, 5, 13]}, {'calls': [0, 1, 2, 5, 13], 'log': ['registered', 'invalid', 'registered', 'registered', 'invalid', 'invalid', 'registered', 'registered']}), ('boundary: double press cancels', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [3, 5, 3]}, {'calls': [5], 'log': ['registered', 'registered', 'cancelled']}), ('control 12', {'floors': 13, 'floor': 5, 'doors_open': True, 'load_kg': 21, 'presses': [2, 3, 11]}, {'calls': [2, 3, 11], 'log': ['registered', 'registered', 'registered']}), ('control 15', {'floors': 12, 'floor': 10, 'doors_open': False, 'load_kg': 21, 'presses': [10, 4, 1, 4, 5, 6]}, {'calls': [1, 5, 6, 10], 'log': ['registered', 'registered', 'registered', 'cancelled', 'registered', 'registered']}), ('sampled regression 18', {'floors': 9, 'floor': 4, 'doors_open': True, 'load_kg': 19, 'presses': [3, 0, 5, 2, 7, 7, -1, 0]}, {'calls': [2, 3, 5], 'log': ['registered', 'registered', 'registered', 'registered', 'registered', 'cancelled', 'invalid', 'cancelled']})], [('regression: basement button that does not exist', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [-1, 3]}, {'calls': [3], 'log': ['invalid', 'registered']}), ('boundary: button one above the top', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [10, 9]}, {'calls': [9], 'log': ['invalid', 'registered']}), ('sampled regression 40', {'floors': 13, 'floor': 0, 'doors_open': True, 'load_kg': 15, 'presses': [0, -1, 8, 3]}, {'calls': [3, 8], 'log': ['reopen', 'invalid', 'registered', 'registered']}), ('control 32', {'floors': 12, 'floor': 10, 'doors_open': False, 'load_kg': 300, 'presses': [8, 7, 2, 11, 12]}, {'calls': [2, 7, 8, 11], 'log': ['registered', 'registered', 'registered', 'registered', 'invalid']}), ('boundary: double press cancels', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [3, 5, 3]}, {'calls': [5], 'log': ['registered', 'registered', 'cancelled']}), ('sampled regression 23', {'floors': 14, 'floor': 2, 'doors_open': False, 'load_kg': 15, 'presses': [2, 14, 1, 0, -1, 14, 5, 13]}, {'calls': [0, 1, 2, 5, 13], 'log': ['registered', 'invalid', 'registered', 'registered', 'invalid', 'invalid', 'registered', 'registered']}), ('control 26', {'floors': 10, 'floor': 9, 'doors_open': True, 'load_kg': 15, 'presses': [2, 4, 5, 9, 6, 1, 7, 9]}, {'calls': [1, 2, 4, 5, 6], 'log': ['registered', 'registered', 'registered', 'reopen', 'registered', 'registered', 'nuisance', 'reopen']}), ('control 29', {'floors': 10, 'floor': 8, 'doors_open': False, 'load_kg': 20, 'presses': [10, 0, 1]}, {'calls': [0, 1], 'log': ['invalid', 'registered', 'registered']})], [('regression: basement button that does not exist', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [-1, 3]}, {'calls': [3], 'log': ['invalid', 'registered']}), ('boundary: button one above the top', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [10, 9]}, {'calls': [9], 'log': ['invalid', 'registered']}), ('sampled regression 68', {'floors': 10, 'floor': 0, 'doors_open': True, 'load_kg': 300, 'presses': [0, 0, -1, 10, 3]}, {'calls': [3], 'log': ['reopen', 'reopen', 'invalid', 'invalid', 'registered']}), ('control 48', {'floors': 10, 'floor': 2, 'doors_open': False, 'load_kg': 0, 'presses': [6, 10, 7, 2, 7, 4, 9]}, {'calls': [2, 4, 6, 9], 'log': ['registered', 'invalid', 'registered', 'registered', 'cancelled', 'registered', 'registered']}), ('boundary: cancel an earlier call', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [3, 5, 7, 5]}, {'calls': [3, 7], 'log': ['registered', 'registered', 'registered', 'cancelled']}), ('control 34', {'floors': 11, 'floor': 9, 'doors_open': False, 'load_kg': 0, 'presses': [10, 0, 5, 6, 0, 5, 9, 10, 9]}, {'calls': [6], 'log': ['registered', 'registered', 'registered', 'registered', 'cancelled', 'cancelled', 'registered', 'cancelled', 'cancelled']}), ('sampled regression 37', {'floors': 10, 'floor': 7, 'doors_open': True, 'load_kg': 80, 'presses': [10, 0, -1, -1, 5]}, {'calls': [0, 5], 'log': ['invalid', 'registered', 'invalid', 'invalid', 'registered']}), ('sampled regression 40', {'floors': 13, 'floor': 0, 'doors_open': True, 'load_kg': 15, 'presses': [0, -1, 8, 3]}, {'calls': [3, 8], 'log': ['reopen', 'invalid', 'registered', 'registered']})], [('regression: basement button that does not exist', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [-1, 3]}, {'calls': [3], 'log': ['invalid', 'registered']}), ('boundary: button one above the top', {'floors': 10, 'floor': 0, 'doors_open': False, 'load_kg': 80, 'presses': [10, 9]}, {'calls': [9], 'log': ['invalid', 'registered']}), ('sampled regression 1', {'floors': 12, 'floor': 6, 'doors_open': True, 'load_kg': 19, 'presses': [7, 7, -1, 8, 7]}, {'calls': [8], 'log': ['registered', 'kept', 'invalid', 'registered', 'cancelled']}), ('sampled regression 75', {'floors': 12, 'floor': 8, 'doors_open': False, 'load_kg': 300, 'presses': [8, 9, 1, 1, 12, -1, 4, 0, 10]}, {'calls': [0, 4, 8, 9, 10], 'log': ['registered', 'registered', 'registered', 'cancelled', 'invalid', 'invalid', 'registered', 'registered', 'registered']}), ('boundary: exactly twenty kilograms', {'floors': 12, 'floor': 0, 'doors_open': False, 'load_kg': 20, 'presses': [1, 2, 3, 4, 5, 6]}, {'calls': [1, 2, 3, 4, 5, 6], 'log': ['registered', 'registered', 'registered', 'registered', 'registered', 'registered']}), ('control 45', {'floors': 10, 'floor': 6, 'doors_open': False, 'load_kg': 20, 'presses': [10, 9, 0, 0, 5, 7, 2, 3, 3]}, {'calls': [2, 5, 7, 9], 'log': ['invalid', 'registered', 'registered', 'cancelled', 'registered', 'registered', 'registered', 'registered', 'cancelled']}), ('control 48', {'floors': 10, 'floor': 2, 'doors_open': False, 'load_kg': 0, 'presses': [6, 10, 7, 2, 7, 4, 9]}, {'calls': [2, 4, 6, 9], 'log': ['registered', 'invalid', 'registered', 'registered', 'cancelled', 'registered', 'registered']}), ('control 51', {'floors': 15, 'floor': 9, 'doors_open': True, 'load_kg': 21, 'presses': [13, 6, 9, 10, 9]}, {'calls': [6, 10, 13], 'log': ['registered', 'registered', 'reopen', 'registered', 'reopen']})]]
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: basement button that does not exist{'calls': [3], 'log': ['invalid', 'registered']}{'calls': [3], 'log': ['invalid', 'registered']}Passed
boundary: button one above the top{'calls': [9], 'log': ['invalid', 'registered']}{'calls': [9], 'log': ['invalid', 'registered']}Passed
sampled regression 3{'calls': [0], 'log': ['registered', 'registered', 'cancelled', 'kept', 'reopen', 'reopen', 'invalid']}{'calls': [0], 'log': ['registered', 'registered', 'cancelled', 'kept', 'reopen', 'reopen', 'invalid']}Passed
sampled regression 9{'calls': [0, 3], 'log': ['invalid', 'registered', 'invalid', 'registered']}{'calls': [0, 3], 'log': ['invalid', 'registered', 'invalid', 'registered']}Passed
boundary: own floor with doors closed{'calls': [4, 6], 'log': ['registered', 'registered']}{'calls': [4, 6], 'log': ['registered', 'registered']}Passed
sampled regression 1{'calls': [8], 'log': ['registered', 'kept', 'invalid', 'registered', 'cancelled']}{'calls': [8], 'log': ['registered', 'kept', 'invalid', 'registered', 'cancelled']}Passed
control 4{'calls': [0, 4], 'log': ['registered', 'registered', 'cancelled', 'registered', 'registered', 'cancelled']}{'calls': [0, 4], 'log': ['registered', 'registered', 'cancelled', 'registered', 'registered', 'cancelled']}Passed
control 7{'calls': [0, 4, 5, 6], 'log': ['registered', 'registered', 'cancelled', 'registered', 'registered', 'registered']}{'calls': [0, 4, 5, 6], 'log': ['registered', 'registered', 'cancelled', 'registered', 'registered', 'registered']}Passed

SHA-256 / 8c66f15c58bd727d76c09cd88b7f4cd884cc4a3f2b77de13407ce986bf4688c2

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

Case digest / 2d758b6d3f8e7ee883e1dfd0a1c30329743855722baabafe5377eed255c33c36