FAILURE MAP
← Case archive

FA-57606 / Auction allocation rules / Open access

Permit constrained award: accepted quota consumption · case 01

A provisional award consumes quota before acceptance or never consumes it.

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

ROOT CAUSE

A provisional award consumes quota before acceptance or never consumes it.

THE FAILURE

A provisional award consumes quota before acceptance or never consumes it.

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

Case contract

A toy regulated-item auction uses explicit fictional permit rules: permits are lot-category, destination and unit-count scoped; transfers consume quota only after award acceptance, and returns restore quota only after regulator acknowledgment. No real regulatory compliance is represented. Named decision accepted-quota-consumption: For accepted quota consumption, apply the stipulated decision max(0,x["quota"]-x["requested"]) if x["accepted"] else x["quota"].

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["category"] in x["permit_categories"]
    v1 = all(d in x["destinations"] for d in x["route"])
    v2 = min(x["requested"],max(0,x["quota"]-x["reserved"]))
    v3 = max(0,x["quota"]-x["requested"])
    v4 = x["quota"]+(x["returned"] if x["return_ack"] else 0)
    v5 = x["award_time"]<x["expires"]
    v6 = x["delivery_time"]<x["expires"]
    v7 = [p for p in x["assigned"] if p in x["permits"] and p not in x["revoked"]]
    v8 = x["seller_license"] and x["buyer_license"]
    v9 = x["permit_owner"]==x["buyer"] or x["transferred"]
    return {'permit-category-scope':v0,'transit-route-permit':v1,'unreserved-permit-quota':v2,'accepted-quota-consumption':v3,'acknowledged-quota-restoration':v4,'award-time-permit-validity':v5,'delivery-permit-recheck':v6,'revoked-permit-selection':v7,'two-party-license':v8,'permit-owner-transfer':v9}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [('normal contract', {'category': 'blue', 'permit_categories': ['red', 'blue'], 'destination': 'D1', 'destinations': ['D1'], 'requested': 6, 'quota': 5, 'reserved': 2, 'accepted': False, 'returned': 3, 'return_ack': False, 'expires': 8, 'award_time': 7, 'delivery_time': 9, 'permits': ['p1', 'p2'], 'revoked': ['p2'], 'assigned': ['p2'], 'seller_license': True, 'buyer_license': False, 'permit_owner': 'b', 'buyer': 'b', 'transferred': False, 'route': ['D2', 'D1']}, [5, 10, 15, 20, 25]), ('award at permit expiry', {'category': 'blue', 'permit_categories': ['red', 'blue'], 'destination': 'D1', 'destinations': ['D1'], 'requested': 6, 'quota': 5, 'reserved': 2, 'accepted': False, 'returned': 3, 'return_ack': False, 'expires': 8, 'award_time': 8, 'delivery_time': 9, 'permits': ['p1', 'p2'], 'revoked': ['p2'], 'assigned': ['p2'], 'seller_license': True, 'buyer_license': False, 'permit_owner': 'b', 'buyer': 'b', 'transferred': False, 'route': ['D2', 'D1']}, [5, 10, 15, 20, 25]), ('accepted award', {'category': 'blue', 'permit_categories': ['red', 'blue'], 'destination': 'D1', 'destinations': ['D1'], 'requested': 6, 'quota': 5, 'reserved': 2, 'accepted': True, 'returned': 3, 'return_ack': False, 'expires': 8, 'award_time': 7, 'delivery_time': 9, 'permits': ['p1', 'p2'], 'revoked': ['p2'], 'assigned': ['p2'], 'seller_license': True, 'buyer_license': False, 'permit_owner': 'b', 'buyer': 'b', 'transferred': False, 'route': ['D2', 'D1']}, [0, 0, 0, 0, 0]), ('award at permit expiry / accepted award', {'category': 'blue', 'permit_categories': ['red', 'blue'], 'destination': 'D1', 'destinations': ['D1'], 'requested': 6, 'quota': 5, 'reserved': 2, 'accepted': True, 'returned': 3, 'return_ack': False, 'expires': 8, 'award_time': 8, 'delivery_time': 9, 'permits': ['p1', 'p2'], 'revoked': ['p2'], 'assigned': ['p2'], 'seller_license': True, 'buyer_license': False, 'permit_owner': 'b', 'buyer': 'b', 'transferred': False, 'route': ['D2', 'D1']}, [0, 0, 0, 0, 0]), ('different category', {'category': 'green', 'permit_categories': ['red', 'blue'], 'destination': 'D1', 'destinations': ['D1'], 'requested': 6, 'quota': 5, 'reserved': 2, 'accepted': False, 'returned': 3, 'return_ack': False, 'expires': 8, 'award_time': 7, 'delivery_time': 9, 'permits': ['p1', 'p2'], 'revoked': ['p2'], 'assigned': ['p2'], 'seller_license': True, 'buyer_license': False, 'permit_owner': 'b', 'buyer': 'b', 'transferred': False, 'route': ['D2', 'D1']}, [5, 10, 15, 20, 25]), ('different destination', {'category': 'blue', 'permit_categories': ['red', 'blue'], 'destination': 'D2', 'destinations': ['D1'], 'requested': 6, 'quota': 5, 'reserved': 2, 'accepted': False, 'returned': 3, 'return_ack': False, 'expires': 8, 'award_time': 7, 'delivery_time': 9, 'permits': ['p1', 'p2'], 'revoked': ['p2'], 'assigned': ['p2'], 'seller_license': True, 'buyer_license': False, 'permit_owner': 'b', 'buyer': 'b', 'transferred': False, 'route': ['D2', 'D1']}, [5, 10, 15, 20, 25]), ('small request', {'category': 'blue', 'permit_categories': ['red', 'blue'], 'destination': 'D1', 'destinations': ['D1'], 'requested': 2, 'quota': 5, 'reserved': 2, 'accepted': False, 'returned': 3, 'return_ack': False, 'expires': 8, 'award_time': 7, 'delivery_time': 9, 'permits': ['p1', 'p2'], 'revoked': ['p2'], 'assigned': ['p2'], 'seller_license': True, 'buyer_license': False, 'permit_owner': 'b', 'buyer': 'b', 'transferred': False, 'route': ['D2', 'D1']}, [5, 10, 15, 20, 25]), ('return acknowledged', {'category': 'blue', 'permit_categories': ['red', 'blue'], 'destination': 'D1', 'destinations': ['D1'], 'requested': 6, 'quota': 5, 'reserved': 2, 'accepted': False, 'returned': 3, 'return_ack': True, 'expires': 8, 'award_time': 7, 'delivery_time': 9, 'permits': ['p1', 'p2'], 'revoked': ['p2'], 'assigned': ['p2'], 'seller_license': True, 'buyer_license': False, 'permit_owner': 'b', 'buyer': 'b', 'transferred': False, 'route': ['D2', 'D1']}, [5, 10, 15, 20, 25]), ('award after permit expiry', {'category': 'blue', 'permit_categories': ['red', 'blue'], 'destination': 'D1', 'destinations': ['D1'], 'requested': 6, 'quota': 5, 'reserved': 2, 'accepted': False, 'returned': 3, 'return_ack': False, 'expires': 8, 'award_time': 9, 'delivery_time': 9, 'permits': ['p1', 'p2'], 'revoked': ['p2'], 'assigned': ['p2'], 'seller_license': True, 'buyer_license': False, 'permit_owner': 'b', 'buyer': 'b', 'transferred': False, 'route': ['D2', 'D1']}, [5, 10, 15, 20, 25]), ('delivery before expiry', {'category': 'blue', 'permit_categories': ['red', 'blue'], 'destination': 'D1', 'destinations': ['D1'], 'requested': 6, 'quota': 5, 'reserved': 2, 'accepted': False, 'returned': 3, 'return_ack': False, 'expires': 8, 'award_time': 7, 'delivery_time': 7, 'permits': ['p1', 'p2'], 'revoked': ['p2'], 'assigned': ['p2'], 'seller_license': True, 'buyer_license': False, 'permit_owner': 'b', 'buyer': 'b', 'transferred': False, 'route': ['D2', 'D1']}, [5, 10, 15, 20, 25])]
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))['accepted-quota-consumption'], 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 contract05Failed
award at permit expiry05Failed
accepted award00Passed
award at permit expiry / accepted award00Passed
different category05Failed
different destination05Failed
small request35Failed
return acknowledged05Failed
award after permit expiry05Failed
delivery before expiry05Failed

