FA-67586 / Elevator dispatch scheduling / Open access
Zoned express car call acceptance: zone upper bound · case 01
The top floor of the zone is refused.
ROOT CAUSE
The zone range excludes its upper bound.
VERIFIED REPAIR
Serve the zone inclusively from lo to hi.
Unsuccessful approach: Shifting the range drops the lowest zone floor instead.
Case contract
A zoned express car serves the lobby (0), the inclusive zone [lo, hi] and its sky lobbies, all within 0..floors-1. Each requested floor is accepted ([True, f]) or rejected with the nearest served floor as a suggestion, ties to the higher floor ([False, suggestion]).
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):
lo, hi = x['zone']
served = {0} | set(range(lo, hi)) | set(x['sky_lobbies'])
cand = sorted(s for s in served if 0 <= s < x['floors'])
res = []
for f in x['requests']:
if f in cand:
res.append([True, f])
else:
best = min(cand, key=lambda s: (abs(s - f), -s))
res.append([False, best])
return res
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: top of the zone', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [19, 20]}, [[True, 19], [False, 19]]), ('boundary: bottom of the zone', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [10, 9]}, [[True, 10], [False, 10]]), ('sampled regression 6', {'floors': 40, 'zone': [20, 25], 'sky_lobbies': [], 'requests': [23, 24, 8, 10, 36, 7]}, [[True, 23], [True, 24], [False, 0], [False, 20], [False, 25], [False, 0]]), ('boundary: midway between lobby and zone', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [5]}, [[False, 10]]), ('boundary: sky lobby transfer', {'floors': 40, 'zone': [20, 29], 'sky_lobbies': [9], 'requests': [9, 8]}, [[True, 9], [False, 9]]), ('control 1', {'floors': 40, 'zone': [10, 15], 'sky_lobbies': [9, 30], 'requests': [28, 30, 24]}, [[False, 30], [True, 30], [False, 30]]), ('sampled regression 4', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [39, 4]}, [[False, 19], [False, 0]]), ('sampled regression 7', {'floors': 40, 'zone': [10, 22], 'sky_lobbies': [], 'requests': [33, 3, 3, 19, 14]}, [[False, 22], [False, 0], [False, 0], [True, 19], [True, 14]])], [('regression: top of the zone', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [19, 20]}, [[True, 19], [False, 19]]), ('boundary: midway between lobby and zone', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [5]}, [[False, 10]]), ('sampled regression 17', {'floors': 40, 'zone': [15, 27], 'sky_lobbies': [5, 9], 'requests': [1, 25, 34, 21, 29, 10]}, [[False, 0], [True, 25], [False, 27], [True, 21], [False, 27], [False, 9]]), ('sampled regression 11', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [40, 10, 38, 22, -1, 37]}, [[False, 19], [True, 10], [False, 19], [False, 19], [False, 0], [False, 19]]), ('boundary: sky lobby transfer', {'floors': 40, 'zone': [20, 29], 'sky_lobbies': [9], 'requests': [9, 8]}, [[True, 9], [False, 9]]), ('sampled regression 12', {'floors': 40, 'zone': [15, 27], 'sky_lobbies': [5, 25], 'requests': [31, 15, 26, 21, 33]}, [[False, 27], [True, 15], [True, 26], [True, 21], [False, 27]]), ('sampled regression 15', {'floors': 40, 'zone': [15, 20], 'sky_lobbies': [30, 5], 'requests': [20, 16, 37, 2]}, [[True, 20], [True, 16], [False, 30], [False, 0]]), ('sampled regression 18', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [32, 19]}, [[False, 19], [True, 19]])], [('regression: top of the zone', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [19, 20]}, [[True, 19], [False, 19]]), ('boundary: bottom of the zone', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [10, 9]}, [[True, 10], [False, 10]]), ('sampled regression 32', {'floors': 40, 'zone': [15, 20], 'sky_lobbies': [30], 'requests': [2, 20, 28]}, [[False, 0], [True, 20], [False, 30]]), ('control 26', {'floors': 40, 'zone': [15, 24], 'sky_lobbies': [5, 25], 'requests': [22, 21, 11]}, [[True, 22], [True, 21], [False, 15]]), ('boundary: floor just below the sky lobby', {'floors': 40, 'zone': [20, 29], 'sky_lobbies': [15], 'requests': [14, 17]}, [[False, 15], [False, 15]]), ('control 23', {'floors': 40, 'zone': [15, 24], 'sky_lobbies': [25, 9], 'requests': [27, 0, 11, 21, 32, 14]}, [[False, 25], [True, 0], [False, 9], [True, 21], [False, 25], [False, 15]]), ('sampled regression 29', {'floors': 40, 'zone': [15, 27], 'sky_lobbies': [25, 5], 'requests': [2, 33, 31, 2, 7]}, [[False, 0], [False, 27], [False, 27], [False, 0], [False, 5]]), ('sampled regression 35', {'floors': 40, 'zone': [10, 15], 'sky_lobbies': [25, 5], 'requests': [0, 30, 8, 17, 9, 40]}, [[True, 0], [False, 25], [False, 10], [False, 15], [False, 10], [False, 25]])], [('regression: top of the zone', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [19, 20]}, [[True, 19], [False, 19]]), ('boundary: midway between lobby and zone', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [5]}, [[False, 10]]), ('sampled regression 40', {'floors': 40, 'zone': [15, 24], 'sky_lobbies': [], 'requests': [36, 23, 1, 39, 21, 26]}, [[False, 24], [True, 23], [False, 0], [False, 24], [True, 21], [False, 24]]), ('sampled regression 44', {'floors': 40, 'zone': [20, 32], 'sky_lobbies': [], 'requests': [40, 9, 17, 16, 9, 29]}, [[False, 32], [False, 0], [False, 20], [False, 20], [False, 0], [True, 29]]), ('boundary: bottom of the zone', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [10, 9]}, [[True, 10], [False, 10]]), ('sampled regression 34', {'floors': 40, 'zone': [15, 24], 'sky_lobbies': [9, 30], 'requests': [31, 3, 34, 24]}, [[False, 30], [False, 0], [False, 30], [True, 24]]), ('control 37', {'floors': 40, 'zone': [20, 29], 'sky_lobbies': [5, 30], 'requests': [39, 22, 18, 9, 40]}, [[False, 30], [True, 22], [False, 20], [False, 5], [False, 30]]), ('control 43', {'floors': 40, 'zone': [20, 29], 'sky_lobbies': [5, 9], 'requests': [24, 9]}, [[True, 24], [True, 9]])], [('regression: top of the zone', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [19, 20]}, [[True, 19], [False, 19]]), ('boundary: bottom of the zone', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [10, 9]}, [[True, 10], [False, 10]]), ('sampled regression 51', {'floors': 40, 'zone': [20, 32], 'sky_lobbies': [5], 'requests': [30, 40]}, [[True, 30], [False, 32]]), ('control 53', {'floors': 40, 'zone': [20, 25], 'sky_lobbies': [], 'requests': [6, 18, 14]}, [[False, 0], [False, 20], [False, 20]]), ('boundary: sky lobby transfer', {'floors': 40, 'zone': [20, 29], 'sky_lobbies': [9], 'requests': [9, 8]}, [[True, 9], [False, 9]]), ('sampled regression 45', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [11, 35, 34, 2, 19, 25]}, [[True, 11], [False, 19], [False, 19], [False, 0], [True, 19], [False, 19]]), ('sampled regression 48', {'floors': 40, 'zone': [20, 32], 'sky_lobbies': [25], 'requests': [26, 30, 33, 4, 17, 40]}, [[True, 26], [True, 30], [False, 32], [False, 0], [False, 20], [False, 32]]), ('control 54', {'floors': 40, 'zone': [15, 27], 'sky_lobbies': [], 'requests': [26, 23]}, [[True, 26], [True, 23]])]]
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 of the zone | [[False, 18], [False, 18]] | [[True, 19], [False, 19]] | Failed |
| boundary: bottom of the zone | [[True, 10], [False, 10]] | [[True, 10], [False, 10]] | Passed |
| sampled regression 6 | [[True, 23], [True, 24], [False, 0], [False, 20], [False, 24], [False, 0]] | [[True, 23], [True, 24], [False, 0], [False, 20], [False, 25], [False, 0]] | Failed |
| boundary: midway between lobby and zone | [[False, 10]] | [[False, 10]] | Passed |
| boundary: sky lobby transfer | [[True, 9], [False, 9]] | [[True, 9], [False, 9]] | Passed |
| control 1 | [[False, 30], [True, 30], [False, 30]] | [[False, 30], [True, 30], [False, 30]] | Passed |
| sampled regression 4 | [[False, 18], [False, 0]] | [[False, 19], [False, 0]] | Failed |
| sampled regression 7 | [[False, 21], [False, 0], [False, 0], [True, 19], [True, 14]] | [[False, 22], [False, 0], [False, 0], [True, 19], [True, 14]] | Failed |
SHA-256 / c81785f02b79131ce0d9665104edd361d6ddf01b659149b6a7d7005a47969d94
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
lo, hi = x['zone']
served = {0} | set(range(lo + 1, hi + 1)) | set(x['sky_lobbies'])
cand = sorted(s for s in served if 0 <= s < x['floors'])
res = []
for f in x['requests']:
if f in cand:
res.append([True, f])
else:
best = min(cand, key=lambda s: (abs(s - f), -s))
res.append([False, best])
return res
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: top of the zone', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [19, 20]}, [[True, 19], [False, 19]]), ('boundary: bottom of the zone', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [10, 9]}, [[True, 10], [False, 10]]), ('sampled regression 6', {'floors': 40, 'zone': [20, 25], 'sky_lobbies': [], 'requests': [23, 24, 8, 10, 36, 7]}, [[True, 23], [True, 24], [False, 0], [False, 20], [False, 25], [False, 0]]), ('boundary: midway between lobby and zone', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [5]}, [[False, 10]]), ('boundary: sky lobby transfer', {'floors': 40, 'zone': [20, 29], 'sky_lobbies': [9], 'requests': [9, 8]}, [[True, 9], [False, 9]]), ('control 1', {'floors': 40, 'zone': [10, 15], 'sky_lobbies': [9, 30], 'requests': [28, 30, 24]}, [[False, 30], [True, 30], [False, 30]]), ('sampled regression 4', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [39, 4]}, [[False, 19], [False, 0]]), ('sampled regression 7', {'floors': 40, 'zone': [10, 22], 'sky_lobbies': [], 'requests': [33, 3, 3, 19, 14]}, [[False, 22], [False, 0], [False, 0], [True, 19], [True, 14]])], [('regression: top of the zone', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [19, 20]}, [[True, 19], [False, 19]]), ('boundary: midway between lobby and zone', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [5]}, [[False, 10]]), ('sampled regression 17', {'floors': 40, 'zone': [15, 27], 'sky_lobbies': [5, 9], 'requests': [1, 25, 34, 21, 29, 10]}, [[False, 0], [True, 25], [False, 27], [True, 21], [False, 27], [False, 9]]), ('sampled regression 11', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [40, 10, 38, 22, -1, 37]}, [[False, 19], [True, 10], [False, 19], [False, 19], [False, 0], [False, 19]]), ('boundary: sky lobby transfer', {'floors': 40, 'zone': [20, 29], 'sky_lobbies': [9], 'requests': [9, 8]}, [[True, 9], [False, 9]]), ('sampled regression 12', {'floors': 40, 'zone': [15, 27], 'sky_lobbies': [5, 25], 'requests': [31, 15, 26, 21, 33]}, [[False, 27], [True, 15], [True, 26], [True, 21], [False, 27]]), ('sampled regression 15', {'floors': 40, 'zone': [15, 20], 'sky_lobbies': [30, 5], 'requests': [20, 16, 37, 2]}, [[True, 20], [True, 16], [False, 30], [False, 0]]), ('sampled regression 18', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [32, 19]}, [[False, 19], [True, 19]])], [('regression: top of the zone', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [19, 20]}, [[True, 19], [False, 19]]), ('boundary: bottom of the zone', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [10, 9]}, [[True, 10], [False, 10]]), ('sampled regression 32', {'floors': 40, 'zone': [15, 20], 'sky_lobbies': [30], 'requests': [2, 20, 28]}, [[False, 0], [True, 20], [False, 30]]), ('control 26', {'floors': 40, 'zone': [15, 24], 'sky_lobbies': [5, 25], 'requests': [22, 21, 11]}, [[True, 22], [True, 21], [False, 15]]), ('boundary: floor just below the sky lobby', {'floors': 40, 'zone': [20, 29], 'sky_lobbies': [15], 'requests': [14, 17]}, [[False, 15], [False, 15]]), ('control 23', {'floors': 40, 'zone': [15, 24], 'sky_lobbies': [25, 9], 'requests': [27, 0, 11, 21, 32, 14]}, [[False, 25], [True, 0], [False, 9], [True, 21], [False, 25], [False, 15]]), ('sampled regression 29', {'floors': 40, 'zone': [15, 27], 'sky_lobbies': [25, 5], 'requests': [2, 33, 31, 2, 7]}, [[False, 0], [False, 27], [False, 27], [False, 0], [False, 5]]), ('sampled regression 35', {'floors': 40, 'zone': [10, 15], 'sky_lobbies': [25, 5], 'requests': [0, 30, 8, 17, 9, 40]}, [[True, 0], [False, 25], [False, 10], [False, 15], [False, 10], [False, 25]])], [('regression: top of the zone', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [19, 20]}, [[True, 19], [False, 19]]), ('boundary: midway between lobby and zone', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [5]}, [[False, 10]]), ('sampled regression 40', {'floors': 40, 'zone': [15, 24], 'sky_lobbies': [], 'requests': [36, 23, 1, 39, 21, 26]}, [[False, 24], [True, 23], [False, 0], [False, 24], [True, 21], [False, 24]]), ('sampled regression 44', {'floors': 40, 'zone': [20, 32], 'sky_lobbies': [], 'requests': [40, 9, 17, 16, 9, 29]}, [[False, 32], [False, 0], [False, 20], [False, 20], [False, 0], [True, 29]]), ('boundary: bottom of the zone', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [10, 9]}, [[True, 10], [False, 10]]), ('sampled regression 34', {'floors': 40, 'zone': [15, 24], 'sky_lobbies': [9, 30], 'requests': [31, 3, 34, 24]}, [[False, 30], [False, 0], [False, 30], [True, 24]]), ('control 37', {'floors': 40, 'zone': [20, 29], 'sky_lobbies': [5, 30], 'requests': [39, 22, 18, 9, 40]}, [[False, 30], [True, 22], [False, 20], [False, 5], [False, 30]]), ('control 43', {'floors': 40, 'zone': [20, 29], 'sky_lobbies': [5, 9], 'requests': [24, 9]}, [[True, 24], [True, 9]])], [('regression: top of the zone', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [19, 20]}, [[True, 19], [False, 19]]), ('boundary: bottom of the zone', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [10, 9]}, [[True, 10], [False, 10]]), ('sampled regression 51', {'floors': 40, 'zone': [20, 32], 'sky_lobbies': [5], 'requests': [30, 40]}, [[True, 30], [False, 32]]), ('control 53', {'floors': 40, 'zone': [20, 25], 'sky_lobbies': [], 'requests': [6, 18, 14]}, [[False, 0], [False, 20], [False, 20]]), ('boundary: sky lobby transfer', {'floors': 40, 'zone': [20, 29], 'sky_lobbies': [9], 'requests': [9, 8]}, [[True, 9], [False, 9]]), ('sampled regression 45', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [11, 35, 34, 2, 19, 25]}, [[True, 11], [False, 19], [False, 19], [False, 0], [True, 19], [False, 19]]), ('sampled regression 48', {'floors': 40, 'zone': [20, 32], 'sky_lobbies': [25], 'requests': [26, 30, 33, 4, 17, 40]}, [[True, 26], [True, 30], [False, 32], [False, 0], [False, 20], [False, 32]]), ('control 54', {'floors': 40, 'zone': [15, 27], 'sky_lobbies': [], 'requests': [26, 23]}, [[True, 26], [True, 23]])]]
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 of the zone | [[True, 19], [False, 19]] | [[True, 19], [False, 19]] | Passed |
| boundary: bottom of the zone | [[False, 11], [False, 11]] | [[True, 10], [False, 10]] | Failed |
| sampled regression 6 | [[True, 23], [True, 24], [False, 0], [False, 0], [False, 25], [False, 0]] | [[True, 23], [True, 24], [False, 0], [False, 20], [False, 25], [False, 0]] | Failed |
| boundary: midway between lobby and zone | [[False, 0]] | [[False, 10]] | Failed |
| boundary: sky lobby transfer | [[True, 9], [False, 9]] | [[True, 9], [False, 9]] | Passed |
| control 1 | [[False, 30], [True, 30], [False, 30]] | [[False, 30], [True, 30], [False, 30]] | Passed |
| sampled regression 4 | [[False, 19], [False, 0]] | [[False, 19], [False, 0]] | Passed |
| sampled regression 7 | [[False, 22], [False, 0], [False, 0], [True, 19], [True, 14]] | [[False, 22], [False, 0], [False, 0], [True, 19], [True, 14]] | Passed |
SHA-256 / 9e02979750f399efedb66fe7a23de9d1e3322b657d2cfba812d1b0df5a4174bd
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
lo, hi = x['zone']
served = {0} | set(range(lo, hi + 1)) | set(x['sky_lobbies'])
cand = sorted(s for s in served if 0 <= s < x['floors'])
res = []
for f in x['requests']:
if f in cand:
res.append([True, f])
else:
best = min(cand, key=lambda s: (abs(s - f), -s))
res.append([False, best])
return res
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('regression: top of the zone', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [19, 20]}, [[True, 19], [False, 19]]), ('boundary: bottom of the zone', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [10, 9]}, [[True, 10], [False, 10]]), ('sampled regression 6', {'floors': 40, 'zone': [20, 25], 'sky_lobbies': [], 'requests': [23, 24, 8, 10, 36, 7]}, [[True, 23], [True, 24], [False, 0], [False, 20], [False, 25], [False, 0]]), ('boundary: midway between lobby and zone', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [5]}, [[False, 10]]), ('boundary: sky lobby transfer', {'floors': 40, 'zone': [20, 29], 'sky_lobbies': [9], 'requests': [9, 8]}, [[True, 9], [False, 9]]), ('control 1', {'floors': 40, 'zone': [10, 15], 'sky_lobbies': [9, 30], 'requests': [28, 30, 24]}, [[False, 30], [True, 30], [False, 30]]), ('sampled regression 4', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [39, 4]}, [[False, 19], [False, 0]]), ('sampled regression 7', {'floors': 40, 'zone': [10, 22], 'sky_lobbies': [], 'requests': [33, 3, 3, 19, 14]}, [[False, 22], [False, 0], [False, 0], [True, 19], [True, 14]])], [('regression: top of the zone', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [19, 20]}, [[True, 19], [False, 19]]), ('boundary: midway between lobby and zone', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [5]}, [[False, 10]]), ('sampled regression 17', {'floors': 40, 'zone': [15, 27], 'sky_lobbies': [5, 9], 'requests': [1, 25, 34, 21, 29, 10]}, [[False, 0], [True, 25], [False, 27], [True, 21], [False, 27], [False, 9]]), ('sampled regression 11', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [40, 10, 38, 22, -1, 37]}, [[False, 19], [True, 10], [False, 19], [False, 19], [False, 0], [False, 19]]), ('boundary: sky lobby transfer', {'floors': 40, 'zone': [20, 29], 'sky_lobbies': [9], 'requests': [9, 8]}, [[True, 9], [False, 9]]), ('sampled regression 12', {'floors': 40, 'zone': [15, 27], 'sky_lobbies': [5, 25], 'requests': [31, 15, 26, 21, 33]}, [[False, 27], [True, 15], [True, 26], [True, 21], [False, 27]]), ('sampled regression 15', {'floors': 40, 'zone': [15, 20], 'sky_lobbies': [30, 5], 'requests': [20, 16, 37, 2]}, [[True, 20], [True, 16], [False, 30], [False, 0]]), ('sampled regression 18', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [32, 19]}, [[False, 19], [True, 19]])], [('regression: top of the zone', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [19, 20]}, [[True, 19], [False, 19]]), ('boundary: bottom of the zone', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [10, 9]}, [[True, 10], [False, 10]]), ('sampled regression 32', {'floors': 40, 'zone': [15, 20], 'sky_lobbies': [30], 'requests': [2, 20, 28]}, [[False, 0], [True, 20], [False, 30]]), ('control 26', {'floors': 40, 'zone': [15, 24], 'sky_lobbies': [5, 25], 'requests': [22, 21, 11]}, [[True, 22], [True, 21], [False, 15]]), ('boundary: floor just below the sky lobby', {'floors': 40, 'zone': [20, 29], 'sky_lobbies': [15], 'requests': [14, 17]}, [[False, 15], [False, 15]]), ('control 23', {'floors': 40, 'zone': [15, 24], 'sky_lobbies': [25, 9], 'requests': [27, 0, 11, 21, 32, 14]}, [[False, 25], [True, 0], [False, 9], [True, 21], [False, 25], [False, 15]]), ('sampled regression 29', {'floors': 40, 'zone': [15, 27], 'sky_lobbies': [25, 5], 'requests': [2, 33, 31, 2, 7]}, [[False, 0], [False, 27], [False, 27], [False, 0], [False, 5]]), ('sampled regression 35', {'floors': 40, 'zone': [10, 15], 'sky_lobbies': [25, 5], 'requests': [0, 30, 8, 17, 9, 40]}, [[True, 0], [False, 25], [False, 10], [False, 15], [False, 10], [False, 25]])], [('regression: top of the zone', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [19, 20]}, [[True, 19], [False, 19]]), ('boundary: midway between lobby and zone', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [5]}, [[False, 10]]), ('sampled regression 40', {'floors': 40, 'zone': [15, 24], 'sky_lobbies': [], 'requests': [36, 23, 1, 39, 21, 26]}, [[False, 24], [True, 23], [False, 0], [False, 24], [True, 21], [False, 24]]), ('sampled regression 44', {'floors': 40, 'zone': [20, 32], 'sky_lobbies': [], 'requests': [40, 9, 17, 16, 9, 29]}, [[False, 32], [False, 0], [False, 20], [False, 20], [False, 0], [True, 29]]), ('boundary: bottom of the zone', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [10, 9]}, [[True, 10], [False, 10]]), ('sampled regression 34', {'floors': 40, 'zone': [15, 24], 'sky_lobbies': [9, 30], 'requests': [31, 3, 34, 24]}, [[False, 30], [False, 0], [False, 30], [True, 24]]), ('control 37', {'floors': 40, 'zone': [20, 29], 'sky_lobbies': [5, 30], 'requests': [39, 22, 18, 9, 40]}, [[False, 30], [True, 22], [False, 20], [False, 5], [False, 30]]), ('control 43', {'floors': 40, 'zone': [20, 29], 'sky_lobbies': [5, 9], 'requests': [24, 9]}, [[True, 24], [True, 9]])], [('regression: top of the zone', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [19, 20]}, [[True, 19], [False, 19]]), ('boundary: bottom of the zone', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [10, 9]}, [[True, 10], [False, 10]]), ('sampled regression 51', {'floors': 40, 'zone': [20, 32], 'sky_lobbies': [5], 'requests': [30, 40]}, [[True, 30], [False, 32]]), ('control 53', {'floors': 40, 'zone': [20, 25], 'sky_lobbies': [], 'requests': [6, 18, 14]}, [[False, 0], [False, 20], [False, 20]]), ('boundary: sky lobby transfer', {'floors': 40, 'zone': [20, 29], 'sky_lobbies': [9], 'requests': [9, 8]}, [[True, 9], [False, 9]]), ('sampled regression 45', {'floors': 40, 'zone': [10, 19], 'sky_lobbies': [], 'requests': [11, 35, 34, 2, 19, 25]}, [[True, 11], [False, 19], [False, 19], [False, 0], [True, 19], [False, 19]]), ('sampled regression 48', {'floors': 40, 'zone': [20, 32], 'sky_lobbies': [25], 'requests': [26, 30, 33, 4, 17, 40]}, [[True, 26], [True, 30], [False, 32], [False, 0], [False, 20], [False, 32]]), ('control 54', {'floors': 40, 'zone': [15, 27], 'sky_lobbies': [], 'requests': [26, 23]}, [[True, 26], [True, 23]])]]
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 of the zone | [[True, 19], [False, 19]] | [[True, 19], [False, 19]] | Passed |
| boundary: bottom of the zone | [[True, 10], [False, 10]] | [[True, 10], [False, 10]] | Passed |
| sampled regression 6 | [[True, 23], [True, 24], [False, 0], [False, 20], [False, 25], [False, 0]] | [[True, 23], [True, 24], [False, 0], [False, 20], [False, 25], [False, 0]] | Passed |
| boundary: midway between lobby and zone | [[False, 10]] | [[False, 10]] | Passed |
| boundary: sky lobby transfer | [[True, 9], [False, 9]] | [[True, 9], [False, 9]] | Passed |
| control 1 | [[False, 30], [True, 30], [False, 30]] | [[False, 30], [True, 30], [False, 30]] | Passed |
| sampled regression 4 | [[False, 19], [False, 0]] | [[False, 19], [False, 0]] | Passed |
| sampled regression 7 | [[False, 22], [False, 0], [False, 0], [True, 19], [True, 14]] | [[False, 22], [False, 0], [False, 0], [True, 19], [True, 14]] | Passed |
SHA-256 / 109b6596c34f88dda00d90874c415a40303ccbec410f434b68a60ba5a266a6ca
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:54.361234+00:00.
Case digest / 5898d5ac77ce70212edf9afaf4937c35d83bf0199ec4a31d191b55e4347043e9