FA-57796 / Auction allocation rules / Open access
Award assignment: undelivered assignment cap · case 01
Assignment transfers units already delivered under the award.
ROOT CAUSE
Assignment transfers units already delivered under the award.
VERIFIED REPAIR
For undelivered assignment cap, apply the stipulated decision min(x["assign"],max(0,x["award"]-x["delivered"])).
Unsuccessful approach: The attempted repair uses x["assign"]; the explicit regression cases demonstrate that this still violates the stipulated auction rule.
Case contract
A winning bidder assigns an award subject to buyer, seller and assignee consents. Assignment transfers only undelivered units and the matching unpaid obligation. Partial assignments preserve original provenance and do not release an original guarantee without novation. Named decision undelivered-assignment-cap: For undelivered assignment cap, apply the stipulated decision min(x["assign"],max(0,x["award"]-x["delivered"])).
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["seller_consents"] and x["buyer_consents"] and x["assignee_accepts"]
v1 = min(x["assign"],x["award"])
v2 = max(0,x["award"]-x["delivered"]-x["assign"])
v3 = min(x["assign"],max(0,x["award"]-x["paid_units"]))
v4 = 0 if x["novation"] and x["completed"] else x["guarantee"]
v5 = x["assignee"] in x["approved_assignees"] and x["assignee"] not in x["banned"]
v6 = 0 if x["assignee"]==x["original"] else x["assign"]
v7 = [x["new_id"],x["source_id"],x["original"],x["assignee"]]
v8 = x["new_id"]!=x["source_id"]
v9 = x["escrow"]>=x["required_escrow"]+x["assignment_fee"]
return {'three-party-consent':v0,'undelivered-assignment-cap':v1,'remaining-original-obligation':v2,'assigned-unpaid-units':v3,'guarantee-novation':v4,'assignee-admission':v5,'self-assignment-noop':v6,'assignment-provenance':v7,'distinct-assignment-id':v8,'escrow-and-assignment-fee':v9}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [('overassignment', {'award': 8, 'delivered': 3, 'assign': 7, 'original': 'a', 'assignee': 'b', 'seller_consents': True, 'buyer_consents': True, 'assignee_accepts': False, 'paid_units': 2, 'guarantee': 10, 'novation': False, 'approved_assignees': ['b'], 'banned': ['c'], 'assignments': [['b', 2], ['c', 1]], 'source_id': 'w1', 'new_id': 'w2', 'completed': False, 'escrow': 12, 'required_escrow': 8, 'assignment_fee': 2}, [5, 10, 15, 20, 25]), ('all delivered', {'award': 8, 'delivered': 8, 'assign': 4, 'original': 'a', 'assignee': 'b', 'seller_consents': True, 'buyer_consents': True, 'assignee_accepts': False, 'paid_units': 2, 'guarantee': 10, 'novation': False, 'approved_assignees': ['b'], 'banned': ['c'], 'assignments': [['b', 2], ['c', 1]], 'source_id': 'w1', 'new_id': 'w2', 'completed': False, 'escrow': 12, 'required_escrow': 8, 'assignment_fee': 2}, [0, 0, 0, 0, 0]), ('normal contract', {'award': 8, 'delivered': 3, 'assign': 4, 'original': 'a', 'assignee': 'b', 'seller_consents': True, 'buyer_consents': True, 'assignee_accepts': False, 'paid_units': 2, 'guarantee': 10, 'novation': False, 'approved_assignees': ['b'], 'banned': ['c'], 'assignments': [['b', 2], ['c', 1]], 'source_id': 'w1', 'new_id': 'w2', 'completed': False, 'escrow': 12, 'required_escrow': 8, 'assignment_fee': 2}, [4, 8, 12, 16, 20]), ('approved banned assignee', {'award': 8, 'delivered': 3, 'assign': 4, 'original': 'a', 'assignee': 'b', 'seller_consents': True, 'buyer_consents': True, 'assignee_accepts': False, 'paid_units': 2, 'guarantee': 10, 'novation': False, 'approved_assignees': ['b'], 'banned': ['b'], 'assignments': [['b', 2], ['c', 1]], 'source_id': 'w1', 'new_id': 'w2', 'completed': False, 'escrow': 12, 'required_escrow': 8, 'assignment_fee': 2}, [4, 8, 12, 16, 20]), ('unapproved unbanned assignee', {'award': 8, 'delivered': 3, 'assign': 4, 'original': 'a', 'assignee': 'b', 'seller_consents': True, 'buyer_consents': True, 'assignee_accepts': False, 'paid_units': 2, 'guarantee': 10, 'novation': False, 'approved_assignees': [], 'banned': ['c'], 'assignments': [['b', 2], ['c', 1]], 'source_id': 'w1', 'new_id': 'w2', 'completed': False, 'escrow': 12, 'required_escrow': 8, 'assignment_fee': 2}, [4, 8, 12, 16, 20]), ('fee exceeds residual escrow', {'award': 8, 'delivered': 3, 'assign': 4, 'original': 'a', 'assignee': 'b', 'seller_consents': True, 'buyer_consents': True, 'assignee_accepts': False, 'paid_units': 2, 'guarantee': 10, 'novation': False, 'approved_assignees': ['b'], 'banned': ['c'], 'assignments': [['b', 2], ['c', 1]], 'source_id': 'w1', 'new_id': 'w2', 'completed': False, 'escrow': 9, 'required_escrow': 8, 'assignment_fee': 2}, [4, 8, 12, 16, 20]), ('all consents', {'award': 8, 'delivered': 3, 'assign': 4, 'original': 'a', 'assignee': 'b', 'seller_consents': True, 'buyer_consents': True, 'assignee_accepts': True, 'paid_units': 2, 'guarantee': 10, 'novation': False, 'approved_assignees': ['b'], 'banned': ['c'], 'assignments': [['b', 2], ['c', 1]], 'source_id': 'w1', 'new_id': 'w2', 'completed': False, 'escrow': 12, 'required_escrow': 8, 'assignment_fee': 2}, [4, 8, 12, 16, 20]), ('seller refuses', {'award': 8, 'delivered': 3, 'assign': 4, 'original': 'a', 'assignee': 'b', 'seller_consents': False, 'buyer_consents': True, 'assignee_accepts': False, 'paid_units': 2, 'guarantee': 10, 'novation': False, 'approved_assignees': ['b'], 'banned': ['c'], 'assignments': [['b', 2], ['c', 1]], 'source_id': 'w1', 'new_id': 'w2', 'completed': False, 'escrow': 12, 'required_escrow': 8, 'assignment_fee': 2}, [4, 8, 12, 16, 20]), ('buyer refuses', {'award': 8, 'delivered': 3, 'assign': 4, 'original': 'a', 'assignee': 'b', 'seller_consents': True, 'buyer_consents': False, 'assignee_accepts': False, 'paid_units': 2, 'guarantee': 10, 'novation': False, 'approved_assignees': ['b'], 'banned': ['c'], 'assignments': [['b', 2], ['c', 1]], 'source_id': 'w1', 'new_id': 'w2', 'completed': False, 'escrow': 12, 'required_escrow': 8, 'assignment_fee': 2}, [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', '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))['undelivered-assignment-cap'], 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 |
|---|---|---|---|
| overassignment | 7 | 5 | Failed |
| all delivered | 4 | 0 | Failed |
| normal contract | 4 | 4 | Passed |
| approved banned assignee | 4 | 4 | Passed |
| unapproved unbanned assignee | 4 | 4 | Passed |
| fee exceeds residual escrow | 4 | 4 | Passed |
| all consents | 4 | 4 | Passed |
| seller refuses | 4 | 4 | Passed |
| buyer refuses | 4 | 4 | Passed |
SHA-256 / 9866a846edcf95c59affa1c2405a7f614d8943225bf360334adec418d3a52072
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
v0 = x["seller_consents"] and x["buyer_consents"] and x["assignee_accepts"]
v1 = x["assign"]
v2 = max(0,x["award"]-x["delivered"]-x["assign"])
v3 = min(x["assign"],max(0,x["award"]-x["paid_units"]))
v4 = 0 if x["novation"] and x["completed"] else x["guarantee"]
v5 = x["assignee"] in x["approved_assignees"] and x["assignee"] not in x["banned"]
v6 = 0 if x["assignee"]==x["original"] else x["assign"]
v7 = [x["new_id"],x["source_id"],x["original"],x["assignee"]]
v8 = x["new_id"]!=x["source_id"]
v9 = x["escrow"]>=x["required_escrow"]+x["assignment_fee"]
return {'three-party-consent':v0,'undelivered-assignment-cap':v1,'remaining-original-obligation':v2,'assigned-unpaid-units':v3,'guarantee-novation':v4,'assignee-admission':v5,'self-assignment-noop':v6,'assignment-provenance':v7,'distinct-assignment-id':v8,'escrow-and-assignment-fee':v9}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [('overassignment', {'award': 8, 'delivered': 3, 'assign': 7, 'original': 'a', 'assignee': 'b', 'seller_consents': True, 'buyer_consents': True, 'assignee_accepts': False, 'paid_units': 2, 'guarantee': 10, 'novation': False, 'approved_assignees': ['b'], 'banned': ['c'], 'assignments': [['b', 2], ['c', 1]], 'source_id': 'w1', 'new_id': 'w2', 'completed': False, 'escrow': 12, 'required_escrow': 8, 'assignment_fee': 2}, [5, 10, 15, 20, 25]), ('all delivered', {'award': 8, 'delivered': 8, 'assign': 4, 'original': 'a', 'assignee': 'b', 'seller_consents': True, 'buyer_consents': True, 'assignee_accepts': False, 'paid_units': 2, 'guarantee': 10, 'novation': False, 'approved_assignees': ['b'], 'banned': ['c'], 'assignments': [['b', 2], ['c', 1]], 'source_id': 'w1', 'new_id': 'w2', 'completed': False, 'escrow': 12, 'required_escrow': 8, 'assignment_fee': 2}, [0, 0, 0, 0, 0]), ('normal contract', {'award': 8, 'delivered': 3, 'assign': 4, 'original': 'a', 'assignee': 'b', 'seller_consents': True, 'buyer_consents': True, 'assignee_accepts': False, 'paid_units': 2, 'guarantee': 10, 'novation': False, 'approved_assignees': ['b'], 'banned': ['c'], 'assignments': [['b', 2], ['c', 1]], 'source_id': 'w1', 'new_id': 'w2', 'completed': False, 'escrow': 12, 'required_escrow': 8, 'assignment_fee': 2}, [4, 8, 12, 16, 20]), ('approved banned assignee', {'award': 8, 'delivered': 3, 'assign': 4, 'original': 'a', 'assignee': 'b', 'seller_consents': True, 'buyer_consents': True, 'assignee_accepts': False, 'paid_units': 2, 'guarantee': 10, 'novation': False, 'approved_assignees': ['b'], 'banned': ['b'], 'assignments': [['b', 2], ['c', 1]], 'source_id': 'w1', 'new_id': 'w2', 'completed': False, 'escrow': 12, 'required_escrow': 8, 'assignment_fee': 2}, [4, 8, 12, 16, 20]), ('unapproved unbanned assignee', {'award': 8, 'delivered': 3, 'assign': 4, 'original': 'a', 'assignee': 'b', 'seller_consents': True, 'buyer_consents': True, 'assignee_accepts': False, 'paid_units': 2, 'guarantee': 10, 'novation': False, 'approved_assignees': [], 'banned': ['c'], 'assignments': [['b', 2], ['c', 1]], 'source_id': 'w1', 'new_id': 'w2', 'completed': False, 'escrow': 12, 'required_escrow': 8, 'assignment_fee': 2}, [4, 8, 12, 16, 20]), ('fee exceeds residual escrow', {'award': 8, 'delivered': 3, 'assign': 4, 'original': 'a', 'assignee': 'b', 'seller_consents': True, 'buyer_consents': True, 'assignee_accepts': False, 'paid_units': 2, 'guarantee': 10, 'novation': False, 'approved_assignees': ['b'], 'banned': ['c'], 'assignments': [['b', 2], ['c', 1]], 'source_id': 'w1', 'new_id': 'w2', 'completed': False, 'escrow': 9, 'required_escrow': 8, 'assignment_fee': 2}, [4, 8, 12, 16, 20]), ('all consents', {'award': 8, 'delivered': 3, 'assign': 4, 'original': 'a', 'assignee': 'b', 'seller_consents': True, 'buyer_consents': True, 'assignee_accepts': True, 'paid_units': 2, 'guarantee': 10, 'novation': False, 'approved_assignees': ['b'], 'banned': ['c'], 'assignments': [['b', 2], ['c', 1]], 'source_id': 'w1', 'new_id': 'w2', 'completed': False, 'escrow': 12, 'required_escrow': 8, 'assignment_fee': 2}, [4, 8, 12, 16, 20]), ('seller refuses', {'award': 8, 'delivered': 3, 'assign': 4, 'original': 'a', 'assignee': 'b', 'seller_consents': False, 'buyer_consents': True, 'assignee_accepts': False, 'paid_units': 2, 'guarantee': 10, 'novation': False, 'approved_assignees': ['b'], 'banned': ['c'], 'assignments': [['b', 2], ['c', 1]], 'source_id': 'w1', 'new_id': 'w2', 'completed': False, 'escrow': 12, 'required_escrow': 8, 'assignment_fee': 2}, [4, 8, 12, 16, 20]), ('buyer refuses', {'award': 8, 'delivered': 3, 'assign': 4, 'original': 'a', 'assignee': 'b', 'seller_consents': True, 'buyer_consents': False, 'assignee_accepts': False, 'paid_units': 2, 'guarantee': 10, 'novation': False, 'approved_assignees': ['b'], 'banned': ['c'], 'assignments': [['b', 2], ['c', 1]], 'source_id': 'w1', 'new_id': 'w2', 'completed': False, 'escrow': 12, 'required_escrow': 8, 'assignment_fee': 2}, [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', '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))['undelivered-assignment-cap'], 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 |
|---|---|---|---|
| overassignment | 7 | 5 | Failed |
| all delivered | 4 | 0 | Failed |
| normal contract | 4 | 4 | Passed |
| approved banned assignee | 4 | 4 | Passed |
| unapproved unbanned assignee | 4 | 4 | Passed |
| fee exceeds residual escrow | 4 | 4 | Passed |
| all consents | 4 | 4 | Passed |
| seller refuses | 4 | 4 | Passed |
| buyer refuses | 4 | 4 | Passed |
SHA-256 / 4109566cf9553082ffb0b292feca72b0e55b1b162e6fd26ce2699e993d63c5b7
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
v0 = x["seller_consents"] and x["buyer_consents"] and x["assignee_accepts"]
v1 = min(x["assign"],max(0,x["award"]-x["delivered"]))
v2 = max(0,x["award"]-x["delivered"]-x["assign"])
v3 = min(x["assign"],max(0,x["award"]-x["paid_units"]))
v4 = 0 if x["novation"] and x["completed"] else x["guarantee"]
v5 = x["assignee"] in x["approved_assignees"] and x["assignee"] not in x["banned"]
v6 = 0 if x["assignee"]==x["original"] else x["assign"]
v7 = [x["new_id"],x["source_id"],x["original"],x["assignee"]]
v8 = x["new_id"]!=x["source_id"]
v9 = x["escrow"]>=x["required_escrow"]+x["assignment_fee"]
return {'three-party-consent':v0,'undelivered-assignment-cap':v1,'remaining-original-obligation':v2,'assigned-unpaid-units':v3,'guarantee-novation':v4,'assignee-admission':v5,'self-assignment-noop':v6,'assignment-provenance':v7,'distinct-assignment-id':v8,'escrow-and-assignment-fee':v9}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [('overassignment', {'award': 8, 'delivered': 3, 'assign': 7, 'original': 'a', 'assignee': 'b', 'seller_consents': True, 'buyer_consents': True, 'assignee_accepts': False, 'paid_units': 2, 'guarantee': 10, 'novation': False, 'approved_assignees': ['b'], 'banned': ['c'], 'assignments': [['b', 2], ['c', 1]], 'source_id': 'w1', 'new_id': 'w2', 'completed': False, 'escrow': 12, 'required_escrow': 8, 'assignment_fee': 2}, [5, 10, 15, 20, 25]), ('all delivered', {'award': 8, 'delivered': 8, 'assign': 4, 'original': 'a', 'assignee': 'b', 'seller_consents': True, 'buyer_consents': True, 'assignee_accepts': False, 'paid_units': 2, 'guarantee': 10, 'novation': False, 'approved_assignees': ['b'], 'banned': ['c'], 'assignments': [['b', 2], ['c', 1]], 'source_id': 'w1', 'new_id': 'w2', 'completed': False, 'escrow': 12, 'required_escrow': 8, 'assignment_fee': 2}, [0, 0, 0, 0, 0]), ('normal contract', {'award': 8, 'delivered': 3, 'assign': 4, 'original': 'a', 'assignee': 'b', 'seller_consents': True, 'buyer_consents': True, 'assignee_accepts': False, 'paid_units': 2, 'guarantee': 10, 'novation': False, 'approved_assignees': ['b'], 'banned': ['c'], 'assignments': [['b', 2], ['c', 1]], 'source_id': 'w1', 'new_id': 'w2', 'completed': False, 'escrow': 12, 'required_escrow': 8, 'assignment_fee': 2}, [4, 8, 12, 16, 20]), ('approved banned assignee', {'award': 8, 'delivered': 3, 'assign': 4, 'original': 'a', 'assignee': 'b', 'seller_consents': True, 'buyer_consents': True, 'assignee_accepts': False, 'paid_units': 2, 'guarantee': 10, 'novation': False, 'approved_assignees': ['b'], 'banned': ['b'], 'assignments': [['b', 2], ['c', 1]], 'source_id': 'w1', 'new_id': 'w2', 'completed': False, 'escrow': 12, 'required_escrow': 8, 'assignment_fee': 2}, [4, 8, 12, 16, 20]), ('unapproved unbanned assignee', {'award': 8, 'delivered': 3, 'assign': 4, 'original': 'a', 'assignee': 'b', 'seller_consents': True, 'buyer_consents': True, 'assignee_accepts': False, 'paid_units': 2, 'guarantee': 10, 'novation': False, 'approved_assignees': [], 'banned': ['c'], 'assignments': [['b', 2], ['c', 1]], 'source_id': 'w1', 'new_id': 'w2', 'completed': False, 'escrow': 12, 'required_escrow': 8, 'assignment_fee': 2}, [4, 8, 12, 16, 20]), ('fee exceeds residual escrow', {'award': 8, 'delivered': 3, 'assign': 4, 'original': 'a', 'assignee': 'b', 'seller_consents': True, 'buyer_consents': True, 'assignee_accepts': False, 'paid_units': 2, 'guarantee': 10, 'novation': False, 'approved_assignees': ['b'], 'banned': ['c'], 'assignments': [['b', 2], ['c', 1]], 'source_id': 'w1', 'new_id': 'w2', 'completed': False, 'escrow': 9, 'required_escrow': 8, 'assignment_fee': 2}, [4, 8, 12, 16, 20]), ('all consents', {'award': 8, 'delivered': 3, 'assign': 4, 'original': 'a', 'assignee': 'b', 'seller_consents': True, 'buyer_consents': True, 'assignee_accepts': True, 'paid_units': 2, 'guarantee': 10, 'novation': False, 'approved_assignees': ['b'], 'banned': ['c'], 'assignments': [['b', 2], ['c', 1]], 'source_id': 'w1', 'new_id': 'w2', 'completed': False, 'escrow': 12, 'required_escrow': 8, 'assignment_fee': 2}, [4, 8, 12, 16, 20]), ('seller refuses', {'award': 8, 'delivered': 3, 'assign': 4, 'original': 'a', 'assignee': 'b', 'seller_consents': False, 'buyer_consents': True, 'assignee_accepts': False, 'paid_units': 2, 'guarantee': 10, 'novation': False, 'approved_assignees': ['b'], 'banned': ['c'], 'assignments': [['b', 2], ['c', 1]], 'source_id': 'w1', 'new_id': 'w2', 'completed': False, 'escrow': 12, 'required_escrow': 8, 'assignment_fee': 2}, [4, 8, 12, 16, 20]), ('buyer refuses', {'award': 8, 'delivered': 3, 'assign': 4, 'original': 'a', 'assignee': 'b', 'seller_consents': True, 'buyer_consents': False, 'assignee_accepts': False, 'paid_units': 2, 'guarantee': 10, 'novation': False, 'approved_assignees': ['b'], 'banned': ['c'], 'assignments': [['b', 2], ['c', 1]], 'source_id': 'w1', 'new_id': 'w2', 'completed': False, 'escrow': 12, 'required_escrow': 8, 'assignment_fee': 2}, [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', '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))['undelivered-assignment-cap'], 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 |
|---|---|---|---|
| overassignment | 5 | 5 | Passed |
| all delivered | 0 | 0 | Passed |
| normal contract | 4 | 4 | Passed |
| approved banned assignee | 4 | 4 | Passed |
| unapproved unbanned assignee | 4 | 4 | Passed |
| fee exceeds residual escrow | 4 | 4 | Passed |
| all consents | 4 | 4 | Passed |
| seller refuses | 4 | 4 | Passed |
| buyer refuses | 4 | 4 | Passed |
SHA-256 / 090bd4fe7ff906bcfbf73caf6c360cc2c38c2dafa96c15a069d5ea52f55c434a
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:20.595003+00:00.
Case digest / 7e44458f727162c4abb7cb9a9dbd9aee83105c56a90849e8b39e6511547f774c