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
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
//! The plan home's declarations: the account a request walked in with, the context it is decided under, its complete output set, what invalidates it, the plan itself, and how planning refuses.
//!
//! Declarations only.
//! Every road that reaches a private field lives in `type_guard.rs`, this file's own child, which is what makes the output firewall structural: a plan's declared set is whatever one of those roads admitted, and there is no other way in.
use crate;
use crate;
use crate;
use crate;
/// Captured declarations one account may name beside its own commitment.
///
/// A cause list cut to fit is byte for byte the shape of a complete one, so an account past this refuses rather than narrating a partial cause.
pub const DEPENDENCY_LIMIT: usize = 64;
/// Triggers one plan may watch.
///
/// The shared derivation alone reaches sixty-seven — the content commitment, up to sixty-four declared dependencies, the profile, and the generator — and a kind adds whatever its own anchors require on top, so the roster is wider than the derived part rather than exactly it.
pub const TRIGGER_LIMIT: usize = 128;
/// Outputs one plan may declare.
pub const MEMBERSHIP_LIMIT: usize = 32;
/// Nonclaims one plan may state.
pub const NONCLAIM_LIMIT: usize = 16;
/// Issues one planning refusal carries before it begins counting the rest.
///
/// One per doubled seat — sixteen, since doubling spends two members of a membership of thirty-two — one per bound axis, and one of each remaining kind.
pub const PLAN_ISSUE_LIMIT: usize = 32;
/// What a request MEANT: its owner-qualified kind over the content commitment it was meant for.
///
/// Two requests that meant the same thing derive one of these, whatever machinery would realize them, which is why this is the layer equivalence is compared at.
pub type Intent = ;
/// The triggers one plan watches.
pub type InvalidationSet = ;
/// One kind's content bound to the exact captured declaration and owner-qualified kind it was presented under.
///
/// Holding one proves the compiler derived the content commitment from all three together.
/// It claims nothing about whether the content is a correct semantic reading of the captured declaration; that is the declaring adapter's authority.
/// The one account of the content a request walked in with: what that content IS, and what it declares it stands on.
///
/// Every reading of a request's content reads THIS value — the intent derived from it, the triggers that watch it, the declaration that caused it, the node it stands at — and none of them keeps a copy.
/// A second list of what content depends on would agree with this one until it did not, and nothing downstream could tell which of the two a plan was planned over.
///
/// # Nonclaims
///
/// It says nothing about whether the commitment is current, reachable, or admitted anywhere: it is the address the caller handed over, read exactly.
/// The exact facts every plan is decided under, whatever its kind.
///
/// What a plan was planned OVER is not here: that is the account's, and a context naming it too would be the second holder of one fact.
/// One thing whose change makes a plan stale, and exactly which thing it watches.
///
/// A relevant change invalidates loudly and names what moved; a change no row watches — formatting, declaration order, an alias — touches nothing, because nothing watches those.
/// What the eventual digest of one member must satisfy, stated before a byte of it exists.
///
/// A plan holds no rendered bytes and therefore no digest of them: it names the member the digest must be anchored to, and closure recomputes the digest over the rendered bytes at [`Role::OutputBytes`](crate::identity::Role::OutputBytes) and compares.
/// A digest anchored anywhere else belongs to a different member.
/// One declared output of a plan — logical, and only logical.
///
/// What it IS, where it came from, who is expected to materialize it, the address a publication writes it to, and what its eventual digest must satisfy.
/// No rendered bytes and no digest of them: those are the rendering's facts and they live on the rendered unit.
/// One planned member: the seat it stands under, and the output planned there.
///
/// The seat is what closure matches on, so a rendering that produced the right NUMBER of units in the wrong seats is caught by the seat rather than passing a count.
/// It is also where the member's delivery is read from ([`Role::destination`]); a plan declares no delivery of its own, so two plans of one kind cannot disagree about which build compiles a seat's unit.
/// The complete declared output set of one plan — the output firewall.
///
/// The declared set is the whole set: a sibling that is not in it was not planned, and nothing downstream may materialize one.
/// Structurally non-empty, because a plan that would generate nothing is a disposition rather than a plan.
///
/// Every member's seat is in the kind's declared roster, because admission refuses one that is not: every walk downstream — encoding, proof, reconstruction, delivery — quantifies over that roster, and a member outside it would be a unit those walks never look at, held by a proof that claims the whole set.
/// Everything one plan decided, as the one value those seats travel in.
///
/// Five seats, in the order a plan's transcript writes them, and every one of them required: a construction that leaves one out stops compiling exactly where a missing argument would, and a seat added to a plan is added here and breaks every construction again.
/// One plan: the complete output set of one request, named before any syntax exists.
///
/// Every seat is required, and the seats that could have been empty are shapes that cannot be — the output set, the watch set, the trace, and the trail are all structurally non-empty.
/// Only the nonclaims may be empty, because a plan that claims exactly what it does has none to state.
///
/// The account is not a copy of anything: it is the value the caller walked in with, moved into the plan, so the plan's own answer to "what were you planned over" is what its identity, its watch set, and its origin edges were all read off.
/// Which declared magnitude a plan overran.
///
/// A bound refusal names its axis, so "too big" is never an unlocated word.
/// The two facts a contradiction stands between.
///
/// Neither side is elected as the offender: the disagreement is the fact, and naming one of them wrong is a judgment this compiler has no standing to make.
/// One way planning refuses.
///
/// No issue is payload-free: an issue names what it observed, because a bare row makes the reader guess.
/// Several are reachable only where a plan arrives decoded rather than built through the roads here, since the typed roads cannot express an unimplemented kind, an orphaned unit, or an incomplete membership.
/// How planning says no.
///
/// Planning issues are independent and co-establishable — one pass may find a doubled seat and an overrun magnitude at once — so the body carries every issue the pass established, and says so where it kept only what fits.
/// No issue is elected as the primary one, and a body with nothing in it is unrepresentable.