FAILURE MAP
← Case archive

FA-57456 / Auction allocation rules / Open access

Award unwind: seller proceeds recovery · case 01

Seller clawback uses buyer payment instead of seller proceeds outstanding.

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

ROOT CAUSE

Seller clawback uses buyer payment instead of seller proceeds outstanding.

THE FAILURE

Seller clawback uses buyer payment instead of seller proceeds outstanding.

Unsuccessful approach: The attempted repair uses max(0,x["paid"]-x["seller_recovered"]); the explicit regression cases demonstrate that this still violates the stipulated auction rule.

Case contract

An annulled auction award is unwound by separately reversing unshipped inventory reservations, refundable buyer payments, seller proceeds and title. Delivered units require return first. Reversal records refer to the original award identifier and prior reversal amount. Named decision seller-proceeds-recovery: For seller proceeds recovery, apply the stipulated decision max(0,x["seller_paid"]-x["seller_recovered"]).

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(0,x["awarded"]-x["shipped"]-x["inventory_released"])
    v1 = min(x["returned"],x["shipped"])
    v2 = max(0,x["paid"]-x["refunded"])
    v3 = x["seller_paid"]
    v4 = max(0,x["paid"]-x["refunded"]) if x["annulled"] else 0
    v5 = x["fee"] if x["fee_refundable"] and x["annulled"] else 0
    v6 = x["award_id"]==x["reversal_award"]
    v7 = x["annulled"] and x["title_passed"] and x["returned"]>=x["shipped"]
    v8 = max(0,x["bond"]-x["bond_called"])
    v9 = [i for i in x["related"] if i not in x["annulled_ids"]]
    return {'unshipped-inventory-release':v0,'returned-inventory-restoration':v1,'buyer-refund-residue':v2,'seller-proceeds-recovery':v3,'annulment-execution-gate':v4,'fee-refund-policy':v5,'reversal-award-binding':v6,'title-return-gate':v7,'uncalled-bond-release':v8,'related-award-isolation':v9}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [('normal contract', {'annulled': True, 'awarded': 8, 'shipped': 5, 'returned': 2, 'paid': 30, 'refunded': 8, 'seller_paid': 20, 'seller_recovered': 4, 'fee': 3, 'fee_refundable': False, 'award_id': 'w1', 'reversal_award': 'w1', 'title_passed': True, 'inventory_released': 1, 'bond': 6, 'bond_called': 2, 'related': ['w1', 'w2'], 'annulled_ids': ['w1']}, [16, 32, 48, 64, 80]), ('return above shipped quantity', {'annulled': True, 'awarded': 8, 'shipped': 5, 'returned': 7, 'paid': 30, 'refunded': 8, 'seller_paid': 20, 'seller_recovered': 4, 'fee': 3, 'fee_refundable': False, 'award_id': 'w1', 'reversal_award': 'w1', 'title_passed': True, 'inventory_released': 1, 'bond': 6, 'bond_called': 2, 'related': ['w1', 'w2'], 'annulled_ids': ['w1']}, [16, 32, 48, 64, 80]), ('not annulled', {'annulled': False, 'awarded': 8, 'shipped': 5, 'returned': 2, 'paid': 30, 'refunded': 8, 'seller_paid': 20, 'seller_recovered': 4, 'fee': 3, 'fee_refundable': False, 'award_id': 'w1', 'reversal_award': 'w1', 'title_passed': True, 'inventory_released': 1, 'bond': 6, 'bond_called': 2, 'related': ['w1', 'w2'], 'annulled_ids': ['w1']}, [16, 32, 48, 64, 80]), ('fully refunded', {'annulled': True, 'awarded': 8, 'shipped': 5, 'returned': 2, 'paid': 30, 'refunded': 30, 'seller_paid': 20, 'seller_recovered': 4, 'fee': 3, 'fee_refundable': False, 'award_id': 'w1', 'reversal_award': 'w1', 'title_passed': True, 'inventory_released': 1, 'bond': 6, 'bond_called': 2, 'related': ['w1', 'w2'], 'annulled_ids': ['w1']}, [16, 32, 48, 64, 80]), ('all shipped returned', {'annulled': True, 'awarded': 8, 'shipped': 5, 'returned': 5, 'paid': 30, 'refunded': 8, 'seller_paid': 20, 'seller_recovered': 4, 'fee': 3, 'fee_refundable': False, 'award_id': 'w1', 'reversal_award': 'w1', 'title_passed': True, 'inventory_released': 1, 'bond': 6, 'bond_called': 2, 'related': ['w1', 'w2'], 'annulled_ids': ['w1']}, [16, 32, 48, 64, 80]), ('no shipments', {'annulled': True, 'awarded': 8, 'shipped': 0, 'returned': 0, 'paid': 30, 'refunded': 8, 'seller_paid': 20, 'seller_recovered': 4, 'fee': 3, 'fee_refundable': False, 'award_id': 'w1', 'reversal_award': 'w1', 'title_passed': True, 'inventory_released': 1, 'bond': 6, 'bond_called': 2, 'related': ['w1', 'w2'], 'annulled_ids': ['w1']}, [16, 32, 48, 64, 80]), ('seller fully recovered', {'annulled': True, 'awarded': 8, 'shipped': 5, 'returned': 2, 'paid': 30, 'refunded': 8, 'seller_paid': 20, 'seller_recovered': 20, 'fee': 3, 'fee_refundable': False, 'award_id': 'w1', 'reversal_award': 'w1', 'title_passed': True, 'inventory_released': 1, 'bond': 6, 'bond_called': 2, 'related': ['w1', 'w2'], 'annulled_ids': ['w1']}, [0, 0, 0, 0, 0]), ('fee refundable', {'annulled': True, 'awarded': 8, 'shipped': 5, 'returned': 2, 'paid': 30, 'refunded': 8, 'seller_paid': 20, 'seller_recovered': 4, 'fee': 3, 'fee_refundable': True, 'award_id': 'w1', 'reversal_award': 'w1', 'title_passed': True, 'inventory_released': 1, 'bond': 6, 'bond_called': 2, 'related': ['w1', 'w2'], 'annulled_ids': ['w1']}, [16, 32, 48, 64, 80]), ('wrong award reversal', {'annulled': True, 'awarded': 8, 'shipped': 5, 'returned': 2, 'paid': 30, 'refunded': 8, 'seller_paid': 20, 'seller_recovered': 4, 'fee': 3, 'fee_refundable': False, 'award_id': 'w1', 'reversal_award': 'w2', 'title_passed': True, 'inventory_released': 1, 'bond': 6, 'bond_called': 2, 'related': ['w1', 'w2'], 'annulled_ids': ['w1']}, [16, 32, 48, 64, 80])]
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))['seller-proceeds-recovery'], 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
normal contract2016Failed
return above shipped quantity2016Failed
not annulled2016Failed
fully refunded2016Failed
all shipped returned2016Failed
no shipments2016Failed
seller fully recovered200Failed
fee refundable2016Failed
wrong award reversal2016Failed

