FAILURE MAP
← Case archive

FA-56431 / Auction allocation rules / Open access

Amendment priority: freeze restriction · case 01

A freeze patch permits repricing merely because quantity decreases.

Verified by executionVariant 1 · 13 checks per implementationDownload source bundle ↓JSON ↗

ROOT CAUSE

A freeze patch permits repricing merely because quantity decreases.

VERIFIED REPAIR

During freeze permit only nonincreasing quantity at the old price.

Unsuccessful approach: The attempted repair uses not x["frozen"] or x["new_total"]<=x["total"]; 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 freeze-restriction: During freeze permit only nonincreasing quantity at the old price.

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"] 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"]
    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 = [('auction freeze', {'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': True, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [True, True, True, True, True]), ('unrelated acknowledgment / auction freeze', {'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': True, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [True, True, True, True, True]), ('lower price / auction freeze', {'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': True, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [False, False, False, False, False]), ('price replacement / auction freeze', {'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': True, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [False, False, False, False, False]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True])]
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))['freeze-restriction'], 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 fixtureActualExpectedOutcome
auction freezeFalseTrueFailed
unrelated acknowledgment / auction freezeFalseTrueFailed
lower price / auction freezeFalseFalsePassed
price replacement / auction freezeFalseFalsePassed
normal contractTrueTruePassed
lower priceTrueTruePassed
unrelated acknowledgmentTrueTruePassed
future revisionTrueTruePassed
no collateral heldTrueTruePassed
price replacementTrueTruePassed
size increaseTrueTruePassed
below executed sizeTrueTruePassed
acknowledged cancelTrueTruePassed

SHA-256 / def31e02e3c028a014dd05207250e51f31d2a2f1e8c91a65f2ba93e4c6aeade7

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["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_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 = [('auction freeze', {'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': True, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [True, True, True, True, True]), ('unrelated acknowledgment / auction freeze', {'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': True, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [True, True, True, True, True]), ('lower price / auction freeze', {'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': True, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [False, False, False, False, False]), ('price replacement / auction freeze', {'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': True, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [False, False, False, False, False]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True])]
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))['freeze-restriction'], 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 fixtureActualExpectedOutcome
auction freezeTrueTruePassed
unrelated acknowledgment / auction freezeTrueTruePassed
lower price / auction freezeTrueFalseFailed
price replacement / auction freezeTrueFalseFailed
normal contractTrueTruePassed
lower priceTrueTruePassed
unrelated acknowledgmentTrueTruePassed
future revisionTrueTruePassed
no collateral heldTrueTruePassed
price replacementTrueTruePassed
size increaseTrueTruePassed
below executed sizeTrueTruePassed
acknowledged cancelTrueTruePassed

SHA-256 / 1124a004d36c48247dc1348d3f042ddf8a18b890d257ddde139ec34e3d119104

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 = [('auction freeze', {'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': True, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [True, True, True, True, True]), ('unrelated acknowledgment / auction freeze', {'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': True, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [True, True, True, True, True]), ('lower price / auction freeze', {'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': True, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [False, False, False, False, False]), ('price replacement / auction freeze', {'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': True, 'held': 8, 'request_id': 'r2', 'last_id': 'r1'}, [False, False, False, False, False]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True])]
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))['freeze-restriction'], 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 fixtureActualExpectedOutcome
auction freezeTrueTruePassed
unrelated acknowledgment / auction freezeTrueTruePassed
lower price / auction freezeFalseFalsePassed
price replacement / auction freezeFalseFalsePassed
normal contractTrueTruePassed
lower priceTrueTruePassed
unrelated acknowledgmentTrueTruePassed
future revisionTrueTruePassed
no collateral heldTrueTruePassed
price replacementTrueTruePassed
size increaseTrueTruePassed
below executed sizeTrueTruePassed
acknowledged cancelTrueTruePassed

SHA-256 / 956988ff72b8b9f222c39ec8de695a5247e8f621c9893f2b1cf5546d70690a75

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.999094+00:00.

Case digest / 60409f0c31b3b30803b908f4e27bb839abee57468c695acd6fc5224ac394625f