FA-57186 / Auction allocation rules / Open access
Delivery slot awards: end exclusive reservation · case 01
A delivery award reserves its neighbor closing slot or loses its opening slot.
ROOT CAUSE
A delivery award reserves its neighbor closing slot or loses its opening slot.
VERIFIED REPAIR
For end exclusive reservation, apply the stipulated decision list(range(x["start"],x["end"])).
Unsuccessful approach: The attempted repair uses list(range(x["start"]+1,x["end"])); the explicit regression cases demonstrate that this still violates the stipulated auction rule.
Case contract
An auction awards delivery capacity in discrete named slots. A bid may require several consecutive slots, setup occupies an earlier slot, and cleanup occupies a later slot. Existing commitments and a separate seller maintenance mask must both constrain certificates. No continuous scheduling optimization is claimed. Named decision end-exclusive-reservation: For end exclusive reservation, apply the stipulated decision list(range(x["start"],x["end"])).
Why this case matters
Offline administrative auction model for software failure analysis.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
v0 = not x["requested"] or sorted(set(x["requested"]))==list(range(min(x["requested"]),max(x["requested"])+1))
v1 = not set(x["requested"])&set(x["occupied"])
v2 = not set(x["requested"])&set(x["maintenance"])
v3 = {i:x["requested"].count(i)*x["amount"] for i in x["requested"]}
v4 = all(x["used"][i]+x["amount"]<=x["capacity"][i] for i in x["requested"] if i in x["slots"])
v5 = list(range(max(0,x["start"]-x["setup"]),x["start"]))
v6 = list(range(x["end"],x["end"]+x["cleanup"]))
v7 = not (set(x["transfer"])&(set(x["occupied"])-set(x["released"])))
v8 = len(set(x["requested"]))==x["duration"]
v9 = list(range(x["start"],x["end"]+1))
return {'consecutive-slot-package':v0,'occupied-slot-conflict':v1,'maintenance-exclusion':v2,'repeated-slot-demand':v3,'per-slot-capacity':v4,'setup-footprint':v5,'cleanup-footprint':v6,'transfer-release-before-check':v7,'duration-certificate':v8,'end-exclusive-reservation':v9}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [('normal contract', {'slots': [0, 1, 2, 3, 4], 'requested': [1, 2], 'occupied': [3], 'maintenance': [0], 'setup': 1, 'cleanup': 1, 'capacity': [2, 2, 2, 2, 2], 'used': [0, 1, 0, 2, 0], 'amount': 2, 'start': 1, 'end': 3, 'transfer': [2, 3], 'released': [1], 'duration': 2}, [[1, 2], [1, 2], [1, 2], [1, 2], [1, 2]]), ('mixed known unknown slots', {'slots': [0, 1, 2, 3, 4], 'requested': [1, 5], 'occupied': [3], 'maintenance': [0], 'setup': 1, 'cleanup': 1, 'capacity': [2, 2, 2, 2, 2], 'used': [0, 1, 0, 2, 0], 'amount': 2, 'start': 1, 'end': 3, 'transfer': [2, 3], 'released': [1], 'duration': 2}, [[1, 2], [1, 2], [1, 2], [1, 2], [1, 2]]), ('released occupied slot', {'slots': [0, 1, 2, 3, 4], 'requested': [1, 2], 'occupied': [3], 'maintenance': [0], 'setup': 1, 'cleanup': 1, 'capacity': [2, 2, 2, 2, 2], 'used': [0, 1, 0, 2, 0], 'amount': 2, 'start': 1, 'end': 3, 'transfer': [2, 3], 'released': [3], 'duration': 2}, [[1, 2], [1, 2], [1, 2], [1, 2], [1, 2]]), ('extra duration slot', {'slots': [0, 1, 2, 3, 4], 'requested': [1, 2, 3], 'occupied': [3], 'maintenance': [0], 'setup': 1, 'cleanup': 1, 'capacity': [2, 2, 2, 2, 2], 'used': [0, 1, 0, 2, 0], 'amount': 2, 'start': 1, 'end': 3, 'transfer': [2, 3], 'released': [1], 'duration': 2}, [[1, 2], [1, 2], [1, 2], [1, 2], [1, 2]]), ('gap in award', {'slots': [0, 1, 2, 3, 4], 'requested': [1, 3], 'occupied': [3], 'maintenance': [0], 'setup': 1, 'cleanup': 1, 'capacity': [2, 2, 2, 2, 2], 'used': [0, 1, 0, 2, 0], 'amount': 2, 'start': 1, 'end': 3, 'transfer': [2, 3], 'released': [1], 'duration': 2}, [[1, 2], [1, 2], [1, 2], [1, 2], [1, 2]]), ('slot collision', {'slots': [0, 1, 2, 3, 4], 'requested': [1, 2], 'occupied': [2], 'maintenance': [0], 'setup': 1, 'cleanup': 1, 'capacity': [2, 2, 2, 2, 2], 'used': [0, 1, 0, 2, 0], 'amount': 2, 'start': 1, 'end': 3, 'transfer': [2, 3], 'released': [1], 'duration': 2}, [[1, 2], [1, 2], [1, 2], [1, 2], [1, 2]]), ('maintenance collision', {'slots': [0, 1, 2, 3, 4], 'requested': [1, 2], 'occupied': [3], 'maintenance': [2], 'setup': 1, 'cleanup': 1, 'capacity': [2, 2, 2, 2, 2], 'used': [0, 1, 0, 2, 0], 'amount': 2, 'start': 1, 'end': 3, 'transfer': [2, 3], 'released': [1], 'duration': 2}, [[1, 2], [1, 2], [1, 2], [1, 2], [1, 2]]), ('outside slot', {'slots': [0, 1, 2, 3, 4], 'requested': [5], 'occupied': [3], 'maintenance': [0], 'setup': 1, 'cleanup': 1, 'capacity': [2, 2, 2, 2, 2], 'used': [0, 1, 0, 2, 0], 'amount': 2, 'start': 1, 'end': 3, 'transfer': [2, 3], 'released': [1], 'duration': 2}, [[1, 2], [1, 2], [1, 2], [1, 2], [1, 2]]), ('room for award', {'slots': [0, 1, 2, 3, 4], 'requested': [1, 2], 'occupied': [3], 'maintenance': [0], 'setup': 1, 'cleanup': 1, 'capacity': [2, 2, 2, 2, 2], 'used': [0, 1, 0, 2, 0], 'amount': 1, 'start': 1, 'end': 3, 'transfer': [2, 3], 'released': [1], 'duration': 2}, [[1, 2], [1, 2], [1, 2], [1, 2], [1, 2]])]
def vary(value):
if type(value) is int: return value*N
if isinstance(value,list): return [vary(v) for v in value]
if isinstance(value,dict): return {k:(v if k in ['cleanup', 'count', 'delivery_index', 'disputed', 'duration', 'end', 'maintenance', 'maximum_set', 'minimum_set', 'occupied', 'released', 'requested', 'setup', 'slots', 'stage', 'start', 'threshold', 'transfer', 'waived'] else vary(v)) for k,v in value.items()}
return value
for label, request, expected in fixtures:
check(label, solve(vary(request))['end-exclusive-reservation'], expected[N-1])
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 |
|---|---|---|---|
| normal contract | [1, 2, 3] | [1, 2] | Failed |
| mixed known unknown slots | [1, 2, 3] | [1, 2] | Failed |
| released occupied slot | [1, 2, 3] | [1, 2] | Failed |
| extra duration slot | [1, 2, 3] | [1, 2] | Failed |
| gap in award | [1, 2, 3] | [1, 2] | Failed |
| slot collision | [1, 2, 3] | [1, 2] | Failed |
| maintenance collision | [1, 2, 3] | [1, 2] | Failed |
| outside slot | [1, 2, 3] | [1, 2] | Failed |
| room for award | [1, 2, 3] | [1, 2] | Failed |
SHA-256 / 114737c58e6fffbd33727f3a0e55abd79f36a16a67abb11fde0bdf73016b17e7
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
v0 = not x["requested"] or sorted(set(x["requested"]))==list(range(min(x["requested"]),max(x["requested"])+1))
v1 = not set(x["requested"])&set(x["occupied"])
v2 = not set(x["requested"])&set(x["maintenance"])
v3 = {i:x["requested"].count(i)*x["amount"] for i in x["requested"]}
v4 = all(x["used"][i]+x["amount"]<=x["capacity"][i] for i in x["requested"] if i in x["slots"])
v5 = list(range(max(0,x["start"]-x["setup"]),x["start"]))
v6 = list(range(x["end"],x["end"]+x["cleanup"]))
v7 = not (set(x["transfer"])&(set(x["occupied"])-set(x["released"])))
v8 = len(set(x["requested"]))==x["duration"]
v9 = list(range(x["start"]+1,x["end"]))
return {'consecutive-slot-package':v0,'occupied-slot-conflict':v1,'maintenance-exclusion':v2,'repeated-slot-demand':v3,'per-slot-capacity':v4,'setup-footprint':v5,'cleanup-footprint':v6,'transfer-release-before-check':v7,'duration-certificate':v8,'end-exclusive-reservation':v9}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [('normal contract', {'slots': [0, 1, 2, 3, 4], 'requested': [1, 2], 'occupied': [3], 'maintenance': [0], 'setup': 1, 'cleanup': 1, 'capacity': [2, 2, 2, 2, 2], 'used': [0, 1, 0, 2, 0], 'amount': 2, 'start': 1, 'end': 3, 'transfer': [2, 3], 'released': [1], 'duration': 2}, [[1, 2], [1, 2], [1, 2], [1, 2], [1, 2]]), ('mixed known unknown slots', {'slots': [0, 1, 2, 3, 4], 'requested': [1, 5], 'occupied': [3], 'maintenance': [0], 'setup': 1, 'cleanup': 1, 'capacity': [2, 2, 2, 2, 2], 'used': [0, 1, 0, 2, 0], 'amount': 2, 'start': 1, 'end': 3, 'transfer': [2, 3], 'released': [1], 'duration': 2}, [[1, 2], [1, 2], [1, 2], [1, 2], [1, 2]]), ('released occupied slot', {'slots': [0, 1, 2, 3, 4], 'requested': [1, 2], 'occupied': [3], 'maintenance': [0], 'setup': 1, 'cleanup': 1, 'capacity': [2, 2, 2, 2, 2], 'used': [0, 1, 0, 2, 0], 'amount': 2, 'start': 1, 'end': 3, 'transfer': [2, 3], 'released': [3], 'duration': 2}, [[1, 2], [1, 2], [1, 2], [1, 2], [1, 2]]), ('extra duration slot', {'slots': [0, 1, 2, 3, 4], 'requested': [1, 2, 3], 'occupied': [3], 'maintenance': [0], 'setup': 1, 'cleanup': 1, 'capacity': [2, 2, 2, 2, 2], 'used': [0, 1, 0, 2, 0], 'amount': 2, 'start': 1, 'end': 3, 'transfer': [2, 3], 'released': [1], 'duration': 2}, [[1, 2], [1, 2], [1, 2], [1, 2], [1, 2]]), ('gap in award', {'slots': [0, 1, 2, 3, 4], 'requested': [1, 3], 'occupied': [3], 'maintenance': [0], 'setup': 1, 'cleanup': 1, 'capacity': [2, 2, 2, 2, 2], 'used': [0, 1, 0, 2, 0], 'amount': 2, 'start': 1, 'end': 3, 'transfer': [2, 3], 'released': [1], 'duration': 2}, [[1, 2], [1, 2], [1, 2], [1, 2], [1, 2]]), ('slot collision', {'slots': [0, 1, 2, 3, 4], 'requested': [1, 2], 'occupied': [2], 'maintenance': [0], 'setup': 1, 'cleanup': 1, 'capacity': [2, 2, 2, 2, 2], 'used': [0, 1, 0, 2, 0], 'amount': 2, 'start': 1, 'end': 3, 'transfer': [2, 3], 'released': [1], 'duration': 2}, [[1, 2], [1, 2], [1, 2], [1, 2], [1, 2]]), ('maintenance collision', {'slots': [0, 1, 2, 3, 4], 'requested': [1, 2], 'occupied': [3], 'maintenance': [2], 'setup': 1, 'cleanup': 1, 'capacity': [2, 2, 2, 2, 2], 'used': [0, 1, 0, 2, 0], 'amount': 2, 'start': 1, 'end': 3, 'transfer': [2, 3], 'released': [1], 'duration': 2}, [[1, 2], [1, 2], [1, 2], [1, 2], [1, 2]]), ('outside slot', {'slots': [0, 1, 2, 3, 4], 'requested': [5], 'occupied': [3], 'maintenance': [0], 'setup': 1, 'cleanup': 1, 'capacity': [2, 2, 2, 2, 2], 'used': [0, 1, 0, 2, 0], 'amount': 2, 'start': 1, 'end': 3, 'transfer': [2, 3], 'released': [1], 'duration': 2}, [[1, 2], [1, 2], [1, 2], [1, 2], [1, 2]]), ('room for award', {'slots': [0, 1, 2, 3, 4], 'requested': [1, 2], 'occupied': [3], 'maintenance': [0], 'setup': 1, 'cleanup': 1, 'capacity': [2, 2, 2, 2, 2], 'used': [0, 1, 0, 2, 0], 'amount': 1, 'start': 1, 'end': 3, 'transfer': [2, 3], 'released': [1], 'duration': 2}, [[1, 2], [1, 2], [1, 2], [1, 2], [1, 2]])]
def vary(value):
if type(value) is int: return value*N
if isinstance(value,list): return [vary(v) for v in value]
if isinstance(value,dict): return {k:(v if k in ['cleanup', 'count', 'delivery_index', 'disputed', 'duration', 'end', 'maintenance', 'maximum_set', 'minimum_set', 'occupied', 'released', 'requested', 'setup', 'slots', 'stage', 'start', 'threshold', 'transfer', 'waived'] else vary(v)) for k,v in value.items()}
return value
for label, request, expected in fixtures:
check(label, solve(vary(request))['end-exclusive-reservation'], expected[N-1])
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 |
|---|---|---|---|
| normal contract | [2] | [1, 2] | Failed |
| mixed known unknown slots | [2] | [1, 2] | Failed |
| released occupied slot | [2] | [1, 2] | Failed |
| extra duration slot | [2] | [1, 2] | Failed |
| gap in award | [2] | [1, 2] | Failed |
| slot collision | [2] | [1, 2] | Failed |
| maintenance collision | [2] | [1, 2] | Failed |
| outside slot | [2] | [1, 2] | Failed |
| room for award | [2] | [1, 2] | Failed |
SHA-256 / 2ffdb908562162d3340f7cc2bbed9ce7a8f13713f955623904f453663a0ff707
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
v0 = not x["requested"] or sorted(set(x["requested"]))==list(range(min(x["requested"]),max(x["requested"])+1))
v1 = not set(x["requested"])&set(x["occupied"])
v2 = not set(x["requested"])&set(x["maintenance"])
v3 = {i:x["requested"].count(i)*x["amount"] for i in x["requested"]}
v4 = all(x["used"][i]+x["amount"]<=x["capacity"][i] for i in x["requested"] if i in x["slots"])
v5 = list(range(max(0,x["start"]-x["setup"]),x["start"]))
v6 = list(range(x["end"],x["end"]+x["cleanup"]))
v7 = not (set(x["transfer"])&(set(x["occupied"])-set(x["released"])))
v8 = len(set(x["requested"]))==x["duration"]
v9 = list(range(x["start"],x["end"]))
return {'consecutive-slot-package':v0,'occupied-slot-conflict':v1,'maintenance-exclusion':v2,'repeated-slot-demand':v3,'per-slot-capacity':v4,'setup-footprint':v5,'cleanup-footprint':v6,'transfer-release-before-check':v7,'duration-certificate':v8,'end-exclusive-reservation':v9}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [('normal contract', {'slots': [0, 1, 2, 3, 4], 'requested': [1, 2], 'occupied': [3], 'maintenance': [0], 'setup': 1, 'cleanup': 1, 'capacity': [2, 2, 2, 2, 2], 'used': [0, 1, 0, 2, 0], 'amount': 2, 'start': 1, 'end': 3, 'transfer': [2, 3], 'released': [1], 'duration': 2}, [[1, 2], [1, 2], [1, 2], [1, 2], [1, 2]]), ('mixed known unknown slots', {'slots': [0, 1, 2, 3, 4], 'requested': [1, 5], 'occupied': [3], 'maintenance': [0], 'setup': 1, 'cleanup': 1, 'capacity': [2, 2, 2, 2, 2], 'used': [0, 1, 0, 2, 0], 'amount': 2, 'start': 1, 'end': 3, 'transfer': [2, 3], 'released': [1], 'duration': 2}, [[1, 2], [1, 2], [1, 2], [1, 2], [1, 2]]), ('released occupied slot', {'slots': [0, 1, 2, 3, 4], 'requested': [1, 2], 'occupied': [3], 'maintenance': [0], 'setup': 1, 'cleanup': 1, 'capacity': [2, 2, 2, 2, 2], 'used': [0, 1, 0, 2, 0], 'amount': 2, 'start': 1, 'end': 3, 'transfer': [2, 3], 'released': [3], 'duration': 2}, [[1, 2], [1, 2], [1, 2], [1, 2], [1, 2]]), ('extra duration slot', {'slots': [0, 1, 2, 3, 4], 'requested': [1, 2, 3], 'occupied': [3], 'maintenance': [0], 'setup': 1, 'cleanup': 1, 'capacity': [2, 2, 2, 2, 2], 'used': [0, 1, 0, 2, 0], 'amount': 2, 'start': 1, 'end': 3, 'transfer': [2, 3], 'released': [1], 'duration': 2}, [[1, 2], [1, 2], [1, 2], [1, 2], [1, 2]]), ('gap in award', {'slots': [0, 1, 2, 3, 4], 'requested': [1, 3], 'occupied': [3], 'maintenance': [0], 'setup': 1, 'cleanup': 1, 'capacity': [2, 2, 2, 2, 2], 'used': [0, 1, 0, 2, 0], 'amount': 2, 'start': 1, 'end': 3, 'transfer': [2, 3], 'released': [1], 'duration': 2}, [[1, 2], [1, 2], [1, 2], [1, 2], [1, 2]]), ('slot collision', {'slots': [0, 1, 2, 3, 4], 'requested': [1, 2], 'occupied': [2], 'maintenance': [0], 'setup': 1, 'cleanup': 1, 'capacity': [2, 2, 2, 2, 2], 'used': [0, 1, 0, 2, 0], 'amount': 2, 'start': 1, 'end': 3, 'transfer': [2, 3], 'released': [1], 'duration': 2}, [[1, 2], [1, 2], [1, 2], [1, 2], [1, 2]]), ('maintenance collision', {'slots': [0, 1, 2, 3, 4], 'requested': [1, 2], 'occupied': [3], 'maintenance': [2], 'setup': 1, 'cleanup': 1, 'capacity': [2, 2, 2, 2, 2], 'used': [0, 1, 0, 2, 0], 'amount': 2, 'start': 1, 'end': 3, 'transfer': [2, 3], 'released': [1], 'duration': 2}, [[1, 2], [1, 2], [1, 2], [1, 2], [1, 2]]), ('outside slot', {'slots': [0, 1, 2, 3, 4], 'requested': [5], 'occupied': [3], 'maintenance': [0], 'setup': 1, 'cleanup': 1, 'capacity': [2, 2, 2, 2, 2], 'used': [0, 1, 0, 2, 0], 'amount': 2, 'start': 1, 'end': 3, 'transfer': [2, 3], 'released': [1], 'duration': 2}, [[1, 2], [1, 2], [1, 2], [1, 2], [1, 2]]), ('room for award', {'slots': [0, 1, 2, 3, 4], 'requested': [1, 2], 'occupied': [3], 'maintenance': [0], 'setup': 1, 'cleanup': 1, 'capacity': [2, 2, 2, 2, 2], 'used': [0, 1, 0, 2, 0], 'amount': 1, 'start': 1, 'end': 3, 'transfer': [2, 3], 'released': [1], 'duration': 2}, [[1, 2], [1, 2], [1, 2], [1, 2], [1, 2]])]
def vary(value):
if type(value) is int: return value*N
if isinstance(value,list): return [vary(v) for v in value]
if isinstance(value,dict): return {k:(v if k in ['cleanup', 'count', 'delivery_index', 'disputed', 'duration', 'end', 'maintenance', 'maximum_set', 'minimum_set', 'occupied', 'released', 'requested', 'setup', 'slots', 'stage', 'start', 'threshold', 'transfer', 'waived'] else vary(v)) for k,v in value.items()}
return value
for label, request, expected in fixtures:
check(label, solve(vary(request))['end-exclusive-reservation'], expected[N-1])
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 |
|---|---|---|---|
| normal contract | [1, 2] | [1, 2] | Passed |
| mixed known unknown slots | [1, 2] | [1, 2] | Passed |
| released occupied slot | [1, 2] | [1, 2] | Passed |
| extra duration slot | [1, 2] | [1, 2] | Passed |
| gap in award | [1, 2] | [1, 2] | Passed |
| slot collision | [1, 2] | [1, 2] | Passed |
| maintenance collision | [1, 2] | [1, 2] | Passed |
| outside slot | [1, 2] | [1, 2] | Passed |
| room for award | [1, 2] | [1, 2] | Passed |
SHA-256 / 50ba2802df984af3a1a7c4688961b2b01e7f1e9d2da02a6e05171c71b0d5798a
Verification & scope
Stipulated toy auction rules, not a venue specification, financial advice, optimization claim, or live trading implementation. Nonnegative integer inputs and internally aligned list fields only. 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:46:14.268108+00:00.
Case digest / 05570710f775d2c96fedb4b192522a03677e08a0a777e9f9aaeb75a588acb801