FAILURE MAP
← Case archive

FA-57076 / Auction allocation rules / Open access

Consortium bid: joint exposure · case 01

Joint and several award obligations are interchanged.

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

ROOT CAUSE

Joint and several award obligations are interchanged.

VERIFIED REPAIR

For joint exposure, apply the stipulated decision {m:x["award"] if x["joint"] else x["shares"].get(m,0) for m in x["members"]}.

Unsuccessful approach: The attempted repair uses {m:x["award"] for m in x["members"]}; the explicit regression cases demonstrate that this still violates the stipulated auction rule.

Case contract

A consortium submits one joint bid with named members and a designated representative. Member approvals are scope-specific. Award shares are literal integer units, member exits cannot strand assigned units, and affiliate conflicts are checked against both consortiums. Named decision joint-exposure: For joint exposure, apply the stipulated decision {m:x["award"] if x["joint"] else x["shares"].get(m,0) for m in x["members"]}.

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["representative"] in x["members"]
    v1 = set(x["members"])<=set(x["signers"])
    v2 = all(set(x["lots"])<=set(x["approved_lots"].get(m,[])) for m in x["members"])
    v3 = sum(x["shares"].get(m,0) for m in x["members"])==x["award"]
    v4 = all(x["shares"].get(m,0)==0 for m in x["exits"])
    v5 = x["replacement"] in x["approved_members"] and x["replacement"] not in x["members"]
    v6 = not any(set(x["affiliates"].get(m,[]))&set(x["rivals"]) for m in x["members"])
    v7 = x["shares"]
    v8 = all(x["shares"].get(m,0)<=x["member_caps"].get(m,0) for m in x["members"])
    v9 = not x["dissolved"] and all(x["payments"].get(m,0)>=x["required"].get(m,0) for m in x["members"])
    return {'representative-membership':v0,'unanimous-bid-signature':v1,'joint-lot-mandate':v2,'share-conservation':v3,'exit-assignment-guard':v4,'replacement-member-approval':v5,'affiliate-rival-exclusion':v6,'joint-exposure':v7,'member-cap-certification':v8,'dissolution-settlement':v9}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [('normal contract', {'members': ['a', 'b'], 'representative': 'a', 'signers': ['a'], 'approved_lots': {'a': ['L1', 'L2'], 'b': ['L1']}, 'lots': ['L1', 'L2'], 'shares': {'a': 3, 'b': 2}, 'award': 5, 'exits': ['b'], 'replacement': 'c', 'approved_members': ['a', 'b'], 'affiliates': {'a': ['x'], 'b': ['y']}, 'rivals': ['y'], 'joint': True, 'member_caps': {'a': 4, 'b': 3}, 'payments': {'a': 3, 'b': 1}, 'required': {'a': 3, 'b': 2}, 'dissolved': False}, [{'a': 5, 'b': 5}, {'a': 10, 'b': 10}, {'a': 15, 'b': 15}, {'a': 20, 'b': 20}, {'a': 25, 'b': 25}]), ('member not signer', {'members': ['a', 'b'], 'representative': 'b', 'signers': ['a'], 'approved_lots': {'a': ['L1', 'L2'], 'b': ['L1']}, 'lots': ['L1', 'L2'], 'shares': {'a': 3, 'b': 2}, 'award': 5, 'exits': ['b'], 'replacement': 'c', 'approved_members': ['a', 'b'], 'affiliates': {'a': ['x'], 'b': ['y']}, 'rivals': ['y'], 'joint': True, 'member_caps': {'a': 4, 'b': 3}, 'payments': {'a': 3, 'b': 1}, 'required': {'a': 3, 'b': 2}, 'dissolved': False}, [{'a': 5, 'b': 5}, {'a': 10, 'b': 10}, {'a': 15, 'b': 15}, {'a': 20, 'b': 20}, {'a': 25, 'b': 25}]), ('several liabilities', {'members': ['a', 'b'], 'representative': 'a', 'signers': ['a'], 'approved_lots': {'a': ['L1', 'L2'], 'b': ['L1']}, 'lots': ['L1', 'L2'], 'shares': {'a': 3, 'b': 2}, 'award': 5, 'exits': ['b'], 'replacement': 'c', 'approved_members': ['a', 'b'], 'affiliates': {'a': ['x'], 'b': ['y']}, 'rivals': ['y'], 'joint': False, 'member_caps': {'a': 4, 'b': 3}, 'payments': {'a': 3, 'b': 1}, 'required': {'a': 3, 'b': 2}, 'dissolved': False}, [{'a': 3, 'b': 2}, {'a': 6, 'b': 4}, {'a': 9, 'b': 6}, {'a': 12, 'b': 8}, {'a': 15, 'b': 10}]), ('member not signer / several liabilities', {'members': ['a', 'b'], 'representative': 'b', 'signers': ['a'], 'approved_lots': {'a': ['L1', 'L2'], 'b': ['L1']}, 'lots': ['L1', 'L2'], 'shares': {'a': 3, 'b': 2}, 'award': 5, 'exits': ['b'], 'replacement': 'c', 'approved_members': ['a', 'b'], 'affiliates': {'a': ['x'], 'b': ['y']}, 'rivals': ['y'], 'joint': False, 'member_caps': {'a': 4, 'b': 3}, 'payments': {'a': 3, 'b': 1}, 'required': {'a': 3, 'b': 2}, 'dissolved': False}, [{'a': 3, 'b': 2}, {'a': 6, 'b': 4}, {'a': 9, 'b': 6}, {'a': 12, 'b': 8}, {'a': 15, 'b': 10}]), ('outsider signs', {'members': ['a', 'b'], 'representative': 'a', 'signers': ['a', 'c'], 'approved_lots': {'a': ['L1', 'L2'], 'b': ['L1']}, 'lots': ['L1', 'L2'], 'shares': {'a': 3, 'b': 2}, 'award': 5, 'exits': ['b'], 'replacement': 'c', 'approved_members': ['a', 'b'], 'affiliates': {'a': ['x'], 'b': ['y']}, 'rivals': ['y'], 'joint': True, 'member_caps': {'a': 4, 'b': 3}, 'payments': {'a': 3, 'b': 1}, 'required': {'a': 3, 'b': 2}, 'dissolved': False}, [{'a': 5, 'b': 5}, {'a': 10, 'b': 10}, {'a': 15, 'b': 15}, {'a': 20, 'b': 20}, {'a': 25, 'b': 25}]), ('overassigned award', {'members': ['a', 'b'], 'representative': 'a', 'signers': ['a'], 'approved_lots': {'a': ['L1', 'L2'], 'b': ['L1']}, 'lots': ['L1', 'L2'], 'shares': {'a': 3, 'b': 2}, 'award': 4, 'exits': ['b'], 'replacement': 'c', 'approved_members': ['a', 'b'], 'affiliates': {'a': ['x'], 'b': ['y']}, 'rivals': ['y'], 'joint': True, 'member_caps': {'a': 4, 'b': 3}, 'payments': {'a': 3, 'b': 1}, 'required': {'a': 3, 'b': 2}, 'dissolved': False}, [{'a': 4, 'b': 4}, {'a': 8, 'b': 8}, {'a': 12, 'b': 12}, {'a': 16, 'b': 16}, {'a': 20, 'b': 20}]), ('existing replacement', {'members': ['a', 'b'], 'representative': 'a', 'signers': ['a'], 'approved_lots': {'a': ['L1', 'L2'], 'b': ['L1']}, 'lots': ['L1', 'L2'], 'shares': {'a': 3, 'b': 2}, 'award': 5, 'exits': ['b'], 'replacement': 'a', 'approved_members': ['a', 'b'], 'affiliates': {'a': ['x'], 'b': ['y']}, 'rivals': ['y'], 'joint': True, 'member_caps': {'a': 4, 'b': 3}, 'payments': {'a': 3, 'b': 1}, 'required': {'a': 3, 'b': 2}, 'dissolved': False}, [{'a': 5, 'b': 5}, {'a': 10, 'b': 10}, {'a': 15, 'b': 15}, {'a': 20, 'b': 20}, {'a': 25, 'b': 25}]), ('all signed', {'members': ['a', 'b'], 'representative': 'a', 'signers': ['a', 'b'], 'approved_lots': {'a': ['L1', 'L2'], 'b': ['L1']}, 'lots': ['L1', 'L2'], 'shares': {'a': 3, 'b': 2}, 'award': 5, 'exits': ['b'], 'replacement': 'c', 'approved_members': ['a', 'b'], 'affiliates': {'a': ['x'], 'b': ['y']}, 'rivals': ['y'], 'joint': True, 'member_caps': {'a': 4, 'b': 3}, 'payments': {'a': 3, 'b': 1}, 'required': {'a': 3, 'b': 2}, 'dissolved': False}, [{'a': 5, 'b': 5}, {'a': 10, 'b': 10}, {'a': 15, 'b': 15}, {'a': 20, 'b': 20}, {'a': 25, 'b': 25}]), ('outsider representative', {'members': ['a', 'b'], 'representative': 'c', 'signers': ['a'], 'approved_lots': {'a': ['L1', 'L2'], 'b': ['L1']}, 'lots': ['L1', 'L2'], 'shares': {'a': 3, 'b': 2}, 'award': 5, 'exits': ['b'], 'replacement': 'c', 'approved_members': ['a', 'b'], 'affiliates': {'a': ['x'], 'b': ['y']}, 'rivals': ['y'], 'joint': True, 'member_caps': {'a': 4, 'b': 3}, 'payments': {'a': 3, 'b': 1}, 'required': {'a': 3, 'b': 2}, 'dissolved': False}, [{'a': 5, 'b': 5}, {'a': 10, 'b': 10}, {'a': 15, 'b': 15}, {'a': 20, 'b': 20}, {'a': 25, 'b': 25}]), ('single lot mandate', {'members': ['a', 'b'], 'representative': 'a', 'signers': ['a'], 'approved_lots': {'a': ['L1', 'L2'], 'b': ['L1']}, 'lots': ['L1'], 'shares': {'a': 3, 'b': 2}, 'award': 5, 'exits': ['b'], 'replacement': 'c', 'approved_members': ['a', 'b'], 'affiliates': {'a': ['x'], 'b': ['y']}, 'rivals': ['y'], 'joint': True, 'member_caps': {'a': 4, 'b': 3}, 'payments': {'a': 3, 'b': 1}, 'required': {'a': 3, 'b': 2}, 'dissolved': False}, [{'a': 5, 'b': 5}, {'a': 10, 'b': 10}, {'a': 15, 'b': 15}, {'a': 20, 'b': 20}, {'a': 25, 'b': 25}]), ('unallocated award', {'members': ['a', 'b'], 'representative': 'a', 'signers': ['a'], 'approved_lots': {'a': ['L1', 'L2'], 'b': ['L1']}, 'lots': ['L1', 'L2'], 'shares': {'a': 3, 'b': 2}, 'award': 6, 'exits': ['b'], 'replacement': 'c', 'approved_members': ['a', 'b'], 'affiliates': {'a': ['x'], 'b': ['y']}, 'rivals': ['y'], 'joint': True, 'member_caps': {'a': 4, 'b': 3}, 'payments': {'a': 3, 'b': 1}, 'required': {'a': 3, 'b': 2}, 'dissolved': False}, [{'a': 6, 'b': 6}, {'a': 12, 'b': 12}, {'a': 18, 'b': 18}, {'a': 24, 'b': 24}, {'a': 30, 'b': 30}])]
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))['joint-exposure'], 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 contract{'a': 3, 'b': 2}{'a': 5, 'b': 5}Failed
member not signer{'a': 3, 'b': 2}{'a': 5, 'b': 5}Failed
several liabilities{'a': 3, 'b': 2}{'a': 3, 'b': 2}Passed
member not signer / several liabilities{'a': 3, 'b': 2}{'a': 3, 'b': 2}Passed
outsider signs{'a': 3, 'b': 2}{'a': 5, 'b': 5}Failed
overassigned award{'a': 3, 'b': 2}{'a': 4, 'b': 4}Failed
existing replacement{'a': 3, 'b': 2}{'a': 5, 'b': 5}Failed
all signed{'a': 3, 'b': 2}{'a': 5, 'b': 5}Failed
outsider representative{'a': 3, 'b': 2}{'a': 5, 'b': 5}Failed
single lot mandate{'a': 3, 'b': 2}{'a': 5, 'b': 5}Failed
unallocated award{'a': 3, 'b': 2}{'a': 6, 'b': 6}Failed

