1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
//! The latch-cut probe: why the protocol plane has no decision space to
//! sweep, and the pin that says so.
//!
//! # What this module was going to be
//!
//! The S332 research intake recommended partial-order reduction over
//! interleavings as the next rung above the sampled tape. That was rejected
//! on the cost that actually binds (on a three-replica fleet nearly every
//! transition touches the same replica's window, so a sound dependence
//! relation buys almost no reduction), and the counter-proposal was to
//! enumerate *protocol-plane decision points* instead: for one window, the
//! only order-sensitive variable per replica looked like *the set of
//! declarations it delivered before it latched a winner*, its **latch
//! cut**. Sweeping every assignment of per-replica latch cuts would have
//! been exhaustive over that space where every other arm samples.
//!
//! # Why it is not that
//!
//! The space is a singleton. A replica cannot latch on a partial candidate
//! set, and the reason is sharper than the module doc's prose argument:
//!
//! * The latch needs the confirmation round complete *and* the stability
//! watermark risen to cover that round's join.
//! * Each member's confirmation cut carries its own declaration dot, so the
//! join names every concurrent declaration's dot.
//! * The watermark is the roster-wide meet, so covering that join requires
//! *every* member to have delivered *every* concurrent declaration.
//!
//! So the candidate set is complete at every latch, fleet-wide, and it is
//! complete before any latch anywhere. There was nothing to enumerate: the
//! sweep would have had exactly one feasible combination.
//!
//! The probe that established this is kept as
//! [`a_withheld_declaration_freezes_every_latch`], because the negative
//! result is the valuable part and an unpinned negative result rots. It is
//! also the stronger statement about the seal record's collection fields:
//! `SealedEpoch::candidates` is identical at every member not because the
//! surviving antichain is order-insensitive (true, but derived, and its
//! premise is inherited from the delivery discipline) but because the
//! candidate set is *complete* everywhere before anyone latches. The
//! derivation is the fallback argument; this is the operative one.
//!
//! # What this licenses
//!
//! That the latch waits for the complete candidate set, pinned at one
//! deterministic three-station configuration. It is not a theorem and not a
//! new rung: it sits on the specification-oracle rung beside the other
//! fleet laws, a complement and never an upgrade. It does not speak to
//! crash points, which the recovery scenarios own, nor to rosters or
//! declaration counts outside the pinned one.
extern crate alloc;
use Vec;
use NonZeroUsize;
use crateEpochAddress;
use Fabric;
use ;
const ROSTER: = ;
/// The two stations that declare concurrently. Distinct stations mint
/// distinct ranks, so the winner rule's `(rank, dot)` contest is live
/// rather than decided by the dot alone.
const DECLARERS: = ;
/// Withholding one declaration from one station freezes *every* replica's
/// latch, not merely that station's: the latch cut is not a free variable,
/// so there is no decision space to sweep.
///
/// The freeze is fleet-wide because the gate is the roster-wide meet, not a
/// local read. Station 2 is missing a declaration, so its confirmation cut
/// cannot cover that declaration's dot, so the meet cannot rise to the
/// confirmation join at *any* member, so no member latches. This is the
/// same shape as the silent-member freeze, reached by withholding one note
/// rather than by severing a station: the window stays open, nothing
/// corrupts, and delivering the withheld note lets the whole fleet seal.
///
/// What it pins, and why it is worth a test rather than a comment: that
/// `SealedEpoch::candidates` is identical at every member *by completeness
/// at the latch*, which is a stronger and more local argument than the
/// order-insensitivity of the surviving antichain. Weakening the latch's
/// watermark gate would let station 2 fix on one candidate while its peers
/// fix on two, and the seal records would diverge in exactly the field
/// R-82's fifth disposition rests the Alma B5 quorum argument on.