FAILURE MAP
← Case archive

FA-56366 / Auction allocation rules / Open access

Sealed envelope: nonce binding · case 01

A nonempty nonce is treated as proof of binding to this envelope.

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

ROOT CAUSE

A nonempty nonce is treated as proof of binding to this envelope.

VERIFIED REPAIR

Require exact commitment nonce equality.

Unsuccessful approach: The attempted repair uses x["nonce"] == x["required_nonce"] or not x["opened"]; 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 nonce-binding: Require exact commitment nonce equality.

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 = next((p for p,v in zip(x["payloads"],x["valid"]) if v),None)
    v5 = bool(x["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 = [('wrong lot and nonce', {'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': 'bad', 'required_nonce': 'n', 'owner': 'alice', 'signer': 'alice', 'sealed_value': 9, 'public_value': 0, 'lot': 'A', 'reveal_lot': 'B'}, [False, False, False, False, False]), ('two verified envelopes / wrong lot and nonce', {'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': 'bad', 'required_nonce': 'n', 'owner': 'alice', 'signer': 'alice', 'sealed_value': 9, 'public_value': 0, 'lot': 'A', 'reveal_lot': 'B'}, [False, False, False, False, False]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True])]
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))['nonce-binding'], 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
wrong lot and nonceTrueFalseFailed
two verified envelopes / wrong lot and nonceTrueFalseFailed
normal contractTrueTruePassed
two verified envelopesTrueTruePassed
valid last envelopeTrueTruePassed
first envelope onlyTrueTruePassed
no envelopesTrueTruePassed
withdrawn before openingTrueTruePassed
opened envelope replayTrueTruePassed
outside reveal roundTrueTruePassed
same-round premature revealTrueTruePassed

SHA-256 / 17331eac68ed96dc96b86a4b91bae030dbd40ea5f7f8f0b8284e36be901c6302

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 = next((p for p,v in zip(x["payloads"],x["valid"]) if v),None)
    v5 = x["nonce"] == x["required_nonce"] or not x["opened"]
    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 = [('wrong lot and nonce', {'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': 'bad', 'required_nonce': 'n', 'owner': 'alice', 'signer': 'alice', 'sealed_value': 9, 'public_value': 0, 'lot': 'A', 'reveal_lot': 'B'}, [False, False, False, False, False]), ('two verified envelopes / wrong lot and nonce', {'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': 'bad', 'required_nonce': 'n', 'owner': 'alice', 'signer': 'alice', 'sealed_value': 9, 'public_value': 0, 'lot': 'A', 'reveal_lot': 'B'}, [False, False, False, False, False]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True])]
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))['nonce-binding'], 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
wrong lot and nonceTrueFalseFailed
two verified envelopes / wrong lot and nonceTrueFalseFailed
normal contractTrueTruePassed
two verified envelopesTrueTruePassed
valid last envelopeTrueTruePassed
first envelope onlyTrueTruePassed
no envelopesTrueTruePassed
withdrawn before openingTrueTruePassed
opened envelope replayTrueTruePassed
outside reveal roundTrueTruePassed
same-round premature revealTrueTruePassed

SHA-256 / 5893f1dbf3a60d5e3ad150b8ec5ab7cb95aec76548970d1c9837ad6e05786327

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 = [('wrong lot and nonce', {'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': 'bad', 'required_nonce': 'n', 'owner': 'alice', 'signer': 'alice', 'sealed_value': 9, 'public_value': 0, 'lot': 'A', 'reveal_lot': 'B'}, [False, False, False, False, False]), ('two verified envelopes / wrong lot and nonce', {'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': 'bad', 'required_nonce': 'n', 'owner': 'alice', 'signer': 'alice', 'sealed_value': 9, 'public_value': 0, 'lot': 'A', 'reveal_lot': 'B'}, [False, False, False, False, False]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True]), ('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'}, [True, True, True, True, True])]
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))['nonce-binding'], 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
wrong lot and nonceFalseFalsePassed
two verified envelopes / wrong lot and nonceFalseFalsePassed
normal contractTrueTruePassed
two verified envelopesTrueTruePassed
valid last envelopeTrueTruePassed
first envelope onlyTrueTruePassed
no envelopesTrueTruePassed
withdrawn before openingTrueTruePassed
opened envelope replayTrueTruePassed
outside reveal roundTrueTruePassed
same-round premature revealTrueTruePassed

SHA-256 / a8893e673f862562c98fbeb821c3f3b07c0751a384a09e007f5f1c94e9bc7d6f

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

Case digest / d3424dec8394ce74e967d595750a8f68f7e6109fa6769b1d4dd3ae6beff0da77