SHA-256 / d8e4bcf3563fa9a79b5215b838f3f8cc768e187763cdd74fcfe9ad61d3fbc4cd

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(x):
    v0 = x["representative"] in x["members"]
    v1 = set(x["members"])<=set(x["signers"])
    v2 = all(set(x["lots"])<=set(x["approved_lots"].get(m,[])) for m in x["members"])
    v3 = sum(x["shares"].get(m,0) for m in x["members"])==x["award"]
    v4 = all(x["shares"].get(m,0)==0 for m in x["exits"])
    v5 = x["replacement"] in x["approved_members"] and x["replacement"] not in x["members"]
    v6 = not any(set(x["affiliates"].get(m,[]))&set(x["rivals"]) for m in x["members"])
    v7 = {m:x["award"] for m in x["members"]}
    v8 = all(x["shares"].get(m,0)<=x["member_caps"].get(m,0) for m in x["members"])
    v9 = not x["dissolved"] and all(x["payments"].get(m,0)>=x["required"].get(m,0) for m in x["members"])
    return {'representative-membership':v0,'unanimous-bid-signature':v1,'joint-lot-mandate':v2,'share-conservation':v3,'exit-assignment-guard':v4,'replacement-member-approval':v5,'affiliate-rival-exclusion':v6,'joint-exposure':v7,'member-cap-certification':v8,'dissolution-settlement':v9}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [('normal contract', {'members': ['a', 'b'], 'representative': 'a', 'signers': ['a'], 'approved_lots': {'a': ['L1', 'L2'], 'b': ['L1']}, 'lots': ['L1', 'L2'], 'shares': {'a': 3, 'b': 2}, 'award': 5, 'exits': ['b'], 'replacement': 'c', 'approved_members': ['a', 'b'], 'affiliates': {'a': ['x'], 'b': ['y']}, 'rivals': ['y'], 'joint': True, 'member_caps': {'a': 4, 'b': 3}, 'payments': {'a': 3, 'b': 1}, 'required': {'a': 3, 'b': 2}, 'dissolved': False}, [{'a': 5, 'b': 5}, {'a': 10, 'b': 10}, {'a': 15, 'b': 15}, {'a': 20, 'b': 20}, {'a': 25, 'b': 25}]), ('member not signer', {'members': ['a', 'b'], 'representative': 'b', 'signers': ['a'], 'approved_lots': {'a': ['L1', 'L2'], 'b': ['L1']}, 'lots': ['L1', 'L2'], 'shares': {'a': 3, 'b': 2}, 'award': 5, 'exits': ['b'], 'replacement': 'c', 'approved_members': ['a', 'b'], 'affiliates': {'a': ['x'], 'b': ['y']}, 'rivals': ['y'], 'joint': True, 'member_caps': {'a': 4, 'b': 3}, 'payments': {'a': 3, 'b': 1}, 'required': {'a': 3, 'b': 2}, 'dissolved': False}, [{'a': 5, 'b': 5}, {'a': 10, 'b': 10}, {'a': 15, 'b': 15}, {'a': 20, 'b': 20}, {'a': 25, 'b': 25}]), ('several liabilities', {'members': ['a', 'b'], 'representative': 'a', 'signers': ['a'], 'approved_lots': {'a': ['L1', 'L2'], 'b': ['L1']}, 'lots': ['L1', 'L2'], 'shares': {'a': 3, 'b': 2}, 'award': 5, 'exits': ['b'], 'replacement': 'c', 'approved_members': ['a', 'b'], 'affiliates': {'a': ['x'], 'b': ['y']}, 'rivals': ['y'], 'joint': False, 'member_caps': {'a': 4, 'b': 3}, 'payments': {'a': 3, 'b': 1}, 'required': {'a': 3, 'b': 2}, 'dissolved': False}, [{'a': 3, 'b': 2}, {'a': 6, 'b': 4}, {'a': 9, 'b': 6}, {'a': 12, 'b': 8}, {'a': 15, 'b': 10}]), ('member not signer / several liabilities', {'members': ['a', 'b'], 'representative': 'b', 'signers': ['a'], 'approved_lots': {'a': ['L1', 'L2'], 'b': ['L1']}, 'lots': ['L1', 'L2'], 'shares': {'a': 3, 'b': 2}, 'award': 5, 'exits': ['b'], 'replacement': 'c', 'approved_members': ['a', 'b'], 'affiliates': {'a': ['x'], 'b': ['y']}, 'rivals': ['y'], 'joint': False, 'member_caps': {'a': 4, 'b': 3}, 'payments': {'a': 3, 'b': 1}, 'required': {'a': 3, 'b': 2}, 'dissolved': False}, [{'a': 3, 'b': 2}, {'a': 6, 'b': 4}, {'a': 9, 'b': 6}, {'a': 12, 'b': 8}, {'a': 15, 'b': 10}]), ('outsider signs', {'members': ['a', 'b'], 'representative': 'a', 'signers': ['a', 'c'], 'approved_lots': {'a': ['L1', 'L2'], 'b': ['L1']}, 'lots': ['L1', 'L2'], 'shares': {'a': 3, 'b': 2}, 'award': 5, 'exits': ['b'], 'replacement': 'c', 'approved_members': ['a', 'b'], 'affiliates': {'a': ['x'], 'b': ['y']}, 'rivals': ['y'], 'joint': True, 'member_caps': {'a': 4, 'b': 3}, 'payments': {'a': 3, 'b': 1}, 'required': {'a': 3, 'b': 2}, 'dissolved': False}, [{'a': 5, 'b': 5}, {'a': 10, 'b': 10}, {'a': 15, 'b': 15}, {'a': 20, 'b': 20}, {'a': 25, 'b': 25}]), ('overassigned award', {'members': ['a', 'b'], 'representative': 'a', 'signers': ['a'], 'approved_lots': {'a': ['L1', 'L2'], 'b': ['L1']}, 'lots': ['L1', 'L2'], 'shares': {'a': 3, 'b': 2}, 'award': 4, 'exits': ['b'], 'replacement': 'c', 'approved_members': ['a', 'b'], 'affiliates': {'a': ['x'], 'b': ['y']}, 'rivals': ['y'], 'joint': True, 'member_caps': {'a': 4, 'b': 3}, 'payments': {'a': 3, 'b': 1}, 'required': {'a': 3, 'b': 2}, 'dissolved': False}, [{'a': 4, 'b': 4}, {'a': 8, 'b': 8}, {'a': 12, 'b': 12}, {'a': 16, 'b': 16}, {'a': 20, 'b': 20}]), ('existing replacement', {'members': ['a', 'b'], 'representative': 'a', 'signers': ['a'], 'approved_lots': {'a': ['L1', 'L2'], 'b': ['L1']}, 'lots': ['L1', 'L2'], 'shares': {'a': 3, 'b': 2}, 'award': 5, 'exits': ['b'], 'replacement': 'a', 'approved_members': ['a', 'b'], 'affiliates': {'a': ['x'], 'b': ['y']}, 'rivals': ['y'], 'joint': True, 'member_caps': {'a': 4, 'b': 3}, 'payments': {'a': 3, 'b': 1}, 'required': {'a': 3, 'b': 2}, 'dissolved': False}, [{'a': 5, 'b': 5}, {'a': 10, 'b': 10}, {'a': 15, 'b': 15}, {'a': 20, 'b': 20}, {'a': 25, 'b': 25}]), ('all signed', {'members': ['a', 'b'], 'representative': 'a', 'signers': ['a', 'b'], 'approved_lots': {'a': ['L1', 'L2'], 'b': ['L1']}, 'lots': ['L1', 'L2'], 'shares': {'a': 3, 'b': 2}, 'award': 5, 'exits': ['b'], 'replacement': 'c', 'approved_members': ['a', 'b'], 'affiliates': {'a': ['x'], 'b': ['y']}, 'rivals': ['y'], 'joint': True, 'member_caps': {'a': 4, 'b': 3}, 'payments': {'a': 3, 'b': 1}, 'required': {'a': 3, 'b': 2}, 'dissolved': False}, [{'a': 5, 'b': 5}, {'a': 10, 'b': 10}, {'a': 15, 'b': 15}, {'a': 20, 'b': 20}, {'a': 25, 'b': 25}]), ('outsider representative', {'members': ['a', 'b'], 'representative': 'c', 'signers': ['a'], 'approved_lots': {'a': ['L1', 'L2'], 'b': ['L1']}, 'lots': ['L1', 'L2'], 'shares': {'a': 3, 'b': 2}, 'award': 5, 'exits': ['b'], 'replacement': 'c', 'approved_members': ['a', 'b'], 'affiliates': {'a': ['x'], 'b': ['y']}, 'rivals': ['y'], 'joint': True, 'member_caps': {'a': 4, 'b': 3}, 'payments': {'a': 3, 'b': 1}, 'required': {'a': 3, 'b': 2}, 'dissolved': False}, [{'a': 5, 'b': 5}, {'a': 10, 'b': 10}, {'a': 15, 'b': 15}, {'a': 20, 'b': 20}, {'a': 25, 'b': 25}]), ('single lot mandate', {'members': ['a', 'b'], 'representative': 'a', 'signers': ['a'], 'approved_lots': {'a': ['L1', 'L2'], 'b': ['L1']}, 'lots': ['L1'], 'shares': {'a': 3, 'b': 2}, 'award': 5, 'exits': ['b'], 'replacement': 'c', 'approved_members': ['a', 'b'], 'affiliates': {'a': ['x'], 'b': ['y']}, 'rivals': ['y'], 'joint': True, 'member_caps': {'a': 4, 'b': 3}, 'payments': {'a': 3, 'b': 1}, 'required': {'a': 3, 'b': 2}, 'dissolved': False}, [{'a': 5, 'b': 5}, {'a': 10, 'b': 10}, {'a': 15, 'b': 15}, {'a': 20, 'b': 20}, {'a': 25, 'b': 25}]), ('unallocated award', {'members': ['a', 'b'], 'representative': 'a', 'signers': ['a'], 'approved_lots': {'a': ['L1', 'L2'], 'b': ['L1']}, 'lots': ['L1', 'L2'], 'shares': {'a': 3, 'b': 2}, 'award': 6, 'exits': ['b'], 'replacement': 'c', 'approved_members': ['a', 'b'], 'affiliates': {'a': ['x'], 'b': ['y']}, 'rivals': ['y'], 'joint': True, 'member_caps': {'a': 4, 'b': 3}, 'payments': {'a': 3, 'b': 1}, 'required': {'a': 3, 'b': 2}, 'dissolved': False}, [{'a': 6, 'b': 6}, {'a': 12, 'b': 12}, {'a': 18, 'b': 18}, {'a': 24, 'b': 24}, {'a': 30, 'b': 30}])]
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))['joint-exposure'], 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 contract{'a': 5, 'b': 5}{'a': 5, 'b': 5}Passed
member not signer{'a': 5, 'b': 5}{'a': 5, 'b': 5}Passed
several liabilities{'a': 5, 'b': 5}{'a': 3, 'b': 2}Failed
member not signer / several liabilities{'a': 5, 'b': 5}{'a': 3, 'b': 2}Failed
outsider signs{'a': 5, 'b': 5}{'a': 5, 'b': 5}Passed
overassigned award{'a': 4, 'b': 4}{'a': 4, 'b': 4}Passed
existing replacement{'a': 5, 'b': 5}{'a': 5, 'b': 5}Passed
all signed{'a': 5, 'b': 5}{'a': 5, 'b': 5}Passed
outsider representative{'a': 5, 'b': 5}{'a': 5, 'b': 5}Passed
single lot mandate{'a': 5, 'b': 5}{'a': 5, 'b': 5}Passed
unallocated award{'a': 6, 'b': 6}{'a': 6, 'b': 6}Passed

