11# Preregistration: matched arity and recursion discrimination
22
33``` text
4- protocol version: 0.4 .0
4+ protocol version: 0.5 .0
55run status: not-run
66human subjects: none
77animal subjects: none
@@ -127,7 +127,7 @@ the domain-field order below. The complete tuple, including `block`, is the
127127counter-stream key; concatenated placeholders or language-native float strings
128128are forbidden. Every listed field is present; use the literal token ` "none" `
129129for an inapplicable field. A nested carrier or tensor component is one token
130- such as ` outer/3 /leaf/2 ` , not an implementation-native tuple string.
130+ such as ` outer/2 /leaf/2 ` , not an implementation-native tuple string.
131131
132132Each digest is split in order into four big-endian unsigned 64-bit words and
133133each word ` w_k ` maps to the open-unit uniform ` u_k=(w_k+0.5)/2^64 ` . One scalar
@@ -364,7 +364,7 @@ whose indices are `start,...,start+15`:
364364- a modulation multiplies the selected ` W ` summand or the selected all-source
365365 product term, named in the plan, by exactly ` 0.5 ` before ` tanh ` .
366366
367- Nested plans name ` outer/i ` or ` leaf/i /l` targets and apply the explicit nested
367+ Nested plans name ` outer/i ` or ` outer/i/leaf /l` targets and apply the explicit nested
368368equation above. Class ` 5 ` uses the primary-outcome certificate below. Class ` 6 `
369369composes the two corresponding operators in numeric class order; masks and
370370modulators act before ` tanh ` , then additive state, process noise, and ablation
@@ -373,10 +373,13 @@ episode ids, times, targets, and process-noise stream keys. Controls receive the
373373plan through these fixed operators and the adapter below, never through a
374374learned or undeclared ` u_t ` channel.
375375
376- The executable's candidate registry is the complete representation: ` state `
377- and ` recovery ` use a token observed identity plus an unsigned coordinate;
378- ` carrier ` uses one token; and ` edge ` and ` summand ` use three tokens. Numeric
379- strings never alias unsigned integers.
376+ The executable's ` canonical_candidate_lists(system_kind,arity) ` output is the
377+ complete candidate vocabulary and list for every schedule. ` state ` and
378+ ` recovery ` use a canonical observed identity plus an unsigned coordinate;
379+ ` carrier ` uses a canonical direct carrier or outer-carrier identity; and ` edge `
380+ and ` summand ` use the exact term, target, and source identities emitted there.
381+ Numeric strings never alias unsigned integers, and no other token spelling is
382+ admissible.
380383
381384## Outcomes
382385
@@ -593,8 +596,11 @@ serial left fold from `1.0` in that same order. Loss terms within a minibatch ar
593596left-folded by ` draw_index ` , then transition index, then lexicographic original
594597observed scalar identity. Recovery squared coordinates and every reported mean
595598use the corresponding lexicographic original-identity order and a serial left
596- fold before the single final division. Reverse-mode gradients are derivatives
597- of this ordered scalar program and accumulate contributions in the same order.
599+ fold before the single final division. Reverse-mode gradients use only the
600+ pinned executable's binary multiply/divide, serial sum/product, ` tanh ` ,
601+ ` softplus ` , variance-head, and Gaussian-NLL adjoint functions and accumulate
602+ contributions in the same order. ` variance_head_value ` and
603+ ` gaussian_nll_term ` are the sole scalar variance and NLL forward recurrences.
598604Reassociation, tree or parallel reductions, model-position ordering, and fused
599605multiply-add contraction are forbidden. These rules apply before fitting,
600606during every optimizer update, and during rollout and scoring, so a carrier
@@ -665,10 +671,13 @@ carrier `a` receives the arithmetic mean of all observed carriers with
665671` q_{m,n}(i)=a ` ; for ` m > n ` , control carrier ` a ` receives observed carrier
666672` r_{m,n}(a) ` . Define the model-carrier image of observed carrier ` i ` as
667673` A_{m,n}(i)={q_{m,n}(i)} ` for ` m<n ` and
668- ` A_{m,n}(i)={a:r_{m,n}(a)=i} ` for ` m>n ` . Carrier-targeted additive interventions are encoded by the same
669- map before dynamics: merged controls receive the arithmetic mean of all
670- interventions in their bucket, and split controls receive the same intervention
671- on every split carrier assigned to the targeted observed carrier. Edge cuts with
674+ ` A_{m,n}(i)={a:r_{m,n}(a)=i} ` for ` m>n ` . Carrier-targeted additive interventions
675+ use the same map only to identify model output coordinates: merged controls
676+ receive the arithmetic mean of all additions in their bucket, and split controls
677+ receive the same addition on every split carrier assigned to the targeted
678+ observed carrier. Every resulting addition is applied after that model carrier's
679+ deterministic ` tanh ` transition and before process noise; it is never applied to
680+ the input encoding or before dynamics. Edge cuts with
672681endpoints collapsed into one merged carrier become recorded self-edge no-ops;
673682all other cuts map to every nonself model edge in
674683` A_{m,n}(source) x A_{m,n}(target) ` and zero both those ` W ` summands and every
0 commit comments