FA-544 / Consensus / Member archive
Choose a value after prepare responses: Prepare responses from different ballots are combined · case 04
The proposal adoption operation is admitted even though prepare responses from different ballots are combined.
Case contract
Return a Boolean admission decision for choose a value after prepare responses. The record r must satisfy all of: len(set(r['promise_quorum'][0])) >= r['promise_quorum'][1]; r['highest_accepted'][0] == max(r['highest_accepted'][1]); r['accepted_value'][0] == r['accepted_value'][1]; all(x == r['responses_ballot'][0] for x in r['responses_ballot'][1]); len(r['ballot_identity']) == len(set(tuple(x) for x in r['ballot_identity'])). Extra tracing fields are ignored; validation does not mutate the record.
Why this case matters
A deterministic local contract for consensus. Each negative fixture violates exactly one invariant. No transport timing, persistence, cryptographic verification, or full protocol implementation is claimed.
One recorded failure
Sample boundary fixtureThis sample comes from the broken implementation of a controlled reproducer.
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| Prepare responses from different ballots are combined | true | false | Failed |
MEMBER ARCHIVE
The complete case is available to members.
This record includes three runnable implementations, regression fixtures, execution results, and source hashes.
Member access is invitation-based. Sign in with your invited account to inspect the sources.
Sign in to the archive ↗