SHA-256 / ac294818538de5ec35f9a65bd5ed6cf1e658a44480a9b9cdd7b794ed64c09cbc

3 / The verified repair

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

N = 1
observations = []
def solve(x):
    v0 = x["representative"] in x["members"]
    v1 = set(x["members"])<=set(x["signers"])
    v2 = all(set(x["lots"])<=set(x["approved_lots"].get(m,[])) for m in x["members"])
    v3 = sum(x["shares"].get(m,0) for m in x["members"])==x["award"]
    v4 = all(x["shares"].get(m,0)==0 for m in x["exits"])
    v5 = x["replacement"] in x["approved_members"] and x["replacement"] not in x["members"]
    v6 = not any(set(x["affiliates"].get(m,[]))&set(x["rivals"]) for m in x["members"])
    v7 = {m:x["award"] if x["joint"] else x["shares"].get(m,0) for m in x["members"]}
    v8 = all(x["shares"].get(m,0)<=x["member_caps"].get(m,0) for m in x["members"])
    v9 = not x["dissolved"] and all(x["payments"].get(m,0)>=x["required"].get(m,0) for m in x["members"])
    return {'representative-membership':v0,'unanimous-bid-signature':v1,'joint-lot-mandate':v2,'share-conservation':v3,'exit-assignment-guard':v4,'replacement-member-approval':v5,'affiliate-rival-exclusion':v6,'joint-exposure':v7,'member-cap-certification':v8,'dissolution-settlement':v9}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [('normal contract', {'members': ['a', 'b'], 'representative': 'a', 'signers': ['a'], 'approved_lots': {'a': ['L1', 'L2'], 'b': ['L1']}, 'lots': ['L1', 'L2'], 'shares': {'a': 3, 'b': 2}, 'award': 5, 'exits': ['b'], 'replacement': 'c', 'approved_members': ['a', 'b'], 'affiliates': {'a': ['x'], 'b': ['y']}, 'rivals': ['y'], 'joint': True, 'member_caps': {'a': 4, 'b': 3}, 'payments': {'a': 3, 'b': 1}, 'required': {'a': 3, 'b': 2}, 'dissolved': False}, [{'a': 5, 'b': 5}, {'a': 10, 'b': 10}, {'a': 15, 'b': 15}, {'a': 20, 'b': 20}, {'a': 25, 'b': 25}]), ('member not signer', {'members': ['a', 'b'], 'representative': 'b', 'signers': ['a'], 'approved_lots': {'a': ['L1', 'L2'], 'b': ['L1']}, 'lots': ['L1', 'L2'], 'shares': {'a': 3, 'b': 2}, 'award': 5, 'exits': ['b'], 'replacement': 'c', 'approved_members': ['a', 'b'], 'affiliates': {'a': ['x'], 'b': ['y']}, 'rivals': ['y'], 'joint': True, 'member_caps': {'a': 4, 'b': 3}, 'payments': {'a': 3, 'b': 1}, 'required': {'a': 3, 'b': 2}, 'dissolved': False}, [{'a': 5, 'b': 5}, {'a': 10, 'b': 10}, {'a': 15, 'b': 15}, {'a': 20, 'b': 20}, {'a': 25, 'b': 25}]), ('several liabilities', {'members': ['a', 'b'], 'representative': 'a', 'signers': ['a'], 'approved_lots': {'a': ['L1', 'L2'], 'b': ['L1']}, 'lots': ['L1', 'L2'], 'shares': {'a': 3, 'b': 2}, 'award': 5, 'exits': ['b'], 'replacement': 'c', 'approved_members': ['a', 'b'], 'affiliates': {'a': ['x'], 'b': ['y']}, 'rivals': ['y'], 'joint': False, 'member_caps': {'a': 4, 'b': 3}, 'payments': {'a': 3, 'b': 1}, 'required': {'a': 3, 'b': 2}, 'dissolved': False}, [{'a': 3, 'b': 2}, {'a': 6, 'b': 4}, {'a': 9, 'b': 6}, {'a': 12, 'b': 8}, {'a': 15, 'b': 10}]), ('member not signer / several liabilities', {'members': ['a', 'b'], 'representative': 'b', 'signers': ['a'], 'approved_lots': {'a': ['L1', 'L2'], 'b': ['L1']}, 'lots': ['L1', 'L2'], 'shares': {'a': 3, 'b': 2}, 'award': 5, 'exits': ['b'], 'replacement': 'c', 'approved_members': ['a', 'b'], 'affiliates': {'a': ['x'], 'b': ['y']}, 'rivals': ['y'], 'joint': False, 'member_caps': {'a': 4, 'b': 3}, 'payments': {'a': 3, 'b': 1}, 'required': {'a': 3, 'b': 2}, 'dissolved': False}, [{'a': 3, 'b': 2}, {'a': 6, 'b': 4}, {'a': 9, 'b': 6}, {'a': 12, 'b': 8}, {'a': 15, 'b': 10}]), ('outsider signs', {'members': ['a', 'b'], 'representative': 'a', 'signers': ['a', 'c'], 'approved_lots': {'a': ['L1', 'L2'], 'b': ['L1']}, 'lots': ['L1', 'L2'], 'shares': {'a': 3, 'b': 2}, 'award': 5, 'exits': ['b'], 'replacement': 'c', 'approved_members': ['a', 'b'], 'affiliates': {'a': ['x'], 'b': ['y']}, 'rivals': ['y'], 'joint': True, 'member_caps': {'a': 4, 'b': 3}, 'payments': {'a': 3, 'b': 1}, 'required': {'a': 3, 'b': 2}, 'dissolved': False}, [{'a': 5, 'b': 5}, {'a': 10, 'b': 10}, {'a': 15, 'b': 15}, {'a': 20, 'b': 20}, {'a': 25, 'b': 25}]), ('overassigned award', {'members': ['a', 'b'], 'representative': 'a', 'signers': ['a'], 'approved_lots': {'a': ['L1', 'L2'], 'b': ['L1']}, 'lots': ['L1', 'L2'], 'shares': {'a': 3, 'b': 2}, 'award': 4, 'exits': ['b'], 'replacement': 'c', 'approved_members': ['a', 'b'], 'affiliates': {'a': ['x'], 'b': ['y']}, 'rivals': ['y'], 'joint': True, 'member_caps': {'a': 4, 'b': 3}, 'payments': {'a': 3, 'b': 1}, 'required': {'a': 3, 'b': 2}, 'dissolved': False}, [{'a': 4, 'b': 4}, {'a': 8, 'b': 8}, {'a': 12, 'b': 12}, {'a': 16, 'b': 16}, {'a': 20, 'b': 20}]), ('existing replacement', {'members': ['a', 'b'], 'representative': 'a', 'signers': ['a'], 'approved_lots': {'a': ['L1', 'L2'], 'b': ['L1']}, 'lots': ['L1', 'L2'], 'shares': {'a': 3, 'b': 2}, 'award': 5, 'exits': ['b'], 'replacement': 'a', 'approved_members': ['a', 'b'], 'affiliates': {'a': ['x'], 'b': ['y']}, 'rivals': ['y'], 'joint': True, 'member_caps': {'a': 4, 'b': 3}, 'payments': {'a': 3, 'b': 1}, 'required': {'a': 3, 'b': 2}, 'dissolved': False}, [{'a': 5, 'b': 5}, {'a': 10, 'b': 10}, {'a': 15, 'b': 15}, {'a': 20, 'b': 20}, {'a': 25, 'b': 25}]), ('all signed', {'members': ['a', 'b'], 'representative': 'a', 'signers': ['a', 'b'], 'approved_lots': {'a': ['L1', 'L2'], 'b': ['L1']}, 'lots': ['L1', 'L2'], 'shares': {'a': 3, 'b': 2}, 'award': 5, 'exits': ['b'], 'replacement': 'c', 'approved_members': ['a', 'b'], 'affiliates': {'a': ['x'], 'b': ['y']}, 'rivals': ['y'], 'joint': True, 'member_caps': {'a': 4, 'b': 3}, 'payments': {'a': 3, 'b': 1}, 'required': {'a': 3, 'b': 2}, 'dissolved': False}, [{'a': 5, 'b': 5}, {'a': 10, 'b': 10}, {'a': 15, 'b': 15}, {'a': 20, 'b': 20}, {'a': 25, 'b': 25}]), ('outsider representative', {'members': ['a', 'b'], 'representative': 'c', 'signers': ['a'], 'approved_lots': {'a': ['L1', 'L2'], 'b': ['L1']}, 'lots': ['L1', 'L2'], 'shares': {'a': 3, 'b': 2}, 'award': 5, 'exits': ['b'], 'replacement': 'c', 'approved_members': ['a', 'b'], 'affiliates': {'a': ['x'], 'b': ['y']}, 'rivals': ['y'], 'joint': True, 'member_caps': {'a': 4, 'b': 3}, 'payments': {'a': 3, 'b': 1}, 'required': {'a': 3, 'b': 2}, 'dissolved': False}, [{'a': 5, 'b': 5}, {'a': 10, 'b': 10}, {'a': 15, 'b': 15}, {'a': 20, 'b': 20}, {'a': 25, 'b': 25}]), ('single lot mandate', {'members': ['a', 'b'], 'representative': 'a', 'signers': ['a'], 'approved_lots': {'a': ['L1', 'L2'], 'b': ['L1']}, 'lots': ['L1'], 'shares': {'a': 3, 'b': 2}, 'award': 5, 'exits': ['b'], 'replacement': 'c', 'approved_members': ['a', 'b'], 'affiliates': {'a': ['x'], 'b': ['y']}, 'rivals': ['y'], 'joint': True, 'member_caps': {'a': 4, 'b': 3}, 'payments': {'a': 3, 'b': 1}, 'required': {'a': 3, 'b': 2}, 'dissolved': False}, [{'a': 5, 'b': 5}, {'a': 10, 'b': 10}, {'a': 15, 'b': 15}, {'a': 20, 'b': 20}, {'a': 25, 'b': 25}]), ('unallocated award', {'members': ['a', 'b'], 'representative': 'a', 'signers': ['a'], 'approved_lots': {'a': ['L1', 'L2'], 'b': ['L1']}, 'lots': ['L1', 'L2'], 'shares': {'a': 3, 'b': 2}, 'award': 6, 'exits': ['b'], 'replacement': 'c', 'approved_members': ['a', 'b'], 'affiliates': {'a': ['x'], 'b': ['y']}, 'rivals': ['y'], 'joint': True, 'member_caps': {'a': 4, 'b': 3}, 'payments': {'a': 3, 'b': 1}, 'required': {'a': 3, 'b': 2}, 'dissolved': False}, [{'a': 6, 'b': 6}, {'a': 12, 'b': 12}, {'a': 18, 'b': 18}, {'a': 24, 'b': 24}, {'a': 30, 'b': 30}])]
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))['joint-exposure'], 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 contract{'a': 5, 'b': 5}{'a': 5, 'b': 5}Passed
member not signer{'a': 5, 'b': 5}{'a': 5, 'b': 5}Passed
several liabilities{'a': 3, 'b': 2}{'a': 3, 'b': 2}Passed
member not signer / several liabilities{'a': 3, 'b': 2}{'a': 3, 'b': 2}Passed
outsider signs{'a': 5, 'b': 5}{'a': 5, 'b': 5}Passed
overassigned award{'a': 4, 'b': 4}{'a': 4, 'b': 4}Passed
existing replacement{'a': 5, 'b': 5}{'a': 5, 'b': 5}Passed
all signed{'a': 5, 'b': 5}{'a': 5, 'b': 5}Passed
outsider representative{'a': 5, 'b': 5}{'a': 5, 'b': 5}Passed
single lot mandate{'a': 5, 'b': 5}{'a': 5, 'b': 5}Passed
unallocated award{'a': 6, 'b': 6}{'a': 6, 'b': 6}Passed

SHA-256 / 4a10f7791f1be2d986976e0968242f992414532f09cb37ceb800aa26c185d3a6

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

Case digest / f0bee647c241f4265bb730a6e8d7e447a5f0528986a61e63ccf96dd6c9e52e44