FA-56361 / Auction allocation rules / Open access
Sealed envelope: first valid reveal · case 01
Payload retention uses position without checking reveal verification.
ROOT CAUSE
Payload retention uses position without checking reveal verification.
VERIFIED REPAIR
Retain the first verified reveal payload.
Unsuccessful approach: The attempted repair uses x["payloads"][-1] if x["payloads"] else None; the explicit regression cases demonstrate that this still violates the stipulated auction rule.
Case contract
Stipulated sealed-bid envelope processing: one bidder, one lot, a commit and reveal phase. A replacement commit invalidates an earlier digest. Reveal payloads are immutable, phase counters are integers, and byte strings are represented by ordinary strings. Output named admission decisions and retained payloads. Named decision first-valid-reveal: Retain the first verified reveal payload.
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["revealed"] == (x["commits"][-1] if x["commits"] else None)
v1 = x["commit_round"] < x["reveal_round"] <= x["close"]
v2 = None if x["withdrawn"] else x["digest"]
v3 = [] if x["opened"] else x["payloads"][:1]
v4 = x["payloads"][0] if x["payloads"] else None
v5 = x["nonce"] == x["required_nonce"]
v6 = x["owner"] == x["signer"]
v7 = x["sealed_value"] if x["opened"] else x["public_value"]
v8 = x["lot"] == x["reveal_lot"]
v9 = sum(1 for v in x["valid"] if v)
return {'replacement-digest':v0,'reveal-phase':v1,'withdrawal-tombstone':v2,'replay-disclosure':v3,'first-valid-reveal':v4,'nonce-binding':v5,'signer-binding':v6,'preopening-secrecy':v7,'lot-binding':v8,'verified-reveal-count':v9}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [('normal contract', {'digest': 'v2', 'revealed': 'v1', 'commit_round': 1, 'reveal_round': 2, 'close': 2, 'withdrawn': False, 'opened': False, 'commits': ['v1', 'v2'], 'payloads': ['red', 'blue'], 'valid': [False, True], 'reveal_count': 2, 'nonce': 'n', 'required_nonce': 'n', 'owner': 'alice', 'signer': 'alice', 'sealed_value': 9, 'public_value': 0, 'lot': 'A', 'reveal_lot': 'A'}, ['blue', 'blue', 'blue', 'blue', 'blue']), ('valid last envelope', {'digest': 'v2', 'revealed': 'v2', 'commit_round': 1, 'reveal_round': 2, 'close': 2, 'withdrawn': False, 'opened': False, 'commits': ['v1', 'v2'], 'payloads': ['red', 'blue'], 'valid': [False, True], 'reveal_count': 2, 'nonce': 'n', 'required_nonce': 'n', 'owner': 'alice', 'signer': 'alice', 'sealed_value': 9, 'public_value': 0, 'lot': 'A', 'reveal_lot': 'A'}, ['blue', 'blue', 'blue', 'blue', 'blue']), ('two verified envelopes', {'digest': 'v2', 'revealed': 'v1', 'commit_round': 1, 'reveal_round': 2, 'close': 2, 'withdrawn': False, 'opened': False, 'commits': ['v1', 'v2'], 'payloads': ['red', 'blue'], 'valid': [True, True], 'reveal_count': 2, 'nonce': 'n', 'required_nonce': 'n', 'owner': 'alice', 'signer': 'alice', 'sealed_value': 9, 'public_value': 0, 'lot': 'A', 'reveal_lot': 'A'}, ['red', 'red', 'red', 'red', 'red']), ('two verified envelopes / valid last envelope', {'digest': 'v2', 'revealed': 'v2', 'commit_round': 1, 'reveal_round': 2, 'close': 2, 'withdrawn': False, 'opened': False, 'commits': ['v1', 'v2'], 'payloads': ['red', 'blue'], 'valid': [True, True], 'reveal_count': 2, 'nonce': 'n', 'required_nonce': 'n', 'owner': 'alice', 'signer': 'alice', 'sealed_value': 9, 'public_value': 0, 'lot': 'A', 'reveal_lot': 'A'}, ['red', 'red', 'red', 'red', 'red']), ('first envelope only', {'digest': 'v1', 'revealed': 'v1', 'commit_round': 1, 'reveal_round': 2, 'close': 2, 'withdrawn': False, 'opened': False, 'commits': ['v1'], 'payloads': ['red'], 'valid': [True], 'reveal_count': 1, 'nonce': 'n', 'required_nonce': 'n', 'owner': 'alice', 'signer': 'alice', 'sealed_value': 9, 'public_value': 0, 'lot': 'A', 'reveal_lot': 'A'}, ['red', 'red', 'red', 'red', 'red']), ('no envelopes', {'digest': 'v2', 'revealed': 'v1', 'commit_round': 1, 'reveal_round': 2, 'close': 2, 'withdrawn': False, 'opened': False, 'commits': [], 'payloads': [], 'valid': [], 'reveal_count': 0, 'nonce': 'n', 'required_nonce': 'n', 'owner': 'alice', 'signer': 'alice', 'sealed_value': 9, 'public_value': 0, 'lot': 'A', 'reveal_lot': 'A'}, [None, None, None, None, None]), ('withdrawn before opening', {'digest': 'v2', 'revealed': 'v1', 'commit_round': 1, 'reveal_round': 2, 'close': 2, 'withdrawn': True, 'opened': False, 'commits': ['v1', 'v2'], 'payloads': ['red', 'blue'], 'valid': [False, True], 'reveal_count': 2, 'nonce': 'n', 'required_nonce': 'n', 'owner': 'alice', 'signer': 'alice', 'sealed_value': 9, 'public_value': 0, 'lot': 'A', 'reveal_lot': 'A'}, ['blue', 'blue', 'blue', 'blue', 'blue']), ('opened envelope replay', {'digest': 'v2', 'revealed': 'v1', 'commit_round': 1, 'reveal_round': 2, 'close': 2, 'withdrawn': False, 'opened': True, 'commits': ['v1', 'v2'], 'payloads': ['red', 'blue'], 'valid': [False, True], 'reveal_count': 2, 'nonce': 'n', 'required_nonce': 'n', 'owner': 'alice', 'signer': 'alice', 'sealed_value': 9, 'public_value': 0, 'lot': 'A', 'reveal_lot': 'A'}, ['blue', 'blue', 'blue', 'blue', 'blue']), ('outside reveal round', {'digest': 'v2', 'revealed': 'v1', 'commit_round': 1, 'reveal_round': 3, 'close': 2, 'withdrawn': False, 'opened': False, 'commits': ['v1', 'v2'], 'payloads': ['red', 'blue'], 'valid': [False, True], 'reveal_count': 2, 'nonce': 'n', 'required_nonce': 'n', 'owner': 'alice', 'signer': 'alice', 'sealed_value': 9, 'public_value': 0, 'lot': 'A', 'reveal_lot': 'A'}, ['blue', 'blue', 'blue', 'blue', 'blue']), ('same-round premature reveal', {'digest': 'v2', 'revealed': 'v1', 'commit_round': 1, 'reveal_round': 1, 'close': 2, 'withdrawn': False, 'opened': False, 'commits': ['v1', 'v2'], 'payloads': ['red', 'blue'], 'valid': [False, True], 'reveal_count': 2, 'nonce': 'n', 'required_nonce': 'n', 'owner': 'alice', 'signer': 'alice', 'sealed_value': 9, 'public_value': 0, 'lot': 'A', 'reveal_lot': 'A'}, ['blue', 'blue', 'blue', 'blue', 'blue'])]
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', 'reveal_count', '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))['first-valid-reveal'], 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 |
|---|---|---|---|
| normal contract | red | blue | Failed |
| valid last envelope | red | blue | Failed |
| two verified envelopes | red | red | Passed |
| two verified envelopes / valid last envelope | red | red | Passed |
| first envelope only | red | red | Passed |
| no envelopes | None | None | Passed |
| withdrawn before opening | red | blue | Failed |
| opened envelope replay | red | blue | Failed |
| outside reveal round | red | blue | Failed |
| same-round premature reveal | red | blue | Failed |
SHA-256 / 37959132475d166b24d8a98f8cf137b8cb72046e3a05b876c7a2c2544cb14faf
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
v0 = x["revealed"] == (x["commits"][-1] if x["commits"] else None)
v1 = x["commit_round"] < x["reveal_round"] <= x["close"]
v2 = None if x["withdrawn"] else x["digest"]
v3 = [] if x["opened"] else x["payloads"][:1]
v4 = x["payloads"][-1] if x["payloads"] else None
v5 = x["nonce"] == x["required_nonce"]
v6 = x["owner"] == x["signer"]
v7 = x["sealed_value"] if x["opened"] else x["public_value"]
v8 = x["lot"] == x["reveal_lot"]
v9 = sum(1 for v in x["valid"] if v)
return {'replacement-digest':v0,'reveal-phase':v1,'withdrawal-tombstone':v2,'replay-disclosure':v3,'first-valid-reveal':v4,'nonce-binding':v5,'signer-binding':v6,'preopening-secrecy':v7,'lot-binding':v8,'verified-reveal-count':v9}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [('normal contract', {'digest': 'v2', 'revealed': 'v1', 'commit_round': 1, 'reveal_round': 2, 'close': 2, 'withdrawn': False, 'opened': False, 'commits': ['v1', 'v2'], 'payloads': ['red', 'blue'], 'valid': [False, True], 'reveal_count': 2, 'nonce': 'n', 'required_nonce': 'n', 'owner': 'alice', 'signer': 'alice', 'sealed_value': 9, 'public_value': 0, 'lot': 'A', 'reveal_lot': 'A'}, ['blue', 'blue', 'blue', 'blue', 'blue']), ('valid last envelope', {'digest': 'v2', 'revealed': 'v2', 'commit_round': 1, 'reveal_round': 2, 'close': 2, 'withdrawn': False, 'opened': False, 'commits': ['v1', 'v2'], 'payloads': ['red', 'blue'], 'valid': [False, True], 'reveal_count': 2, 'nonce': 'n', 'required_nonce': 'n', 'owner': 'alice', 'signer': 'alice', 'sealed_value': 9, 'public_value': 0, 'lot': 'A', 'reveal_lot': 'A'}, ['blue', 'blue', 'blue', 'blue', 'blue']), ('two verified envelopes', {'digest': 'v2', 'revealed': 'v1', 'commit_round': 1, 'reveal_round': 2, 'close': 2, 'withdrawn': False, 'opened': False, 'commits': ['v1', 'v2'], 'payloads': ['red', 'blue'], 'valid': [True, True], 'reveal_count': 2, 'nonce': 'n', 'required_nonce': 'n', 'owner': 'alice', 'signer': 'alice', 'sealed_value': 9, 'public_value': 0, 'lot': 'A', 'reveal_lot': 'A'}, ['red', 'red', 'red', 'red', 'red']), ('two verified envelopes / valid last envelope', {'digest': 'v2', 'revealed': 'v2', 'commit_round': 1, 'reveal_round': 2, 'close': 2, 'withdrawn': False, 'opened': False, 'commits': ['v1', 'v2'], 'payloads': ['red', 'blue'], 'valid': [True, True], 'reveal_count': 2, 'nonce': 'n', 'required_nonce': 'n', 'owner': 'alice', 'signer': 'alice', 'sealed_value': 9, 'public_value': 0, 'lot': 'A', 'reveal_lot': 'A'}, ['red', 'red', 'red', 'red', 'red']), ('first envelope only', {'digest': 'v1', 'revealed': 'v1', 'commit_round': 1, 'reveal_round': 2, 'close': 2, 'withdrawn': False, 'opened': False, 'commits': ['v1'], 'payloads': ['red'], 'valid': [True], 'reveal_count': 1, 'nonce': 'n', 'required_nonce': 'n', 'owner': 'alice', 'signer': 'alice', 'sealed_value': 9, 'public_value': 0, 'lot': 'A', 'reveal_lot': 'A'}, ['red', 'red', 'red', 'red', 'red']), ('no envelopes', {'digest': 'v2', 'revealed': 'v1', 'commit_round': 1, 'reveal_round': 2, 'close': 2, 'withdrawn': False, 'opened': False, 'commits': [], 'payloads': [], 'valid': [], 'reveal_count': 0, 'nonce': 'n', 'required_nonce': 'n', 'owner': 'alice', 'signer': 'alice', 'sealed_value': 9, 'public_value': 0, 'lot': 'A', 'reveal_lot': 'A'}, [None, None, None, None, None]), ('withdrawn before opening', {'digest': 'v2', 'revealed': 'v1', 'commit_round': 1, 'reveal_round': 2, 'close': 2, 'withdrawn': True, 'opened': False, 'commits': ['v1', 'v2'], 'payloads': ['red', 'blue'], 'valid': [False, True], 'reveal_count': 2, 'nonce': 'n', 'required_nonce': 'n', 'owner': 'alice', 'signer': 'alice', 'sealed_value': 9, 'public_value': 0, 'lot': 'A', 'reveal_lot': 'A'}, ['blue', 'blue', 'blue', 'blue', 'blue']), ('opened envelope replay', {'digest': 'v2', 'revealed': 'v1', 'commit_round': 1, 'reveal_round': 2, 'close': 2, 'withdrawn': False, 'opened': True, 'commits': ['v1', 'v2'], 'payloads': ['red', 'blue'], 'valid': [False, True], 'reveal_count': 2, 'nonce': 'n', 'required_nonce': 'n', 'owner': 'alice', 'signer': 'alice', 'sealed_value': 9, 'public_value': 0, 'lot': 'A', 'reveal_lot': 'A'}, ['blue', 'blue', 'blue', 'blue', 'blue']), ('outside reveal round', {'digest': 'v2', 'revealed': 'v1', 'commit_round': 1, 'reveal_round': 3, 'close': 2, 'withdrawn': False, 'opened': False, 'commits': ['v1', 'v2'], 'payloads': ['red', 'blue'], 'valid': [False, True], 'reveal_count': 2, 'nonce': 'n', 'required_nonce': 'n', 'owner': 'alice', 'signer': 'alice', 'sealed_value': 9, 'public_value': 0, 'lot': 'A', 'reveal_lot': 'A'}, ['blue', 'blue', 'blue', 'blue', 'blue']), ('same-round premature reveal', {'digest': 'v2', 'revealed': 'v1', 'commit_round': 1, 'reveal_round': 1, 'close': 2, 'withdrawn': False, 'opened': False, 'commits': ['v1', 'v2'], 'payloads': ['red', 'blue'], 'valid': [False, True], 'reveal_count': 2, 'nonce': 'n', 'required_nonce': 'n', 'owner': 'alice', 'signer': 'alice', 'sealed_value': 9, 'public_value': 0, 'lot': 'A', 'reveal_lot': 'A'}, ['blue', 'blue', 'blue', 'blue', 'blue'])]
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', 'reveal_count', '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))['first-valid-reveal'], 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 |
|---|---|---|---|
| normal contract | blue | blue | Passed |
| valid last envelope | blue | blue | Passed |
| two verified envelopes | blue | red | Failed |
| two verified envelopes / valid last envelope | blue | red | Failed |
| first envelope only | red | red | Passed |
| no envelopes | None | None | Passed |
| withdrawn before opening | blue | blue | Passed |
| opened envelope replay | blue | blue | Passed |
| outside reveal round | blue | blue | Passed |
| same-round premature reveal | blue | blue | Passed |
SHA-256 / f7adf407cff4c63bd54521d235ecdaddd9a311ff5b64fbda46580acbdb5fbc80
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
v0 = x["revealed"] == (x["commits"][-1] if x["commits"] else None)
v1 = x["commit_round"] < x["reveal_round"] <= x["close"]
v2 = None if x["withdrawn"] else x["digest"]
v3 = [] if x["opened"] else x["payloads"][:1]
v4 = next((p for p,v in zip(x["payloads"],x["valid"]) if v),None)
v5 = x["nonce"] == x["required_nonce"]
v6 = x["owner"] == x["signer"]
v7 = x["sealed_value"] if x["opened"] else x["public_value"]
v8 = x["lot"] == x["reveal_lot"]
v9 = sum(1 for v in x["valid"] if v)
return {'replacement-digest':v0,'reveal-phase':v1,'withdrawal-tombstone':v2,'replay-disclosure':v3,'first-valid-reveal':v4,'nonce-binding':v5,'signer-binding':v6,'preopening-secrecy':v7,'lot-binding':v8,'verified-reveal-count':v9}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [('normal contract', {'digest': 'v2', 'revealed': 'v1', 'commit_round': 1, 'reveal_round': 2, 'close': 2, 'withdrawn': False, 'opened': False, 'commits': ['v1', 'v2'], 'payloads': ['red', 'blue'], 'valid': [False, True], 'reveal_count': 2, 'nonce': 'n', 'required_nonce': 'n', 'owner': 'alice', 'signer': 'alice', 'sealed_value': 9, 'public_value': 0, 'lot': 'A', 'reveal_lot': 'A'}, ['blue', 'blue', 'blue', 'blue', 'blue']), ('valid last envelope', {'digest': 'v2', 'revealed': 'v2', 'commit_round': 1, 'reveal_round': 2, 'close': 2, 'withdrawn': False, 'opened': False, 'commits': ['v1', 'v2'], 'payloads': ['red', 'blue'], 'valid': [False, True], 'reveal_count': 2, 'nonce': 'n', 'required_nonce': 'n', 'owner': 'alice', 'signer': 'alice', 'sealed_value': 9, 'public_value': 0, 'lot': 'A', 'reveal_lot': 'A'}, ['blue', 'blue', 'blue', 'blue', 'blue']), ('two verified envelopes', {'digest': 'v2', 'revealed': 'v1', 'commit_round': 1, 'reveal_round': 2, 'close': 2, 'withdrawn': False, 'opened': False, 'commits': ['v1', 'v2'], 'payloads': ['red', 'blue'], 'valid': [True, True], 'reveal_count': 2, 'nonce': 'n', 'required_nonce': 'n', 'owner': 'alice', 'signer': 'alice', 'sealed_value': 9, 'public_value': 0, 'lot': 'A', 'reveal_lot': 'A'}, ['red', 'red', 'red', 'red', 'red']), ('two verified envelopes / valid last envelope', {'digest': 'v2', 'revealed': 'v2', 'commit_round': 1, 'reveal_round': 2, 'close': 2, 'withdrawn': False, 'opened': False, 'commits': ['v1', 'v2'], 'payloads': ['red', 'blue'], 'valid': [True, True], 'reveal_count': 2, 'nonce': 'n', 'required_nonce': 'n', 'owner': 'alice', 'signer': 'alice', 'sealed_value': 9, 'public_value': 0, 'lot': 'A', 'reveal_lot': 'A'}, ['red', 'red', 'red', 'red', 'red']), ('first envelope only', {'digest': 'v1', 'revealed': 'v1', 'commit_round': 1, 'reveal_round': 2, 'close': 2, 'withdrawn': False, 'opened': False, 'commits': ['v1'], 'payloads': ['red'], 'valid': [True], 'reveal_count': 1, 'nonce': 'n', 'required_nonce': 'n', 'owner': 'alice', 'signer': 'alice', 'sealed_value': 9, 'public_value': 0, 'lot': 'A', 'reveal_lot': 'A'}, ['red', 'red', 'red', 'red', 'red']), ('no envelopes', {'digest': 'v2', 'revealed': 'v1', 'commit_round': 1, 'reveal_round': 2, 'close': 2, 'withdrawn': False, 'opened': False, 'commits': [], 'payloads': [], 'valid': [], 'reveal_count': 0, 'nonce': 'n', 'required_nonce': 'n', 'owner': 'alice', 'signer': 'alice', 'sealed_value': 9, 'public_value': 0, 'lot': 'A', 'reveal_lot': 'A'}, [None, None, None, None, None]), ('withdrawn before opening', {'digest': 'v2', 'revealed': 'v1', 'commit_round': 1, 'reveal_round': 2, 'close': 2, 'withdrawn': True, 'opened': False, 'commits': ['v1', 'v2'], 'payloads': ['red', 'blue'], 'valid': [False, True], 'reveal_count': 2, 'nonce': 'n', 'required_nonce': 'n', 'owner': 'alice', 'signer': 'alice', 'sealed_value': 9, 'public_value': 0, 'lot': 'A', 'reveal_lot': 'A'}, ['blue', 'blue', 'blue', 'blue', 'blue']), ('opened envelope replay', {'digest': 'v2', 'revealed': 'v1', 'commit_round': 1, 'reveal_round': 2, 'close': 2, 'withdrawn': False, 'opened': True, 'commits': ['v1', 'v2'], 'payloads': ['red', 'blue'], 'valid': [False, True], 'reveal_count': 2, 'nonce': 'n', 'required_nonce': 'n', 'owner': 'alice', 'signer': 'alice', 'sealed_value': 9, 'public_value': 0, 'lot': 'A', 'reveal_lot': 'A'}, ['blue', 'blue', 'blue', 'blue', 'blue']), ('outside reveal round', {'digest': 'v2', 'revealed': 'v1', 'commit_round': 1, 'reveal_round': 3, 'close': 2, 'withdrawn': False, 'opened': False, 'commits': ['v1', 'v2'], 'payloads': ['red', 'blue'], 'valid': [False, True], 'reveal_count': 2, 'nonce': 'n', 'required_nonce': 'n', 'owner': 'alice', 'signer': 'alice', 'sealed_value': 9, 'public_value': 0, 'lot': 'A', 'reveal_lot': 'A'}, ['blue', 'blue', 'blue', 'blue', 'blue']), ('same-round premature reveal', {'digest': 'v2', 'revealed': 'v1', 'commit_round': 1, 'reveal_round': 1, 'close': 2, 'withdrawn': False, 'opened': False, 'commits': ['v1', 'v2'], 'payloads': ['red', 'blue'], 'valid': [False, True], 'reveal_count': 2, 'nonce': 'n', 'required_nonce': 'n', 'owner': 'alice', 'signer': 'alice', 'sealed_value': 9, 'public_value': 0, 'lot': 'A', 'reveal_lot': 'A'}, ['blue', 'blue', 'blue', 'blue', 'blue'])]
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', 'reveal_count', '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))['first-valid-reveal'], 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 |
|---|---|---|---|
| normal contract | blue | blue | Passed |
| valid last envelope | blue | blue | Passed |
| two verified envelopes | red | red | Passed |
| two verified envelopes / valid last envelope | red | red | Passed |
| first envelope only | red | red | Passed |
| no envelopes | None | None | Passed |
| withdrawn before opening | blue | blue | Passed |
| opened envelope replay | blue | blue | Passed |
| outside reveal round | blue | blue | Passed |
| same-round premature reveal | blue | blue | Passed |
SHA-256 / c527f3750ec5f2e417344508aef1d3ba3880f80b8ace68403530d05c0b2856fc
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:06.349085+00:00.
Case digest / 52d7972c02e246d4213f783ab0381c790b5b964ea2ab086350d653be92a0507f