SHA-256 / 566d7f78a644b510a5b8c33f574f6aaa67de8d70c1cb4fb187d48c5e9563bd8f

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(x):
    v0 = x["category"] in x["permit_categories"]
    v1 = all(d in x["destinations"] for d in x["route"])
    v2 = min(x["requested"],max(0,x["quota"]-x["reserved"]))
    v3 = x["quota"]
    v4 = x["quota"]+(x["returned"] if x["return_ack"] else 0)
    v5 = x["award_time"]<x["expires"]
    v6 = x["delivery_time"]<x["expires"]
    v7 = [p for p in x["assigned"] if p in x["permits"] and p not in x["revoked"]]
    v8 = x["seller_license"] and x["buyer_license"]
    v9 = x["permit_owner"]==x["buyer"] or x["transferred"]
    return {'permit-category-scope':v0,'transit-route-permit':v1,'unreserved-permit-quota':v2,'accepted-quota-consumption':v3,'acknowledged-quota-restoration':v4,'award-time-permit-validity':v5,'delivery-permit-recheck':v6,'revoked-permit-selection':v7,'two-party-license':v8,'permit-owner-transfer':v9}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [('normal contract', {'category': 'blue', 'permit_categories': ['red', 'blue'], 'destination': 'D1', 'destinations': ['D1'], 'requested': 6, 'quota': 5, 'reserved': 2, 'accepted': False, 'returned': 3, 'return_ack': False, 'expires': 8, 'award_time': 7, 'delivery_time': 9, 'permits': ['p1', 'p2'], 'revoked': ['p2'], 'assigned': ['p2'], 'seller_license': True, 'buyer_license': False, 'permit_owner': 'b', 'buyer': 'b', 'transferred': False, 'route': ['D2', 'D1']}, [5, 10, 15, 20, 25]), ('award at permit expiry', {'category': 'blue', 'permit_categories': ['red', 'blue'], 'destination': 'D1', 'destinations': ['D1'], 'requested': 6, 'quota': 5, 'reserved': 2, 'accepted': False, 'returned': 3, 'return_ack': False, 'expires': 8, 'award_time': 8, 'delivery_time': 9, 'permits': ['p1', 'p2'], 'revoked': ['p2'], 'assigned': ['p2'], 'seller_license': True, 'buyer_license': False, 'permit_owner': 'b', 'buyer': 'b', 'transferred': False, 'route': ['D2', 'D1']}, [5, 10, 15, 20, 25]), ('accepted award', {'category': 'blue', 'permit_categories': ['red', 'blue'], 'destination': 'D1', 'destinations': ['D1'], 'requested': 6, 'quota': 5, 'reserved': 2, 'accepted': True, 'returned': 3, 'return_ack': False, 'expires': 8, 'award_time': 7, 'delivery_time': 9, 'permits': ['p1', 'p2'], 'revoked': ['p2'], 'assigned': ['p2'], 'seller_license': True, 'buyer_license': False, 'permit_owner': 'b', 'buyer': 'b', 'transferred': False, 'route': ['D2', 'D1']}, [0, 0, 0, 0, 0]), ('award at permit expiry / accepted award', {'category': 'blue', 'permit_categories': ['red', 'blue'], 'destination': 'D1', 'destinations': ['D1'], 'requested': 6, 'quota': 5, 'reserved': 2, 'accepted': True, 'returned': 3, 'return_ack': False, 'expires': 8, 'award_time': 8, 'delivery_time': 9, 'permits': ['p1', 'p2'], 'revoked': ['p2'], 'assigned': ['p2'], 'seller_license': True, 'buyer_license': False, 'permit_owner': 'b', 'buyer': 'b', 'transferred': False, 'route': ['D2', 'D1']}, [0, 0, 0, 0, 0]), ('different category', {'category': 'green', 'permit_categories': ['red', 'blue'], 'destination': 'D1', 'destinations': ['D1'], 'requested': 6, 'quota': 5, 'reserved': 2, 'accepted': False, 'returned': 3, 'return_ack': False, 'expires': 8, 'award_time': 7, 'delivery_time': 9, 'permits': ['p1', 'p2'], 'revoked': ['p2'], 'assigned': ['p2'], 'seller_license': True, 'buyer_license': False, 'permit_owner': 'b', 'buyer': 'b', 'transferred': False, 'route': ['D2', 'D1']}, [5, 10, 15, 20, 25]), ('different destination', {'category': 'blue', 'permit_categories': ['red', 'blue'], 'destination': 'D2', 'destinations': ['D1'], 'requested': 6, 'quota': 5, 'reserved': 2, 'accepted': False, 'returned': 3, 'return_ack': False, 'expires': 8, 'award_time': 7, 'delivery_time': 9, 'permits': ['p1', 'p2'], 'revoked': ['p2'], 'assigned': ['p2'], 'seller_license': True, 'buyer_license': False, 'permit_owner': 'b', 'buyer': 'b', 'transferred': False, 'route': ['D2', 'D1']}, [5, 10, 15, 20, 25]), ('small request', {'category': 'blue', 'permit_categories': ['red', 'blue'], 'destination': 'D1', 'destinations': ['D1'], 'requested': 2, 'quota': 5, 'reserved': 2, 'accepted': False, 'returned': 3, 'return_ack': False, 'expires': 8, 'award_time': 7, 'delivery_time': 9, 'permits': ['p1', 'p2'], 'revoked': ['p2'], 'assigned': ['p2'], 'seller_license': True, 'buyer_license': False, 'permit_owner': 'b', 'buyer': 'b', 'transferred': False, 'route': ['D2', 'D1']}, [5, 10, 15, 20, 25]), ('return acknowledged', {'category': 'blue', 'permit_categories': ['red', 'blue'], 'destination': 'D1', 'destinations': ['D1'], 'requested': 6, 'quota': 5, 'reserved': 2, 'accepted': False, 'returned': 3, 'return_ack': True, 'expires': 8, 'award_time': 7, 'delivery_time': 9, 'permits': ['p1', 'p2'], 'revoked': ['p2'], 'assigned': ['p2'], 'seller_license': True, 'buyer_license': False, 'permit_owner': 'b', 'buyer': 'b', 'transferred': False, 'route': ['D2', 'D1']}, [5, 10, 15, 20, 25]), ('award after permit expiry', {'category': 'blue', 'permit_categories': ['red', 'blue'], 'destination': 'D1', 'destinations': ['D1'], 'requested': 6, 'quota': 5, 'reserved': 2, 'accepted': False, 'returned': 3, 'return_ack': False, 'expires': 8, 'award_time': 9, 'delivery_time': 9, 'permits': ['p1', 'p2'], 'revoked': ['p2'], 'assigned': ['p2'], 'seller_license': True, 'buyer_license': False, 'permit_owner': 'b', 'buyer': 'b', 'transferred': False, 'route': ['D2', 'D1']}, [5, 10, 15, 20, 25]), ('delivery before expiry', {'category': 'blue', 'permit_categories': ['red', 'blue'], 'destination': 'D1', 'destinations': ['D1'], 'requested': 6, 'quota': 5, 'reserved': 2, 'accepted': False, 'returned': 3, 'return_ack': False, 'expires': 8, 'award_time': 7, 'delivery_time': 7, 'permits': ['p1', 'p2'], 'revoked': ['p2'], 'assigned': ['p2'], 'seller_license': True, 'buyer_license': False, 'permit_owner': 'b', 'buyer': 'b', 'transferred': False, 'route': ['D2', 'D1']}, [5, 10, 15, 20, 25])]
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))['accepted-quota-consumption'], 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 contract55Passed
award at permit expiry55Passed
accepted award50Failed
award at permit expiry / accepted award50Failed
different category55Passed
different destination55Passed
small request55Passed
return acknowledged55Passed
award after permit expiry55Passed
delivery before expiry55Passed

SHA-256 / 74753ffd1dc2d305b3bdf5a603959f214d8faf06704ba489701efcd9d482378e

HELD IN THE MEMBER ARCHIVE

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

This mechanism has 10 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:18.542217+00:00.

Case digest / 12a166e66796df323cd3ddfa78e3f6fb47c614ace268dc4f47646e9a6a885797