SHA-256 / ac677419084d6efc34fe0c78aa2cfcc5128b97dfb843b74f1668a0ae5f3efbca

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(x):
    v0 = max(0,x["awarded"]-x["shipped"]-x["inventory_released"])
    v1 = min(x["returned"],x["shipped"])
    v2 = max(0,x["paid"]-x["refunded"])
    v3 = max(0,x["paid"]-x["seller_recovered"])
    v4 = max(0,x["paid"]-x["refunded"]) if x["annulled"] else 0
    v5 = x["fee"] if x["fee_refundable"] and x["annulled"] else 0
    v6 = x["award_id"]==x["reversal_award"]
    v7 = x["annulled"] and x["title_passed"] and x["returned"]>=x["shipped"]
    v8 = max(0,x["bond"]-x["bond_called"])
    v9 = [i for i in x["related"] if i not in x["annulled_ids"]]
    return {'unshipped-inventory-release':v0,'returned-inventory-restoration':v1,'buyer-refund-residue':v2,'seller-proceeds-recovery':v3,'annulment-execution-gate':v4,'fee-refund-policy':v5,'reversal-award-binding':v6,'title-return-gate':v7,'uncalled-bond-release':v8,'related-award-isolation':v9}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [('normal contract', {'annulled': True, 'awarded': 8, 'shipped': 5, 'returned': 2, 'paid': 30, 'refunded': 8, 'seller_paid': 20, 'seller_recovered': 4, 'fee': 3, 'fee_refundable': False, 'award_id': 'w1', 'reversal_award': 'w1', 'title_passed': True, 'inventory_released': 1, 'bond': 6, 'bond_called': 2, 'related': ['w1', 'w2'], 'annulled_ids': ['w1']}, [16, 32, 48, 64, 80]), ('return above shipped quantity', {'annulled': True, 'awarded': 8, 'shipped': 5, 'returned': 7, 'paid': 30, 'refunded': 8, 'seller_paid': 20, 'seller_recovered': 4, 'fee': 3, 'fee_refundable': False, 'award_id': 'w1', 'reversal_award': 'w1', 'title_passed': True, 'inventory_released': 1, 'bond': 6, 'bond_called': 2, 'related': ['w1', 'w2'], 'annulled_ids': ['w1']}, [16, 32, 48, 64, 80]), ('not annulled', {'annulled': False, 'awarded': 8, 'shipped': 5, 'returned': 2, 'paid': 30, 'refunded': 8, 'seller_paid': 20, 'seller_recovered': 4, 'fee': 3, 'fee_refundable': False, 'award_id': 'w1', 'reversal_award': 'w1', 'title_passed': True, 'inventory_released': 1, 'bond': 6, 'bond_called': 2, 'related': ['w1', 'w2'], 'annulled_ids': ['w1']}, [16, 32, 48, 64, 80]), ('fully refunded', {'annulled': True, 'awarded': 8, 'shipped': 5, 'returned': 2, 'paid': 30, 'refunded': 30, 'seller_paid': 20, 'seller_recovered': 4, 'fee': 3, 'fee_refundable': False, 'award_id': 'w1', 'reversal_award': 'w1', 'title_passed': True, 'inventory_released': 1, 'bond': 6, 'bond_called': 2, 'related': ['w1', 'w2'], 'annulled_ids': ['w1']}, [16, 32, 48, 64, 80]), ('all shipped returned', {'annulled': True, 'awarded': 8, 'shipped': 5, 'returned': 5, 'paid': 30, 'refunded': 8, 'seller_paid': 20, 'seller_recovered': 4, 'fee': 3, 'fee_refundable': False, 'award_id': 'w1', 'reversal_award': 'w1', 'title_passed': True, 'inventory_released': 1, 'bond': 6, 'bond_called': 2, 'related': ['w1', 'w2'], 'annulled_ids': ['w1']}, [16, 32, 48, 64, 80]), ('no shipments', {'annulled': True, 'awarded': 8, 'shipped': 0, 'returned': 0, 'paid': 30, 'refunded': 8, 'seller_paid': 20, 'seller_recovered': 4, 'fee': 3, 'fee_refundable': False, 'award_id': 'w1', 'reversal_award': 'w1', 'title_passed': True, 'inventory_released': 1, 'bond': 6, 'bond_called': 2, 'related': ['w1', 'w2'], 'annulled_ids': ['w1']}, [16, 32, 48, 64, 80]), ('seller fully recovered', {'annulled': True, 'awarded': 8, 'shipped': 5, 'returned': 2, 'paid': 30, 'refunded': 8, 'seller_paid': 20, 'seller_recovered': 20, 'fee': 3, 'fee_refundable': False, 'award_id': 'w1', 'reversal_award': 'w1', 'title_passed': True, 'inventory_released': 1, 'bond': 6, 'bond_called': 2, 'related': ['w1', 'w2'], 'annulled_ids': ['w1']}, [0, 0, 0, 0, 0]), ('fee refundable', {'annulled': True, 'awarded': 8, 'shipped': 5, 'returned': 2, 'paid': 30, 'refunded': 8, 'seller_paid': 20, 'seller_recovered': 4, 'fee': 3, 'fee_refundable': True, 'award_id': 'w1', 'reversal_award': 'w1', 'title_passed': True, 'inventory_released': 1, 'bond': 6, 'bond_called': 2, 'related': ['w1', 'w2'], 'annulled_ids': ['w1']}, [16, 32, 48, 64, 80]), ('wrong award reversal', {'annulled': True, 'awarded': 8, 'shipped': 5, 'returned': 2, 'paid': 30, 'refunded': 8, 'seller_paid': 20, 'seller_recovered': 4, 'fee': 3, 'fee_refundable': False, 'award_id': 'w1', 'reversal_award': 'w2', 'title_passed': True, 'inventory_released': 1, 'bond': 6, 'bond_called': 2, 'related': ['w1', 'w2'], 'annulled_ids': ['w1']}, [16, 32, 48, 64, 80])]
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))['seller-proceeds-recovery'], 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
normal contract2616Failed
return above shipped quantity2616Failed
not annulled2616Failed
fully refunded2616Failed
all shipped returned2616Failed
no shipments2616Failed
seller fully recovered100Failed
fee refundable2616Failed
wrong award reversal2616Failed

SHA-256 / 1858f810bbbc30703d5bb79adb89a4a61b1cb79e6a81791dffaf42f8a6d234bd

HELD IN THE MEMBER ARCHIVE

The verified repair and its recorded checks are member-only.

This mechanism has 9 recorded checks per implementation. The open-access tier publishes the failure and the unsuccessful fix; the repaired source that passes every check, and the observations that prove it, are available to members.

Every case sharing this mechanism uses the same contract and the same repair, so this one record is held back for all of them.

Member access is invitation-based. Sign in with your invited account to inspect the repair.

Sign in to the archive ↗

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

Case digest / 39fe8cd1d6c52bc6cc6055fd7d8ffbb483de05cb049cf2cadcdf7568e17f9d73