FA-56411 / Auction allocation rules / Open access
Amendment priority: cancel ack gate · case 01
Requesting cancellation is confused with acknowledgment of cancellation.
ROOT CAUSE
Requesting cancellation is confused with acknowledgment of cancellation.
VERIFIED REPAIR
Remove remaining quantity only for the acknowledged cancel request.
Unsuccessful approach: The attempted repair uses 0 if x["ack"] else max(0,x["total"]-x["filled"]); the explicit regression cases demonstrate that this still violates the stipulated auction rule.
Case contract
A single auction order amendment tracks filled units, original queue stamp and an incoming replacement. Price change or size increase loses queue priority; reducing total size cannot erase existing fills. A cancel acknowledgment terminates remaining quantity. Integer stamps and quantities are nonnegative. Named decision cancel-ack-gate: Remove remaining quantity only for the acknowledged cancel request.
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 = x["now"] if x["new_total"]>x["total"] else x["stamp"]
v1 = x["now"] if x["new_price"]!=x["old_price"] else x["stamp"]
v2 = max(x["filled"],x["new_total"])
v3 = max(0,x["new_total"]-x["filled"])
v4 = 0 if x["cancel"] else max(0,x["total"]-x["filled"])
v5 = x["expected"]==x["revision"]
v6 = x["old_lot"]==x["new_lot"]
v7 = x["old_owner"]==x["new_owner"]
v8 = not x["frozen"] or (x["new_price"]==x["old_price"] and x["new_total"]<=x["total"])
v9 = x["revision"] if x["request_id"]==x["last_id"] else x["revision"]+1
return {'increase-priority':v0,'price-priority':v1,'filled-floor':v2,'remaining-recalculation':v3,'cancel-ack-gate':v4,'revision-compare':v5,'lot-immutability':v6,'owner-immutability':v7,'freeze-restriction':v8,'request-replay':v9}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [('cancel in flight', {'old_price': 10, 'new_price': 10, 'total': 8, 'new_total': 6, 'filled': 3, 'stamp': 1, 'now': 8, 'cancel': True, 'ack': False, 'revision': 2, 'expected': 2, 'old_lot': 'A', 'new_lot': 'A', 'old_owner': 'a', 'new_owner': 'a', 'frozen': False, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [5, 10, 15, 20, 25]), ('lower price / cancel in flight', {'old_price': 10, 'new_price': 8, 'total': 8, 'new_total': 6, 'filled': 3, 'stamp': 1, 'now': 8, 'cancel': True, 'ack': False, 'revision': 2, 'expected': 2, 'old_lot': 'A', 'new_lot': 'A', 'old_owner': 'a', 'new_owner': 'a', 'frozen': False, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [5, 10, 15, 20, 25]), ('unrelated acknowledgment', {'old_price': 10, 'new_price': 10, 'total': 8, 'new_total': 6, 'filled': 3, 'stamp': 1, 'now': 8, 'cancel': False, 'ack': True, 'revision': 2, 'expected': 2, 'old_lot': 'A', 'new_lot': 'A', 'old_owner': 'a', 'new_owner': 'a', 'frozen': False, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [5, 10, 15, 20, 25]), ('lower price / unrelated acknowledgment', {'old_price': 10, 'new_price': 8, 'total': 8, 'new_total': 6, 'filled': 3, 'stamp': 1, 'now': 8, 'cancel': False, 'ack': True, 'revision': 2, 'expected': 2, 'old_lot': 'A', 'new_lot': 'A', 'old_owner': 'a', 'new_owner': 'a', 'frozen': False, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [5, 10, 15, 20, 25]), ('normal contract', {'old_price': 10, 'new_price': 10, 'total': 8, 'new_total': 6, 'filled': 3, 'stamp': 1, 'now': 8, 'cancel': False, 'ack': False, 'revision': 2, 'expected': 2, 'old_lot': 'A', 'new_lot': 'A', 'old_owner': 'a', 'new_owner': 'a', 'frozen': False, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [5, 10, 15, 20, 25]), ('lower price', {'old_price': 10, 'new_price': 8, 'total': 8, 'new_total': 6, 'filled': 3, 'stamp': 1, 'now': 8, 'cancel': False, 'ack': False, 'revision': 2, 'expected': 2, 'old_lot': 'A', 'new_lot': 'A', 'old_owner': 'a', 'new_owner': 'a', 'frozen': False, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [5, 10, 15, 20, 25]), ('future revision', {'old_price': 10, 'new_price': 10, 'total': 8, 'new_total': 6, 'filled': 3, 'stamp': 1, 'now': 8, 'cancel': False, 'ack': False, 'revision': 2, 'expected': 3, 'old_lot': 'A', 'new_lot': 'A', 'old_owner': 'a', 'new_owner': 'a', 'frozen': False, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [5, 10, 15, 20, 25]), ('no collateral held', {'old_price': 10, 'new_price': 10, 'total': 8, 'new_total': 6, 'filled': 3, 'stamp': 1, 'now': 8, 'cancel': False, 'ack': False, 'revision': 2, 'expected': 2, 'old_lot': 'A', 'new_lot': 'A', 'old_owner': 'a', 'new_owner': 'a', 'frozen': False, 'held': 0, 'request_id': 'r2', 'last_id': 'r1'}, [5, 10, 15, 20, 25]), ('price replacement', {'old_price': 10, 'new_price': 12, 'total': 8, 'new_total': 6, 'filled': 3, 'stamp': 1, 'now': 8, 'cancel': False, 'ack': False, 'revision': 2, 'expected': 2, 'old_lot': 'A', 'new_lot': 'A', 'old_owner': 'a', 'new_owner': 'a', 'frozen': False, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [5, 10, 15, 20, 25]), ('size increase', {'old_price': 10, 'new_price': 10, 'total': 8, 'new_total': 12, 'filled': 3, 'stamp': 1, 'now': 8, 'cancel': False, 'ack': False, 'revision': 2, 'expected': 2, 'old_lot': 'A', 'new_lot': 'A', 'old_owner': 'a', 'new_owner': 'a', 'frozen': False, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [5, 10, 15, 20, 25]), ('below executed size', {'old_price': 10, 'new_price': 10, 'total': 8, 'new_total': 2, 'filled': 3, 'stamp': 1, 'now': 8, 'cancel': False, 'ack': False, 'revision': 2, 'expected': 2, 'old_lot': 'A', 'new_lot': 'A', 'old_owner': 'a', 'new_owner': 'a', 'frozen': False, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [5, 10, 15, 20, 25]), ('acknowledged cancel', {'old_price': 10, 'new_price': 10, 'total': 8, 'new_total': 6, 'filled': 3, 'stamp': 1, 'now': 8, 'cancel': True, 'ack': True, 'revision': 2, 'expected': 2, 'old_lot': 'A', 'new_lot': 'A', 'old_owner': 'a', 'new_owner': 'a', 'frozen': False, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [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 ['count', 'delivery_index', 'disputed', 'maximum_set', 'minimum_set', '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))['cancel-ack-gate'], 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 |
|---|---|---|---|
| cancel in flight | 0 | 5 | Failed |
| lower price / cancel in flight | 0 | 5 | Failed |
| unrelated acknowledgment | 5 | 5 | Passed |
| lower price / unrelated acknowledgment | 5 | 5 | Passed |
| normal contract | 5 | 5 | Passed |
| lower price | 5 | 5 | Passed |
| future revision | 5 | 5 | Passed |
| no collateral held | 5 | 5 | Passed |
| price replacement | 5 | 5 | Passed |
| size increase | 5 | 5 | Passed |
| below executed size | 5 | 5 | Passed |
| acknowledged cancel | 0 | 0 | Passed |
SHA-256 / 10f4f699a922683e9b5a1834e88a92885fb1ce7802750e19f77d71b6ea0fba30
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
v0 = x["now"] if x["new_total"]>x["total"] else x["stamp"]
v1 = x["now"] if x["new_price"]!=x["old_price"] else x["stamp"]
v2 = max(x["filled"],x["new_total"])
v3 = max(0,x["new_total"]-x["filled"])
v4 = 0 if x["ack"] else max(0,x["total"]-x["filled"])
v5 = x["expected"]==x["revision"]
v6 = x["old_lot"]==x["new_lot"]
v7 = x["old_owner"]==x["new_owner"]
v8 = not x["frozen"] or (x["new_price"]==x["old_price"] and x["new_total"]<=x["total"])
v9 = x["revision"] if x["request_id"]==x["last_id"] else x["revision"]+1
return {'increase-priority':v0,'price-priority':v1,'filled-floor':v2,'remaining-recalculation':v3,'cancel-ack-gate':v4,'revision-compare':v5,'lot-immutability':v6,'owner-immutability':v7,'freeze-restriction':v8,'request-replay':v9}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [('cancel in flight', {'old_price': 10, 'new_price': 10, 'total': 8, 'new_total': 6, 'filled': 3, 'stamp': 1, 'now': 8, 'cancel': True, 'ack': False, 'revision': 2, 'expected': 2, 'old_lot': 'A', 'new_lot': 'A', 'old_owner': 'a', 'new_owner': 'a', 'frozen': False, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [5, 10, 15, 20, 25]), ('lower price / cancel in flight', {'old_price': 10, 'new_price': 8, 'total': 8, 'new_total': 6, 'filled': 3, 'stamp': 1, 'now': 8, 'cancel': True, 'ack': False, 'revision': 2, 'expected': 2, 'old_lot': 'A', 'new_lot': 'A', 'old_owner': 'a', 'new_owner': 'a', 'frozen': False, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [5, 10, 15, 20, 25]), ('unrelated acknowledgment', {'old_price': 10, 'new_price': 10, 'total': 8, 'new_total': 6, 'filled': 3, 'stamp': 1, 'now': 8, 'cancel': False, 'ack': True, 'revision': 2, 'expected': 2, 'old_lot': 'A', 'new_lot': 'A', 'old_owner': 'a', 'new_owner': 'a', 'frozen': False, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [5, 10, 15, 20, 25]), ('lower price / unrelated acknowledgment', {'old_price': 10, 'new_price': 8, 'total': 8, 'new_total': 6, 'filled': 3, 'stamp': 1, 'now': 8, 'cancel': False, 'ack': True, 'revision': 2, 'expected': 2, 'old_lot': 'A', 'new_lot': 'A', 'old_owner': 'a', 'new_owner': 'a', 'frozen': False, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [5, 10, 15, 20, 25]), ('normal contract', {'old_price': 10, 'new_price': 10, 'total': 8, 'new_total': 6, 'filled': 3, 'stamp': 1, 'now': 8, 'cancel': False, 'ack': False, 'revision': 2, 'expected': 2, 'old_lot': 'A', 'new_lot': 'A', 'old_owner': 'a', 'new_owner': 'a', 'frozen': False, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [5, 10, 15, 20, 25]), ('lower price', {'old_price': 10, 'new_price': 8, 'total': 8, 'new_total': 6, 'filled': 3, 'stamp': 1, 'now': 8, 'cancel': False, 'ack': False, 'revision': 2, 'expected': 2, 'old_lot': 'A', 'new_lot': 'A', 'old_owner': 'a', 'new_owner': 'a', 'frozen': False, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [5, 10, 15, 20, 25]), ('future revision', {'old_price': 10, 'new_price': 10, 'total': 8, 'new_total': 6, 'filled': 3, 'stamp': 1, 'now': 8, 'cancel': False, 'ack': False, 'revision': 2, 'expected': 3, 'old_lot': 'A', 'new_lot': 'A', 'old_owner': 'a', 'new_owner': 'a', 'frozen': False, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [5, 10, 15, 20, 25]), ('no collateral held', {'old_price': 10, 'new_price': 10, 'total': 8, 'new_total': 6, 'filled': 3, 'stamp': 1, 'now': 8, 'cancel': False, 'ack': False, 'revision': 2, 'expected': 2, 'old_lot': 'A', 'new_lot': 'A', 'old_owner': 'a', 'new_owner': 'a', 'frozen': False, 'held': 0, 'request_id': 'r2', 'last_id': 'r1'}, [5, 10, 15, 20, 25]), ('price replacement', {'old_price': 10, 'new_price': 12, 'total': 8, 'new_total': 6, 'filled': 3, 'stamp': 1, 'now': 8, 'cancel': False, 'ack': False, 'revision': 2, 'expected': 2, 'old_lot': 'A', 'new_lot': 'A', 'old_owner': 'a', 'new_owner': 'a', 'frozen': False, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [5, 10, 15, 20, 25]), ('size increase', {'old_price': 10, 'new_price': 10, 'total': 8, 'new_total': 12, 'filled': 3, 'stamp': 1, 'now': 8, 'cancel': False, 'ack': False, 'revision': 2, 'expected': 2, 'old_lot': 'A', 'new_lot': 'A', 'old_owner': 'a', 'new_owner': 'a', 'frozen': False, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [5, 10, 15, 20, 25]), ('below executed size', {'old_price': 10, 'new_price': 10, 'total': 8, 'new_total': 2, 'filled': 3, 'stamp': 1, 'now': 8, 'cancel': False, 'ack': False, 'revision': 2, 'expected': 2, 'old_lot': 'A', 'new_lot': 'A', 'old_owner': 'a', 'new_owner': 'a', 'frozen': False, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [5, 10, 15, 20, 25]), ('acknowledged cancel', {'old_price': 10, 'new_price': 10, 'total': 8, 'new_total': 6, 'filled': 3, 'stamp': 1, 'now': 8, 'cancel': True, 'ack': True, 'revision': 2, 'expected': 2, 'old_lot': 'A', 'new_lot': 'A', 'old_owner': 'a', 'new_owner': 'a', 'frozen': False, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [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 ['count', 'delivery_index', 'disputed', 'maximum_set', 'minimum_set', '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))['cancel-ack-gate'], 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 |
|---|---|---|---|
| cancel in flight | 5 | 5 | Passed |
| lower price / cancel in flight | 5 | 5 | Passed |
| unrelated acknowledgment | 0 | 5 | Failed |
| lower price / unrelated acknowledgment | 0 | 5 | Failed |
| normal contract | 5 | 5 | Passed |
| lower price | 5 | 5 | Passed |
| future revision | 5 | 5 | Passed |
| no collateral held | 5 | 5 | Passed |
| price replacement | 5 | 5 | Passed |
| size increase | 5 | 5 | Passed |
| below executed size | 5 | 5 | Passed |
| acknowledged cancel | 0 | 0 | Passed |
SHA-256 / 5a6bd421de9af5ca0a5e4c55a0220c2dd175054422f63dc7b3b4138f593975be
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
v0 = x["now"] if x["new_total"]>x["total"] else x["stamp"]
v1 = x["now"] if x["new_price"]!=x["old_price"] else x["stamp"]
v2 = max(x["filled"],x["new_total"])
v3 = max(0,x["new_total"]-x["filled"])
v4 = 0 if x["cancel"] and x["ack"] else max(0,x["total"]-x["filled"])
v5 = x["expected"]==x["revision"]
v6 = x["old_lot"]==x["new_lot"]
v7 = x["old_owner"]==x["new_owner"]
v8 = not x["frozen"] or (x["new_price"]==x["old_price"] and x["new_total"]<=x["total"])
v9 = x["revision"] if x["request_id"]==x["last_id"] else x["revision"]+1
return {'increase-priority':v0,'price-priority':v1,'filled-floor':v2,'remaining-recalculation':v3,'cancel-ack-gate':v4,'revision-compare':v5,'lot-immutability':v6,'owner-immutability':v7,'freeze-restriction':v8,'request-replay':v9}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [('cancel in flight', {'old_price': 10, 'new_price': 10, 'total': 8, 'new_total': 6, 'filled': 3, 'stamp': 1, 'now': 8, 'cancel': True, 'ack': False, 'revision': 2, 'expected': 2, 'old_lot': 'A', 'new_lot': 'A', 'old_owner': 'a', 'new_owner': 'a', 'frozen': False, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [5, 10, 15, 20, 25]), ('lower price / cancel in flight', {'old_price': 10, 'new_price': 8, 'total': 8, 'new_total': 6, 'filled': 3, 'stamp': 1, 'now': 8, 'cancel': True, 'ack': False, 'revision': 2, 'expected': 2, 'old_lot': 'A', 'new_lot': 'A', 'old_owner': 'a', 'new_owner': 'a', 'frozen': False, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [5, 10, 15, 20, 25]), ('unrelated acknowledgment', {'old_price': 10, 'new_price': 10, 'total': 8, 'new_total': 6, 'filled': 3, 'stamp': 1, 'now': 8, 'cancel': False, 'ack': True, 'revision': 2, 'expected': 2, 'old_lot': 'A', 'new_lot': 'A', 'old_owner': 'a', 'new_owner': 'a', 'frozen': False, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [5, 10, 15, 20, 25]), ('lower price / unrelated acknowledgment', {'old_price': 10, 'new_price': 8, 'total': 8, 'new_total': 6, 'filled': 3, 'stamp': 1, 'now': 8, 'cancel': False, 'ack': True, 'revision': 2, 'expected': 2, 'old_lot': 'A', 'new_lot': 'A', 'old_owner': 'a', 'new_owner': 'a', 'frozen': False, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [5, 10, 15, 20, 25]), ('normal contract', {'old_price': 10, 'new_price': 10, 'total': 8, 'new_total': 6, 'filled': 3, 'stamp': 1, 'now': 8, 'cancel': False, 'ack': False, 'revision': 2, 'expected': 2, 'old_lot': 'A', 'new_lot': 'A', 'old_owner': 'a', 'new_owner': 'a', 'frozen': False, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [5, 10, 15, 20, 25]), ('lower price', {'old_price': 10, 'new_price': 8, 'total': 8, 'new_total': 6, 'filled': 3, 'stamp': 1, 'now': 8, 'cancel': False, 'ack': False, 'revision': 2, 'expected': 2, 'old_lot': 'A', 'new_lot': 'A', 'old_owner': 'a', 'new_owner': 'a', 'frozen': False, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [5, 10, 15, 20, 25]), ('future revision', {'old_price': 10, 'new_price': 10, 'total': 8, 'new_total': 6, 'filled': 3, 'stamp': 1, 'now': 8, 'cancel': False, 'ack': False, 'revision': 2, 'expected': 3, 'old_lot': 'A', 'new_lot': 'A', 'old_owner': 'a', 'new_owner': 'a', 'frozen': False, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [5, 10, 15, 20, 25]), ('no collateral held', {'old_price': 10, 'new_price': 10, 'total': 8, 'new_total': 6, 'filled': 3, 'stamp': 1, 'now': 8, 'cancel': False, 'ack': False, 'revision': 2, 'expected': 2, 'old_lot': 'A', 'new_lot': 'A', 'old_owner': 'a', 'new_owner': 'a', 'frozen': False, 'held': 0, 'request_id': 'r2', 'last_id': 'r1'}, [5, 10, 15, 20, 25]), ('price replacement', {'old_price': 10, 'new_price': 12, 'total': 8, 'new_total': 6, 'filled': 3, 'stamp': 1, 'now': 8, 'cancel': False, 'ack': False, 'revision': 2, 'expected': 2, 'old_lot': 'A', 'new_lot': 'A', 'old_owner': 'a', 'new_owner': 'a', 'frozen': False, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [5, 10, 15, 20, 25]), ('size increase', {'old_price': 10, 'new_price': 10, 'total': 8, 'new_total': 12, 'filled': 3, 'stamp': 1, 'now': 8, 'cancel': False, 'ack': False, 'revision': 2, 'expected': 2, 'old_lot': 'A', 'new_lot': 'A', 'old_owner': 'a', 'new_owner': 'a', 'frozen': False, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [5, 10, 15, 20, 25]), ('below executed size', {'old_price': 10, 'new_price': 10, 'total': 8, 'new_total': 2, 'filled': 3, 'stamp': 1, 'now': 8, 'cancel': False, 'ack': False, 'revision': 2, 'expected': 2, 'old_lot': 'A', 'new_lot': 'A', 'old_owner': 'a', 'new_owner': 'a', 'frozen': False, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [5, 10, 15, 20, 25]), ('acknowledged cancel', {'old_price': 10, 'new_price': 10, 'total': 8, 'new_total': 6, 'filled': 3, 'stamp': 1, 'now': 8, 'cancel': True, 'ack': True, 'revision': 2, 'expected': 2, 'old_lot': 'A', 'new_lot': 'A', 'old_owner': 'a', 'new_owner': 'a', 'frozen': False, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [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 ['count', 'delivery_index', 'disputed', 'maximum_set', 'minimum_set', '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))['cancel-ack-gate'], 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 |
|---|---|---|---|
| cancel in flight | 5 | 5 | Passed |
| lower price / cancel in flight | 5 | 5 | Passed |
| unrelated acknowledgment | 5 | 5 | Passed |
| lower price / unrelated acknowledgment | 5 | 5 | Passed |
| normal contract | 5 | 5 | Passed |
| lower price | 5 | 5 | Passed |
| future revision | 5 | 5 | Passed |
| no collateral held | 5 | 5 | Passed |
| price replacement | 5 | 5 | Passed |
| size increase | 5 | 5 | Passed |
| below executed size | 5 | 5 | Passed |
| acknowledged cancel | 0 | 0 | Passed |
SHA-256 / 8543612583531e3d3e9d4763ba6ff19b18e3817c0db437992175c82fe6bad598
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:06.930132+00:00.
Case digest / 374276ceeb276a0ab93d4853f2cf7e620ce80ceae808e4f920ee0e0c857c1d63