FAILURE MAP
← Case archive

FA-56936 / Auction allocation rules / Open access

Delivery acceptance: dispute payout hold · case 01

A delivery dispute fails to hold seller proceeds.

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

ROOT CAUSE

A delivery dispute fails to hold seller proceeds.

VERIFIED REPAIR

For dispute payout hold, apply the stipulated decision 0 if x["disputed"] else max(0,x["paid"]-x["freight"]).

Unsuccessful approach: The attempted repair uses 0 if x["disputed"] else x["paid"]; the explicit regression cases demonstrate that this still violates the stipulated auction rule.

Case contract

Award fulfillment tracks delivered, inspected, rejected and accepted units. Title and seller payout require acceptance, not shipping. Partial shipments and certificates refer to individual auction lot identifiers; freight and storage are fixed integer credits. Named decision dispute-payout-hold: For dispute payout hold, apply the stipulated decision 0 if x["disputed"] else max(0,x["paid"]-x["freight"]).

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 = min(x["delivered"],x["inspected"])
    v1 = max(0,min(x["delivered"],x["inspected"])-x["rejected"])
    v2 = max(0,x["awarded"]-x["delivered"])
    v3 = x["buyer_signed"] and x["seller_signed"]
    v4 = set(x["lots"])<=set(x["certificate"])
    v5 = [i for i in x["lots"] if i in x["certificate"] and i not in x["damaged"]]
    v6 = min(x["paid"],max(0,min(x["delivered"],x["inspected"])-x["rejected"])*x["unit_price"])
    v7 = max(0,x["delivered"]-x["returned"])
    v8 = x["storage"] if x["now"]>x["deadline"] else 0
    v9 = max(0,x["paid"]-x["freight"])
    return {'inspectable-units':v0,'accepted-unit-count':v1,'award-remainder':v2,'title-acceptance':v3,'certificate-coverage':v4,'undamaged-certificate-release':v5,'payout-payment-cap':v6,'returned-fulfillment':v7,'late-storage-charge':v8,'dispute-payout-hold':v9}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [('active dispute', {'awarded': 8, 'shipped': 6, 'delivered': 5, 'inspected': 4, 'rejected': 1, 'paid': 20, 'unit_price': 3, 'certificate': ['A'], 'lots': ['A', 'B'], 'damaged': ['B'], 'buyer_signed': False, 'seller_signed': True, 'freight': 4, 'storage': 2, 'returned': 1, 'deadline': 9, 'now': 7, 'disputed': True}, [0, 0, 0, 0, 0]), ('wrong certificate same count / active dispute', {'awarded': 8, 'shipped': 6, 'delivered': 5, 'inspected': 4, 'rejected': 1, 'paid': 20, 'unit_price': 3, 'certificate': ['A', 'C'], 'lots': ['A', 'B'], 'damaged': ['B'], 'buyer_signed': False, 'seller_signed': True, 'freight': 4, 'storage': 2, 'returned': 1, 'deadline': 9, 'now': 7, 'disputed': True}, [0, 0, 0, 0, 0]), ('normal contract', {'awarded': 8, 'shipped': 6, 'delivered': 5, 'inspected': 4, 'rejected': 1, 'paid': 20, 'unit_price': 3, 'certificate': ['A'], 'lots': ['A', 'B'], 'damaged': ['B'], 'buyer_signed': False, 'seller_signed': True, 'freight': 4, 'storage': 2, 'returned': 1, 'deadline': 9, 'now': 7, 'disputed': False}, [16, 32, 48, 64, 80]), ('wrong certificate same count', {'awarded': 8, 'shipped': 6, 'delivered': 5, 'inspected': 4, 'rejected': 1, 'paid': 20, 'unit_price': 3, 'certificate': ['A', 'C'], 'lots': ['A', 'B'], 'damaged': ['B'], 'buyer_signed': False, 'seller_signed': True, 'freight': 4, 'storage': 2, 'returned': 1, 'deadline': 9, 'now': 7, 'disputed': False}, [16, 32, 48, 64, 80]), ('delivery at deadline', {'awarded': 8, 'shipped': 6, 'delivered': 5, 'inspected': 4, 'rejected': 1, 'paid': 20, 'unit_price': 3, 'certificate': ['A'], 'lots': ['A', 'B'], 'damaged': ['B'], 'buyer_signed': False, 'seller_signed': True, 'freight': 4, 'storage': 2, 'returned': 1, 'deadline': 9, 'now': 9, 'disputed': False}, [16, 32, 48, 64, 80]), ('buyer accepts', {'awarded': 8, 'shipped': 6, 'delivered': 5, 'inspected': 4, 'rejected': 1, 'paid': 20, 'unit_price': 3, 'certificate': ['A'], 'lots': ['A', 'B'], 'damaged': ['B'], 'buyer_signed': True, 'seller_signed': True, 'freight': 4, 'storage': 2, 'returned': 1, 'deadline': 9, 'now': 7, 'disputed': False}, [16, 32, 48, 64, 80]), ('nothing delivered', {'awarded': 8, 'shipped': 6, 'delivered': 0, 'inspected': 0, 'rejected': 0, 'paid': 20, 'unit_price': 3, 'certificate': ['A'], 'lots': ['A', 'B'], 'damaged': ['B'], 'buyer_signed': False, 'seller_signed': True, 'freight': 4, 'storage': 2, 'returned': 1, 'deadline': 9, 'now': 7, 'disputed': False}, [16, 32, 48, 64, 80]), ('inspection exceeds delivery', {'awarded': 8, 'shipped': 6, 'delivered': 5, 'inspected': 8, 'rejected': 1, 'paid': 20, 'unit_price': 3, 'certificate': ['A'], 'lots': ['A', 'B'], 'damaged': ['B'], 'buyer_signed': False, 'seller_signed': True, 'freight': 4, 'storage': 2, 'returned': 1, 'deadline': 9, 'now': 7, 'disputed': False}, [16, 32, 48, 64, 80]), ('all inspected rejected', {'awarded': 8, 'shipped': 6, 'delivered': 5, 'inspected': 4, 'rejected': 4, 'paid': 20, 'unit_price': 3, 'certificate': ['A'], 'lots': ['A', 'B'], 'damaged': ['B'], 'buyer_signed': False, 'seller_signed': True, 'freight': 4, 'storage': 2, 'returned': 1, 'deadline': 9, 'now': 7, 'disputed': False}, [16, 32, 48, 64, 80]), ('all certified', {'awarded': 8, 'shipped': 6, 'delivered': 5, 'inspected': 4, 'rejected': 1, 'paid': 20, 'unit_price': 3, 'certificate': ['A', 'B'], 'lots': ['A', 'B'], 'damaged': ['B'], 'buyer_signed': False, 'seller_signed': True, 'freight': 4, 'storage': 2, 'returned': 1, 'deadline': 9, 'now': 7, 'disputed': False}, [16, 32, 48, 64, 80]), ('no damage', {'awarded': 8, 'shipped': 6, 'delivered': 5, 'inspected': 4, 'rejected': 1, 'paid': 20, 'unit_price': 3, 'certificate': ['A'], 'lots': ['A', 'B'], 'damaged': [], 'buyer_signed': False, 'seller_signed': True, 'freight': 4, 'storage': 2, 'returned': 1, 'deadline': 9, 'now': 7, 'disputed': False}, [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))['dispute-payout-hold'], 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
active dispute160Failed
wrong certificate same count / active dispute160Failed
normal contract1616Passed
wrong certificate same count1616Passed
delivery at deadline1616Passed
buyer accepts1616Passed
nothing delivered1616Passed
inspection exceeds delivery1616Passed
all inspected rejected1616Passed
all certified1616Passed
no damage1616Passed

SHA-256 / 807578d8275e96dfd8cb48b2531247e5e28bca77c0ad616d518978ed3318b084

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(x):
    v0 = min(x["delivered"],x["inspected"])
    v1 = max(0,min(x["delivered"],x["inspected"])-x["rejected"])
    v2 = max(0,x["awarded"]-x["delivered"])
    v3 = x["buyer_signed"] and x["seller_signed"]
    v4 = set(x["lots"])<=set(x["certificate"])
    v5 = [i for i in x["lots"] if i in x["certificate"] and i not in x["damaged"]]
    v6 = min(x["paid"],max(0,min(x["delivered"],x["inspected"])-x["rejected"])*x["unit_price"])
    v7 = max(0,x["delivered"]-x["returned"])
    v8 = x["storage"] if x["now"]>x["deadline"] else 0
    v9 = 0 if x["disputed"] else x["paid"]
    return {'inspectable-units':v0,'accepted-unit-count':v1,'award-remainder':v2,'title-acceptance':v3,'certificate-coverage':v4,'undamaged-certificate-release':v5,'payout-payment-cap':v6,'returned-fulfillment':v7,'late-storage-charge':v8,'dispute-payout-hold':v9}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [('active dispute', {'awarded': 8, 'shipped': 6, 'delivered': 5, 'inspected': 4, 'rejected': 1, 'paid': 20, 'unit_price': 3, 'certificate': ['A'], 'lots': ['A', 'B'], 'damaged': ['B'], 'buyer_signed': False, 'seller_signed': True, 'freight': 4, 'storage': 2, 'returned': 1, 'deadline': 9, 'now': 7, 'disputed': True}, [0, 0, 0, 0, 0]), ('wrong certificate same count / active dispute', {'awarded': 8, 'shipped': 6, 'delivered': 5, 'inspected': 4, 'rejected': 1, 'paid': 20, 'unit_price': 3, 'certificate': ['A', 'C'], 'lots': ['A', 'B'], 'damaged': ['B'], 'buyer_signed': False, 'seller_signed': True, 'freight': 4, 'storage': 2, 'returned': 1, 'deadline': 9, 'now': 7, 'disputed': True}, [0, 0, 0, 0, 0]), ('normal contract', {'awarded': 8, 'shipped': 6, 'delivered': 5, 'inspected': 4, 'rejected': 1, 'paid': 20, 'unit_price': 3, 'certificate': ['A'], 'lots': ['A', 'B'], 'damaged': ['B'], 'buyer_signed': False, 'seller_signed': True, 'freight': 4, 'storage': 2, 'returned': 1, 'deadline': 9, 'now': 7, 'disputed': False}, [16, 32, 48, 64, 80]), ('wrong certificate same count', {'awarded': 8, 'shipped': 6, 'delivered': 5, 'inspected': 4, 'rejected': 1, 'paid': 20, 'unit_price': 3, 'certificate': ['A', 'C'], 'lots': ['A', 'B'], 'damaged': ['B'], 'buyer_signed': False, 'seller_signed': True, 'freight': 4, 'storage': 2, 'returned': 1, 'deadline': 9, 'now': 7, 'disputed': False}, [16, 32, 48, 64, 80]), ('delivery at deadline', {'awarded': 8, 'shipped': 6, 'delivered': 5, 'inspected': 4, 'rejected': 1, 'paid': 20, 'unit_price': 3, 'certificate': ['A'], 'lots': ['A', 'B'], 'damaged': ['B'], 'buyer_signed': False, 'seller_signed': True, 'freight': 4, 'storage': 2, 'returned': 1, 'deadline': 9, 'now': 9, 'disputed': False}, [16, 32, 48, 64, 80]), ('buyer accepts', {'awarded': 8, 'shipped': 6, 'delivered': 5, 'inspected': 4, 'rejected': 1, 'paid': 20, 'unit_price': 3, 'certificate': ['A'], 'lots': ['A', 'B'], 'damaged': ['B'], 'buyer_signed': True, 'seller_signed': True, 'freight': 4, 'storage': 2, 'returned': 1, 'deadline': 9, 'now': 7, 'disputed': False}, [16, 32, 48, 64, 80]), ('nothing delivered', {'awarded': 8, 'shipped': 6, 'delivered': 0, 'inspected': 0, 'rejected': 0, 'paid': 20, 'unit_price': 3, 'certificate': ['A'], 'lots': ['A', 'B'], 'damaged': ['B'], 'buyer_signed': False, 'seller_signed': True, 'freight': 4, 'storage': 2, 'returned': 1, 'deadline': 9, 'now': 7, 'disputed': False}, [16, 32, 48, 64, 80]), ('inspection exceeds delivery', {'awarded': 8, 'shipped': 6, 'delivered': 5, 'inspected': 8, 'rejected': 1, 'paid': 20, 'unit_price': 3, 'certificate': ['A'], 'lots': ['A', 'B'], 'damaged': ['B'], 'buyer_signed': False, 'seller_signed': True, 'freight': 4, 'storage': 2, 'returned': 1, 'deadline': 9, 'now': 7, 'disputed': False}, [16, 32, 48, 64, 80]), ('all inspected rejected', {'awarded': 8, 'shipped': 6, 'delivered': 5, 'inspected': 4, 'rejected': 4, 'paid': 20, 'unit_price': 3, 'certificate': ['A'], 'lots': ['A', 'B'], 'damaged': ['B'], 'buyer_signed': False, 'seller_signed': True, 'freight': 4, 'storage': 2, 'returned': 1, 'deadline': 9, 'now': 7, 'disputed': False}, [16, 32, 48, 64, 80]), ('all certified', {'awarded': 8, 'shipped': 6, 'delivered': 5, 'inspected': 4, 'rejected': 1, 'paid': 20, 'unit_price': 3, 'certificate': ['A', 'B'], 'lots': ['A', 'B'], 'damaged': ['B'], 'buyer_signed': False, 'seller_signed': True, 'freight': 4, 'storage': 2, 'returned': 1, 'deadline': 9, 'now': 7, 'disputed': False}, [16, 32, 48, 64, 80]), ('no damage', {'awarded': 8, 'shipped': 6, 'delivered': 5, 'inspected': 4, 'rejected': 1, 'paid': 20, 'unit_price': 3, 'certificate': ['A'], 'lots': ['A', 'B'], 'damaged': [], 'buyer_signed': False, 'seller_signed': True, 'freight': 4, 'storage': 2, 'returned': 1, 'deadline': 9, 'now': 7, 'disputed': False}, [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))['dispute-payout-hold'], 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
active dispute00Passed
wrong certificate same count / active dispute00Passed
normal contract2016Failed
wrong certificate same count2016Failed
delivery at deadline2016Failed
buyer accepts2016Failed
nothing delivered2016Failed
inspection exceeds delivery2016Failed
all inspected rejected2016Failed
all certified2016Failed
no damage2016Failed

SHA-256 / 7b2b64220028bd17ac5384d83dd0e1247ac403cf642d190dcc868b4500dd0faf

3 / The verified repair

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

N = 1
observations = []
def solve(x):
    v0 = min(x["delivered"],x["inspected"])
    v1 = max(0,min(x["delivered"],x["inspected"])-x["rejected"])
    v2 = max(0,x["awarded"]-x["delivered"])
    v3 = x["buyer_signed"] and x["seller_signed"]
    v4 = set(x["lots"])<=set(x["certificate"])
    v5 = [i for i in x["lots"] if i in x["certificate"] and i not in x["damaged"]]
    v6 = min(x["paid"],max(0,min(x["delivered"],x["inspected"])-x["rejected"])*x["unit_price"])
    v7 = max(0,x["delivered"]-x["returned"])
    v8 = x["storage"] if x["now"]>x["deadline"] else 0
    v9 = 0 if x["disputed"] else max(0,x["paid"]-x["freight"])
    return {'inspectable-units':v0,'accepted-unit-count':v1,'award-remainder':v2,'title-acceptance':v3,'certificate-coverage':v4,'undamaged-certificate-release':v5,'payout-payment-cap':v6,'returned-fulfillment':v7,'late-storage-charge':v8,'dispute-payout-hold':v9}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [('active dispute', {'awarded': 8, 'shipped': 6, 'delivered': 5, 'inspected': 4, 'rejected': 1, 'paid': 20, 'unit_price': 3, 'certificate': ['A'], 'lots': ['A', 'B'], 'damaged': ['B'], 'buyer_signed': False, 'seller_signed': True, 'freight': 4, 'storage': 2, 'returned': 1, 'deadline': 9, 'now': 7, 'disputed': True}, [0, 0, 0, 0, 0]), ('wrong certificate same count / active dispute', {'awarded': 8, 'shipped': 6, 'delivered': 5, 'inspected': 4, 'rejected': 1, 'paid': 20, 'unit_price': 3, 'certificate': ['A', 'C'], 'lots': ['A', 'B'], 'damaged': ['B'], 'buyer_signed': False, 'seller_signed': True, 'freight': 4, 'storage': 2, 'returned': 1, 'deadline': 9, 'now': 7, 'disputed': True}, [0, 0, 0, 0, 0]), ('normal contract', {'awarded': 8, 'shipped': 6, 'delivered': 5, 'inspected': 4, 'rejected': 1, 'paid': 20, 'unit_price': 3, 'certificate': ['A'], 'lots': ['A', 'B'], 'damaged': ['B'], 'buyer_signed': False, 'seller_signed': True, 'freight': 4, 'storage': 2, 'returned': 1, 'deadline': 9, 'now': 7, 'disputed': False}, [16, 32, 48, 64, 80]), ('wrong certificate same count', {'awarded': 8, 'shipped': 6, 'delivered': 5, 'inspected': 4, 'rejected': 1, 'paid': 20, 'unit_price': 3, 'certificate': ['A', 'C'], 'lots': ['A', 'B'], 'damaged': ['B'], 'buyer_signed': False, 'seller_signed': True, 'freight': 4, 'storage': 2, 'returned': 1, 'deadline': 9, 'now': 7, 'disputed': False}, [16, 32, 48, 64, 80]), ('delivery at deadline', {'awarded': 8, 'shipped': 6, 'delivered': 5, 'inspected': 4, 'rejected': 1, 'paid': 20, 'unit_price': 3, 'certificate': ['A'], 'lots': ['A', 'B'], 'damaged': ['B'], 'buyer_signed': False, 'seller_signed': True, 'freight': 4, 'storage': 2, 'returned': 1, 'deadline': 9, 'now': 9, 'disputed': False}, [16, 32, 48, 64, 80]), ('buyer accepts', {'awarded': 8, 'shipped': 6, 'delivered': 5, 'inspected': 4, 'rejected': 1, 'paid': 20, 'unit_price': 3, 'certificate': ['A'], 'lots': ['A', 'B'], 'damaged': ['B'], 'buyer_signed': True, 'seller_signed': True, 'freight': 4, 'storage': 2, 'returned': 1, 'deadline': 9, 'now': 7, 'disputed': False}, [16, 32, 48, 64, 80]), ('nothing delivered', {'awarded': 8, 'shipped': 6, 'delivered': 0, 'inspected': 0, 'rejected': 0, 'paid': 20, 'unit_price': 3, 'certificate': ['A'], 'lots': ['A', 'B'], 'damaged': ['B'], 'buyer_signed': False, 'seller_signed': True, 'freight': 4, 'storage': 2, 'returned': 1, 'deadline': 9, 'now': 7, 'disputed': False}, [16, 32, 48, 64, 80]), ('inspection exceeds delivery', {'awarded': 8, 'shipped': 6, 'delivered': 5, 'inspected': 8, 'rejected': 1, 'paid': 20, 'unit_price': 3, 'certificate': ['A'], 'lots': ['A', 'B'], 'damaged': ['B'], 'buyer_signed': False, 'seller_signed': True, 'freight': 4, 'storage': 2, 'returned': 1, 'deadline': 9, 'now': 7, 'disputed': False}, [16, 32, 48, 64, 80]), ('all inspected rejected', {'awarded': 8, 'shipped': 6, 'delivered': 5, 'inspected': 4, 'rejected': 4, 'paid': 20, 'unit_price': 3, 'certificate': ['A'], 'lots': ['A', 'B'], 'damaged': ['B'], 'buyer_signed': False, 'seller_signed': True, 'freight': 4, 'storage': 2, 'returned': 1, 'deadline': 9, 'now': 7, 'disputed': False}, [16, 32, 48, 64, 80]), ('all certified', {'awarded': 8, 'shipped': 6, 'delivered': 5, 'inspected': 4, 'rejected': 1, 'paid': 20, 'unit_price': 3, 'certificate': ['A', 'B'], 'lots': ['A', 'B'], 'damaged': ['B'], 'buyer_signed': False, 'seller_signed': True, 'freight': 4, 'storage': 2, 'returned': 1, 'deadline': 9, 'now': 7, 'disputed': False}, [16, 32, 48, 64, 80]), ('no damage', {'awarded': 8, 'shipped': 6, 'delivered': 5, 'inspected': 4, 'rejected': 1, 'paid': 20, 'unit_price': 3, 'certificate': ['A'], 'lots': ['A', 'B'], 'damaged': [], 'buyer_signed': False, 'seller_signed': True, 'freight': 4, 'storage': 2, 'returned': 1, 'deadline': 9, 'now': 7, 'disputed': False}, [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))['dispute-payout-hold'], 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
active dispute00Passed
wrong certificate same count / active dispute00Passed
normal contract1616Passed
wrong certificate same count1616Passed
delivery at deadline1616Passed
buyer accepts1616Passed
nothing delivered1616Passed
inspection exceeds delivery1616Passed
all inspected rejected1616Passed
all certified1616Passed
no damage1616Passed

SHA-256 / b921e95b694cc243f04c77fa17e84d046498a33e0fa7d50fbaca85537880133d

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

Case digest / 3a36e4587716adbc30a967f979daf2a56e93607011dd3e03edad9d9fe557e6e3