FA-57166 / Auction allocation rules / Open access
Delivery slot awards: setup footprint · case 01
Setup capacity is omitted or reserved after delivery starts.
ROOT CAUSE
Setup capacity is omitted or reserved after delivery starts.
VERIFIED REPAIR
For setup footprint, apply the stipulated decision list(range(max(0,x["start"]-x["setup"]),x["start"])).
Unsuccessful approach: The attempted repair uses list(range(x["start"],x["start"]+x["setup"])); 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 setup-footprint: For setup footprint, apply the stipulated decision list(range(max(0,x["start"]-x["setup"]),x["start"])).
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 = []
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}, [[0], [0], [0], [0], [0]]), ('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}, [[0], [0], [0], [0], [0]]), ('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}, [[0], [0], [0], [0], [0]]), ('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}, [[0], [0], [0], [0], [0]]), ('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}, [[0], [0], [0], [0], [0]]), ('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}, [[0], [0], [0], [0], [0]]), ('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}, [[0], [0], [0], [0], [0]]), ('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}, [[0], [0], [0], [0], [0]]), ('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}, [[0], [0], [0], [0], [0]])]
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))['setup-footprint'], 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 | [] | [0] | Failed |
| mixed known unknown slots | [] | [0] | Failed |
| released occupied slot | [] | [0] | Failed |
| extra duration slot | [] | [0] | Failed |
| gap in award | [] | [0] | Failed |
| slot collision | [] | [0] | Failed |
| maintenance collision | [] | [0] | Failed |
| outside slot | [] | [0] | Failed |
| room for award | [] | [0] | Failed |
SHA-256 / e5fec13f43f83d9a504797d1bfe72141447570a4a5baad1997a7ebcc83ed7ff9
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(x["start"],x["start"]+x["setup"]))
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}, [[0], [0], [0], [0], [0]]), ('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}, [[0], [0], [0], [0], [0]]), ('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}, [[0], [0], [0], [0], [0]]), ('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}, [[0], [0], [0], [0], [0]]), ('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}, [[0], [0], [0], [0], [0]]), ('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}, [[0], [0], [0], [0], [0]]), ('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}, [[0], [0], [0], [0], [0]]), ('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}, [[0], [0], [0], [0], [0]]), ('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}, [[0], [0], [0], [0], [0]])]
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))['setup-footprint'], 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] | [0] | Failed |
| mixed known unknown slots | [1] | [0] | Failed |
| released occupied slot | [1] | [0] | Failed |
| extra duration slot | [1] | [0] | Failed |
| gap in award | [1] | [0] | Failed |
| slot collision | [1] | [0] | Failed |
| maintenance collision | [1] | [0] | Failed |
| outside slot | [1] | [0] | Failed |
| room for award | [1] | [0] | Failed |
SHA-256 / 0fbc9a36ddbd37ca173f0cce29c46fc8bfe47c458c4149c353e08a76dcaf29b8
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}, [[0], [0], [0], [0], [0]]), ('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}, [[0], [0], [0], [0], [0]]), ('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}, [[0], [0], [0], [0], [0]]), ('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}, [[0], [0], [0], [0], [0]]), ('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}, [[0], [0], [0], [0], [0]]), ('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}, [[0], [0], [0], [0], [0]]), ('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}, [[0], [0], [0], [0], [0]]), ('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}, [[0], [0], [0], [0], [0]]), ('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}, [[0], [0], [0], [0], [0]])]
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))['setup-footprint'], 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 | [0] | [0] | Passed |
| mixed known unknown slots | [0] | [0] | Passed |
| released occupied slot | [0] | [0] | Passed |
| extra duration slot | [0] | [0] | Passed |
| gap in award | [0] | [0] | Passed |
| slot collision | [0] | [0] | Passed |
| maintenance collision | [0] | [0] | Passed |
| outside slot | [0] | [0] | Passed |
| room for award | [0] | [0] | Passed |
SHA-256 / f46b5394e7ca633ae27831c3c7e15b8f82f19b32e47b93e8c148e6e9e76f77be
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.156437+00:00.
Case digest / fcaf670f148709b4961294019d51a7fd99be1dc11afd11f684b2241c9f603e26