FA-57731 / Auction allocation rules / Open access
Reserve schedule: withdrawn reserve amendment · case 01
A withdrawn seller reserve amendment still replaces the binding reserve.
ROOT CAUSE
A withdrawn seller reserve amendment still replaces the binding reserve.
VERIFIED REPAIR
For withdrawn reserve amendment, apply the stipulated decision x["current_reserve"] if x["withdrawn"] else x["submitted_reserve"].
Unsuccessful approach: The attempted repair uses x["current_reserve"]; the explicit regression cases demonstrate that this still violates the stipulated auction rule.
Case contract
A seller precommits a reserve schedule before an auction. Reserve changes have effective rounds, approval and disclosure states. A hidden reserve can block sale but must not be represented as a competing bidder. The model certifies schedules rather than selecting a second-price payment. Named decision withdrawn-reserve-amendment: For withdrawn reserve amendment, apply the stipulated decision x["current_reserve"] if x["withdrawn"] else x["submitted_reserve"].
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 = max(((t,v) for t,v in zip(x["starts"],x["values"]) if t<=x["round"]),default=(0,None))[1]
v1 = max(((t,v) for t,v,a in zip(x["starts"],x["values"],x["approved"]) if t<=x["round"] and a),default=(0,None))[1]
v2 = x["current_reserve"] if x["disclosed"] else None
v3 = x["current_reserve"] if x["frozen"] else x["submitted_reserve"]
v4 = max(x["submitted_reserve"],x["floor"],x["seller_minimum"])
v5 = x["floor"]<=x["submitted_reserve"]<=x["ceiling"]
v6 = max(x["lot_minimum"],x["current_reserve"]*x["quantity"])
v7 = len(x["real_bids"])
v8 = x["submitted_reserve"]
v9 = x["submitted_reserve"] if x["round"]>=x["grant_round"] else x["current_reserve"]
return {'effective-reserve-step':v0,'approved-reserve-step':v1,'hidden-reserve-redaction':v2,'reserve-freeze':v3,'reserve-lower-bound':v4,'reserve-range-admission':v5,'whole-lot-reserve':v6,'reserve-not-a-bidder':v7,'withdrawn-reserve-amendment':v8,'grant-round-activation':v9}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [('withdrawn reserve amendment', {'round': 3, 'starts': [1, 3, 5], 'values': [12, 9, 6], 'approved': [True, False, True], 'disclosed': False, 'frozen': False, 'submitted_reserve': 8, 'current_reserve': 10, 'floor': 7, 'seller_minimum': 5, 'ceiling': 20, 'quantity': 3, 'lot_minimum': 24, 'real_bids': [11, 8], 'reserve_as_bid': 10, 'withdrawn': True, 'grant_round': 4}, [10, 20, 30, 40, 50]), ('seller floor binds / withdrawn reserve amendment', {'round': 3, 'starts': [1, 3, 5], 'values': [12, 9, 6], 'approved': [True, False, True], 'disclosed': False, 'frozen': False, 'submitted_reserve': 8, 'current_reserve': 10, 'floor': 7, 'seller_minimum': 15, 'ceiling': 20, 'quantity': 3, 'lot_minimum': 24, 'real_bids': [11, 8], 'reserve_as_bid': 10, 'withdrawn': True, 'grant_round': 4}, [10, 20, 30, 40, 50]), ('normal contract', {'round': 3, 'starts': [1, 3, 5], 'values': [12, 9, 6], 'approved': [True, False, True], 'disclosed': False, 'frozen': False, 'submitted_reserve': 8, 'current_reserve': 10, 'floor': 7, 'seller_minimum': 5, 'ceiling': 20, 'quantity': 3, 'lot_minimum': 24, 'real_bids': [11, 8], 'reserve_as_bid': 10, 'withdrawn': False, 'grant_round': 4}, [8, 16, 24, 32, 40]), ('seller floor binds', {'round': 3, 'starts': [1, 3, 5], 'values': [12, 9, 6], 'approved': [True, False, True], 'disclosed': False, 'frozen': False, 'submitted_reserve': 8, 'current_reserve': 10, 'floor': 7, 'seller_minimum': 15, 'ceiling': 20, 'quantity': 3, 'lot_minimum': 24, 'real_bids': [11, 8], 'reserve_as_bid': 10, 'withdrawn': False, 'grant_round': 4}, [8, 16, 24, 32, 40]), ('amendment starts this round', {'round': 3, 'starts': [1, 3, 5], 'values': [12, 9, 6], 'approved': [True, False, True], 'disclosed': False, 'frozen': False, 'submitted_reserve': 8, 'current_reserve': 10, 'floor': 7, 'seller_minimum': 5, 'ceiling': 20, 'quantity': 3, 'lot_minimum': 24, 'real_bids': [11, 8], 'reserve_as_bid': 10, 'withdrawn': False, 'grant_round': 3}, [8, 16, 24, 32, 40]), ('first round', {'round': 1, 'starts': [1, 3, 5], 'values': [12, 9, 6], 'approved': [True, False, True], 'disclosed': False, 'frozen': False, 'submitted_reserve': 8, 'current_reserve': 10, 'floor': 7, 'seller_minimum': 5, 'ceiling': 20, 'quantity': 3, 'lot_minimum': 24, 'real_bids': [11, 8], 'reserve_as_bid': 10, 'withdrawn': False, 'grant_round': 4}, [8, 16, 24, 32, 40]), ('last round', {'round': 6, 'starts': [1, 3, 5], 'values': [12, 9, 6], 'approved': [True, False, True], 'disclosed': False, 'frozen': False, 'submitted_reserve': 8, 'current_reserve': 10, 'floor': 7, 'seller_minimum': 5, 'ceiling': 20, 'quantity': 3, 'lot_minimum': 24, 'real_bids': [11, 8], 'reserve_as_bid': 10, 'withdrawn': False, 'grant_round': 4}, [8, 16, 24, 32, 40]), ('all approved', {'round': 3, 'starts': [1, 3, 5], 'values': [12, 9, 6], 'approved': [True, True, True], 'disclosed': False, 'frozen': False, 'submitted_reserve': 8, 'current_reserve': 10, 'floor': 7, 'seller_minimum': 5, 'ceiling': 20, 'quantity': 3, 'lot_minimum': 24, 'real_bids': [11, 8], 'reserve_as_bid': 10, 'withdrawn': False, 'grant_round': 4}, [8, 16, 24, 32, 40]), ('public reserve', {'round': 3, 'starts': [1, 3, 5], 'values': [12, 9, 6], 'approved': [True, False, True], 'disclosed': True, 'frozen': False, 'submitted_reserve': 8, 'current_reserve': 10, 'floor': 7, 'seller_minimum': 5, 'ceiling': 20, 'quantity': 3, 'lot_minimum': 24, 'real_bids': [11, 8], 'reserve_as_bid': 10, 'withdrawn': False, 'grant_round': 4}, [8, 16, 24, 32, 40]), ('frozen reserve', {'round': 3, 'starts': [1, 3, 5], 'values': [12, 9, 6], 'approved': [True, False, True], 'disclosed': False, 'frozen': True, 'submitted_reserve': 8, 'current_reserve': 10, 'floor': 7, 'seller_minimum': 5, 'ceiling': 20, 'quantity': 3, 'lot_minimum': 24, 'real_bids': [11, 8], 'reserve_as_bid': 10, 'withdrawn': False, 'grant_round': 4}, [8, 16, 24, 32, 40]), ('reserve below floor', {'round': 3, 'starts': [1, 3, 5], 'values': [12, 9, 6], 'approved': [True, False, True], 'disclosed': False, 'frozen': False, 'submitted_reserve': 4, 'current_reserve': 10, 'floor': 7, 'seller_minimum': 5, 'ceiling': 20, 'quantity': 3, 'lot_minimum': 24, 'real_bids': [11, 8], 'reserve_as_bid': 10, 'withdrawn': False, 'grant_round': 4}, [4, 8, 12, 16, 20])]
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 ['count', 'delivery_index', 'disputed', 'maximum_set', 'minimum_set', 'quantity', 'stage', 'threshold', 'waived'] else vary(v)) for k,v in value.items()}
return value
for label, request, expected in fixtures:
check(label, solve(vary(request))['withdrawn-reserve-amendment'], 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 |
|---|---|---|---|
| withdrawn reserve amendment | 8 | 10 | Failed |
| seller floor binds / withdrawn reserve amendment | 8 | 10 | Failed |
| normal contract | 8 | 8 | Passed |
| seller floor binds | 8 | 8 | Passed |
| amendment starts this round | 8 | 8 | Passed |
| first round | 8 | 8 | Passed |
| last round | 8 | 8 | Passed |
| all approved | 8 | 8 | Passed |
| public reserve | 8 | 8 | Passed |
| frozen reserve | 8 | 8 | Passed |
| reserve below floor | 4 | 4 | Passed |
SHA-256 / 2661097bb937a460a92f6ddbc714905734412d4464a9cdf934f391c769344c66
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
v0 = max(((t,v) for t,v in zip(x["starts"],x["values"]) if t<=x["round"]),default=(0,None))[1]
v1 = max(((t,v) for t,v,a in zip(x["starts"],x["values"],x["approved"]) if t<=x["round"] and a),default=(0,None))[1]
v2 = x["current_reserve"] if x["disclosed"] else None
v3 = x["current_reserve"] if x["frozen"] else x["submitted_reserve"]
v4 = max(x["submitted_reserve"],x["floor"],x["seller_minimum"])
v5 = x["floor"]<=x["submitted_reserve"]<=x["ceiling"]
v6 = max(x["lot_minimum"],x["current_reserve"]*x["quantity"])
v7 = len(x["real_bids"])
v8 = x["current_reserve"]
v9 = x["submitted_reserve"] if x["round"]>=x["grant_round"] else x["current_reserve"]
return {'effective-reserve-step':v0,'approved-reserve-step':v1,'hidden-reserve-redaction':v2,'reserve-freeze':v3,'reserve-lower-bound':v4,'reserve-range-admission':v5,'whole-lot-reserve':v6,'reserve-not-a-bidder':v7,'withdrawn-reserve-amendment':v8,'grant-round-activation':v9}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [('withdrawn reserve amendment', {'round': 3, 'starts': [1, 3, 5], 'values': [12, 9, 6], 'approved': [True, False, True], 'disclosed': False, 'frozen': False, 'submitted_reserve': 8, 'current_reserve': 10, 'floor': 7, 'seller_minimum': 5, 'ceiling': 20, 'quantity': 3, 'lot_minimum': 24, 'real_bids': [11, 8], 'reserve_as_bid': 10, 'withdrawn': True, 'grant_round': 4}, [10, 20, 30, 40, 50]), ('seller floor binds / withdrawn reserve amendment', {'round': 3, 'starts': [1, 3, 5], 'values': [12, 9, 6], 'approved': [True, False, True], 'disclosed': False, 'frozen': False, 'submitted_reserve': 8, 'current_reserve': 10, 'floor': 7, 'seller_minimum': 15, 'ceiling': 20, 'quantity': 3, 'lot_minimum': 24, 'real_bids': [11, 8], 'reserve_as_bid': 10, 'withdrawn': True, 'grant_round': 4}, [10, 20, 30, 40, 50]), ('normal contract', {'round': 3, 'starts': [1, 3, 5], 'values': [12, 9, 6], 'approved': [True, False, True], 'disclosed': False, 'frozen': False, 'submitted_reserve': 8, 'current_reserve': 10, 'floor': 7, 'seller_minimum': 5, 'ceiling': 20, 'quantity': 3, 'lot_minimum': 24, 'real_bids': [11, 8], 'reserve_as_bid': 10, 'withdrawn': False, 'grant_round': 4}, [8, 16, 24, 32, 40]), ('seller floor binds', {'round': 3, 'starts': [1, 3, 5], 'values': [12, 9, 6], 'approved': [True, False, True], 'disclosed': False, 'frozen': False, 'submitted_reserve': 8, 'current_reserve': 10, 'floor': 7, 'seller_minimum': 15, 'ceiling': 20, 'quantity': 3, 'lot_minimum': 24, 'real_bids': [11, 8], 'reserve_as_bid': 10, 'withdrawn': False, 'grant_round': 4}, [8, 16, 24, 32, 40]), ('amendment starts this round', {'round': 3, 'starts': [1, 3, 5], 'values': [12, 9, 6], 'approved': [True, False, True], 'disclosed': False, 'frozen': False, 'submitted_reserve': 8, 'current_reserve': 10, 'floor': 7, 'seller_minimum': 5, 'ceiling': 20, 'quantity': 3, 'lot_minimum': 24, 'real_bids': [11, 8], 'reserve_as_bid': 10, 'withdrawn': False, 'grant_round': 3}, [8, 16, 24, 32, 40]), ('first round', {'round': 1, 'starts': [1, 3, 5], 'values': [12, 9, 6], 'approved': [True, False, True], 'disclosed': False, 'frozen': False, 'submitted_reserve': 8, 'current_reserve': 10, 'floor': 7, 'seller_minimum': 5, 'ceiling': 20, 'quantity': 3, 'lot_minimum': 24, 'real_bids': [11, 8], 'reserve_as_bid': 10, 'withdrawn': False, 'grant_round': 4}, [8, 16, 24, 32, 40]), ('last round', {'round': 6, 'starts': [1, 3, 5], 'values': [12, 9, 6], 'approved': [True, False, True], 'disclosed': False, 'frozen': False, 'submitted_reserve': 8, 'current_reserve': 10, 'floor': 7, 'seller_minimum': 5, 'ceiling': 20, 'quantity': 3, 'lot_minimum': 24, 'real_bids': [11, 8], 'reserve_as_bid': 10, 'withdrawn': False, 'grant_round': 4}, [8, 16, 24, 32, 40]), ('all approved', {'round': 3, 'starts': [1, 3, 5], 'values': [12, 9, 6], 'approved': [True, True, True], 'disclosed': False, 'frozen': False, 'submitted_reserve': 8, 'current_reserve': 10, 'floor': 7, 'seller_minimum': 5, 'ceiling': 20, 'quantity': 3, 'lot_minimum': 24, 'real_bids': [11, 8], 'reserve_as_bid': 10, 'withdrawn': False, 'grant_round': 4}, [8, 16, 24, 32, 40]), ('public reserve', {'round': 3, 'starts': [1, 3, 5], 'values': [12, 9, 6], 'approved': [True, False, True], 'disclosed': True, 'frozen': False, 'submitted_reserve': 8, 'current_reserve': 10, 'floor': 7, 'seller_minimum': 5, 'ceiling': 20, 'quantity': 3, 'lot_minimum': 24, 'real_bids': [11, 8], 'reserve_as_bid': 10, 'withdrawn': False, 'grant_round': 4}, [8, 16, 24, 32, 40]), ('frozen reserve', {'round': 3, 'starts': [1, 3, 5], 'values': [12, 9, 6], 'approved': [True, False, True], 'disclosed': False, 'frozen': True, 'submitted_reserve': 8, 'current_reserve': 10, 'floor': 7, 'seller_minimum': 5, 'ceiling': 20, 'quantity': 3, 'lot_minimum': 24, 'real_bids': [11, 8], 'reserve_as_bid': 10, 'withdrawn': False, 'grant_round': 4}, [8, 16, 24, 32, 40]), ('reserve below floor', {'round': 3, 'starts': [1, 3, 5], 'values': [12, 9, 6], 'approved': [True, False, True], 'disclosed': False, 'frozen': False, 'submitted_reserve': 4, 'current_reserve': 10, 'floor': 7, 'seller_minimum': 5, 'ceiling': 20, 'quantity': 3, 'lot_minimum': 24, 'real_bids': [11, 8], 'reserve_as_bid': 10, 'withdrawn': False, 'grant_round': 4}, [4, 8, 12, 16, 20])]
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 ['count', 'delivery_index', 'disputed', 'maximum_set', 'minimum_set', 'quantity', 'stage', 'threshold', 'waived'] else vary(v)) for k,v in value.items()}
return value
for label, request, expected in fixtures:
check(label, solve(vary(request))['withdrawn-reserve-amendment'], 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 |
|---|---|---|---|
| withdrawn reserve amendment | 10 | 10 | Passed |
| seller floor binds / withdrawn reserve amendment | 10 | 10 | Passed |
| normal contract | 10 | 8 | Failed |
| seller floor binds | 10 | 8 | Failed |
| amendment starts this round | 10 | 8 | Failed |
| first round | 10 | 8 | Failed |
| last round | 10 | 8 | Failed |
| all approved | 10 | 8 | Failed |
| public reserve | 10 | 8 | Failed |
| frozen reserve | 10 | 8 | Failed |
| reserve below floor | 10 | 4 | Failed |
SHA-256 / e8918049c155765785a9d674a62d50d85e9387e5fdeb355810d9a10ccf2b7abd
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
v0 = max(((t,v) for t,v in zip(x["starts"],x["values"]) if t<=x["round"]),default=(0,None))[1]
v1 = max(((t,v) for t,v,a in zip(x["starts"],x["values"],x["approved"]) if t<=x["round"] and a),default=(0,None))[1]
v2 = x["current_reserve"] if x["disclosed"] else None
v3 = x["current_reserve"] if x["frozen"] else x["submitted_reserve"]
v4 = max(x["submitted_reserve"],x["floor"],x["seller_minimum"])
v5 = x["floor"]<=x["submitted_reserve"]<=x["ceiling"]
v6 = max(x["lot_minimum"],x["current_reserve"]*x["quantity"])
v7 = len(x["real_bids"])
v8 = x["current_reserve"] if x["withdrawn"] else x["submitted_reserve"]
v9 = x["submitted_reserve"] if x["round"]>=x["grant_round"] else x["current_reserve"]
return {'effective-reserve-step':v0,'approved-reserve-step':v1,'hidden-reserve-redaction':v2,'reserve-freeze':v3,'reserve-lower-bound':v4,'reserve-range-admission':v5,'whole-lot-reserve':v6,'reserve-not-a-bidder':v7,'withdrawn-reserve-amendment':v8,'grant-round-activation':v9}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [('withdrawn reserve amendment', {'round': 3, 'starts': [1, 3, 5], 'values': [12, 9, 6], 'approved': [True, False, True], 'disclosed': False, 'frozen': False, 'submitted_reserve': 8, 'current_reserve': 10, 'floor': 7, 'seller_minimum': 5, 'ceiling': 20, 'quantity': 3, 'lot_minimum': 24, 'real_bids': [11, 8], 'reserve_as_bid': 10, 'withdrawn': True, 'grant_round': 4}, [10, 20, 30, 40, 50]), ('seller floor binds / withdrawn reserve amendment', {'round': 3, 'starts': [1, 3, 5], 'values': [12, 9, 6], 'approved': [True, False, True], 'disclosed': False, 'frozen': False, 'submitted_reserve': 8, 'current_reserve': 10, 'floor': 7, 'seller_minimum': 15, 'ceiling': 20, 'quantity': 3, 'lot_minimum': 24, 'real_bids': [11, 8], 'reserve_as_bid': 10, 'withdrawn': True, 'grant_round': 4}, [10, 20, 30, 40, 50]), ('normal contract', {'round': 3, 'starts': [1, 3, 5], 'values': [12, 9, 6], 'approved': [True, False, True], 'disclosed': False, 'frozen': False, 'submitted_reserve': 8, 'current_reserve': 10, 'floor': 7, 'seller_minimum': 5, 'ceiling': 20, 'quantity': 3, 'lot_minimum': 24, 'real_bids': [11, 8], 'reserve_as_bid': 10, 'withdrawn': False, 'grant_round': 4}, [8, 16, 24, 32, 40]), ('seller floor binds', {'round': 3, 'starts': [1, 3, 5], 'values': [12, 9, 6], 'approved': [True, False, True], 'disclosed': False, 'frozen': False, 'submitted_reserve': 8, 'current_reserve': 10, 'floor': 7, 'seller_minimum': 15, 'ceiling': 20, 'quantity': 3, 'lot_minimum': 24, 'real_bids': [11, 8], 'reserve_as_bid': 10, 'withdrawn': False, 'grant_round': 4}, [8, 16, 24, 32, 40]), ('amendment starts this round', {'round': 3, 'starts': [1, 3, 5], 'values': [12, 9, 6], 'approved': [True, False, True], 'disclosed': False, 'frozen': False, 'submitted_reserve': 8, 'current_reserve': 10, 'floor': 7, 'seller_minimum': 5, 'ceiling': 20, 'quantity': 3, 'lot_minimum': 24, 'real_bids': [11, 8], 'reserve_as_bid': 10, 'withdrawn': False, 'grant_round': 3}, [8, 16, 24, 32, 40]), ('first round', {'round': 1, 'starts': [1, 3, 5], 'values': [12, 9, 6], 'approved': [True, False, True], 'disclosed': False, 'frozen': False, 'submitted_reserve': 8, 'current_reserve': 10, 'floor': 7, 'seller_minimum': 5, 'ceiling': 20, 'quantity': 3, 'lot_minimum': 24, 'real_bids': [11, 8], 'reserve_as_bid': 10, 'withdrawn': False, 'grant_round': 4}, [8, 16, 24, 32, 40]), ('last round', {'round': 6, 'starts': [1, 3, 5], 'values': [12, 9, 6], 'approved': [True, False, True], 'disclosed': False, 'frozen': False, 'submitted_reserve': 8, 'current_reserve': 10, 'floor': 7, 'seller_minimum': 5, 'ceiling': 20, 'quantity': 3, 'lot_minimum': 24, 'real_bids': [11, 8], 'reserve_as_bid': 10, 'withdrawn': False, 'grant_round': 4}, [8, 16, 24, 32, 40]), ('all approved', {'round': 3, 'starts': [1, 3, 5], 'values': [12, 9, 6], 'approved': [True, True, True], 'disclosed': False, 'frozen': False, 'submitted_reserve': 8, 'current_reserve': 10, 'floor': 7, 'seller_minimum': 5, 'ceiling': 20, 'quantity': 3, 'lot_minimum': 24, 'real_bids': [11, 8], 'reserve_as_bid': 10, 'withdrawn': False, 'grant_round': 4}, [8, 16, 24, 32, 40]), ('public reserve', {'round': 3, 'starts': [1, 3, 5], 'values': [12, 9, 6], 'approved': [True, False, True], 'disclosed': True, 'frozen': False, 'submitted_reserve': 8, 'current_reserve': 10, 'floor': 7, 'seller_minimum': 5, 'ceiling': 20, 'quantity': 3, 'lot_minimum': 24, 'real_bids': [11, 8], 'reserve_as_bid': 10, 'withdrawn': False, 'grant_round': 4}, [8, 16, 24, 32, 40]), ('frozen reserve', {'round': 3, 'starts': [1, 3, 5], 'values': [12, 9, 6], 'approved': [True, False, True], 'disclosed': False, 'frozen': True, 'submitted_reserve': 8, 'current_reserve': 10, 'floor': 7, 'seller_minimum': 5, 'ceiling': 20, 'quantity': 3, 'lot_minimum': 24, 'real_bids': [11, 8], 'reserve_as_bid': 10, 'withdrawn': False, 'grant_round': 4}, [8, 16, 24, 32, 40]), ('reserve below floor', {'round': 3, 'starts': [1, 3, 5], 'values': [12, 9, 6], 'approved': [True, False, True], 'disclosed': False, 'frozen': False, 'submitted_reserve': 4, 'current_reserve': 10, 'floor': 7, 'seller_minimum': 5, 'ceiling': 20, 'quantity': 3, 'lot_minimum': 24, 'real_bids': [11, 8], 'reserve_as_bid': 10, 'withdrawn': False, 'grant_round': 4}, [4, 8, 12, 16, 20])]
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 ['count', 'delivery_index', 'disputed', 'maximum_set', 'minimum_set', 'quantity', 'stage', 'threshold', 'waived'] else vary(v)) for k,v in value.items()}
return value
for label, request, expected in fixtures:
check(label, solve(vary(request))['withdrawn-reserve-amendment'], 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 |
|---|---|---|---|
| withdrawn reserve amendment | 10 | 10 | Passed |
| seller floor binds / withdrawn reserve amendment | 10 | 10 | Passed |
| normal contract | 8 | 8 | Passed |
| seller floor binds | 8 | 8 | Passed |
| amendment starts this round | 8 | 8 | Passed |
| first round | 8 | 8 | Passed |
| last round | 8 | 8 | Passed |
| all approved | 8 | 8 | Passed |
| public reserve | 8 | 8 | Passed |
| frozen reserve | 8 | 8 | Passed |
| reserve below floor | 4 | 4 | Passed |
SHA-256 / 67a850a6df39d87691e401c33447226ca20a3e728aecfd9402029a5739d11b59
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:19.893826+00:00.
Case digest / eb2ee0696740513299400b32b1846807cd5ee211d34d937e16491aaba071cb16