SC‑WBD

Engineering · 05

Declaring where the implementation is narrower than the paper

A stated narrowing is a decision the team can attack. An unstated one is invisible to a process built entirely out of attacking stated things.

This register exists because it did not. The architecture document once narrowed the specification's heterogeneous regional state to a uniform feature vector, in a subordinate clause, and the narrowing was implemented faithfully and never noticed. Essay 01 is what that cost.

The governing rule

Every divergence between the architecture document and the paper is listed in the register. A divergence that is not listed is a defect, not a decision.

Any contributor may add a row. No contributor may remove one. Adding a row is not approval — it makes the narrowing visible so that it can be challenged.

What a row has to contain

Four fields, and the third is the one that does the work: what it narrows (which section of the paper), the narrowing itself, why, and whether it is permanent or scheduled. A row without a reason is a confession, not a decision.

Some representative rows, chosen because they show the range:

Padded family state

Family state is stored padded to the largest family's dimension, with per-family spans, rather than as a ragged layout. Why: ragged state breaks the batched trainer. Padding is observationally equivalent only if out-of-span reads are impossible — so the span mask is enforced: a family reading outside its span raises, it does not silently return zeros. That guard is what makes this a narrowing rather than a defect. Five tests make each violation fire, including a read that leaves the span, a too-wide write, and any non-zero element in the padding.

The cost is measured and unflattering: at the partition it was computed against, more than half the state plane is padding, because two hippocampal parcels set the dimension for all 414 regions. That figure is currently flagged stale rather than re-guessed — it was computed against a family count that no longer exists, and the register says so instead of quietly carrying it forward.1This is a small thing that matters a lot. The alternative — recomputing it quickly and confidently — is how a number that nobody has actually regenerated ends up in three downstream reports. The standing habit is regenerate from source, or mark it stale; never re-derive from memory.

Hippocampal episodic memory: state shape, not storage

The rollout's hippocampal backend retrieves against a fixed random codebook. The four episodic write/read hypotheses that are implemented are compared offline and are not driven by the rollout. Why: a differentiable rollout has nowhere to carry a growing store of episodes. The state shape, the multiscale scaffold and the retrieval-confidence channel are in the rollout; episodic storage is not.

As the row puts it: saying so is the difference between a narrowing and a claim that the section is implemented.

The amygdala row, which admits to having nothing

The paper is explicit that amygdalar systems are not a scalar fear or valence node. The amygdalar family declares relevance and autonomic components and runs on the generic learned core. Why: there is no engineered amygdalar backend in this repository. Giving it one of the other four would be a semantic collapse; giving it the generic core and saying so is the honest option.

Safety limits bind only on the axes a proposal supplies

With one exception, and the exception is the interesting part. A plan declaring live application must cover every declared axis for its modality or it refuses. Why: most axes have no producer for most proposals, so requiring full coverage everywhere would make every simulated study refuse and the rule would simply be switched off. But two thermal-dose axes for focused ultrasound have no producer anywhere in the codebase, so under uniform omission a live plan was silently unchecked on thermal dose. Coverage is enforced exactly where the consequence is physical, and the exemption is marked delete this when a thermal producer lands.

A required-but-unread safety flag

Reversibility sat in a configuration file as required = true with no minimum or maximum, so the loader skipped it and nothing ever read it — a cited, reviewed, decorative guard on the safety path. It was moved to a section that is read, enforced on the live path, and fired by a test.

The register broke, and the breakage is the finding

Rows were originally keyed by ordinal — N-1, N-2, and so on. Ten contributors filing rows concurrently collided on four of them, were renumbered, and then collided again when three more branches merged.

An ordinal is assigned by position, and position is exactly what a concurrent merge changes.

The register now uses stable slugs and has no numbers. Older prose elsewhere citing “N-4” or “N-7” was written against one of two or three different rows, and the only reliable way to read it is by what the row is about.

Why this is not a footnote

A register that exists to stop undeclared narrowings must survive concurrent writes, or it silently develops entries that mean two things — which is worse than the problem it solves. The failure was in the addressing scheme, not in anyone's work.

Standing rulings

Arbitrations that bind more than one contributor. Each is a decision, not a fact — argue with it before implementing against it, not after. Four are worth reproducing here because they generalise past this project.

Heads read declared out-ports, never a shared state slice

Mean and variance must cross the same typed interface. A shared-slice view once silently narrowed one arm's mean path to 2 exported dimensions against the other's 18 — which would have concluded that heterogeneous state does not help, with a completely green harness.

The ruling was amended on a declared disagreement, and the amendment was the objector's. The original said the observation interface is absent on the control arm, to leave the paper's control untouched. That makes the state-dependent variance path a property of which arm you are in, so the ablation would measure the variance path rather than the structured state — the identical class of error as the mean-path regression, pointing the other way. Last time the interface silently narrowed one arm; this would silently widen the other. Both arms now build the interface by default, and the disable path survives as a declared config choice rather than a property of an arm.

Between-arm parity is checked along the whole path from state to scalar

Any comparison between two arms passes through eight stages: inputs, conditioning, state, observation interface, head parameterisation, score, split, optimiser. Capacity budgets cover stages 3 and 8 only. Four of this project's between-arm defects sat on stages 4 through 7, and none of them was a budget.

A matched budget with an unmatched stage 4–7 is an unmatched comparison wearing a green check.

A declaration does not discharge a refusal; only a validated declaration does

Covered in essay 04. Wherever two refusals compose, the weaker one must consume the stronger one's verdict rather than its declaration — otherwise the pair is an opt-out mechanism for whoever files first.

A fixed handicap and the hypothesis may not be confounded in the primary endpoint

When a defect shared by both arms is repaired between runs, the repair's ceiling is preregistered before the fix. And this ruling is on the site because it was falsified by measurement and corrected by the person who falsified it.

The original version said that a particular analytic bound is the best achievable by fixing predictive variance alone, so improvement beyond it is new predictive content. That is false. Calibrating variance per horizon and channel on held-out data involves no new predictive content whatsoever — it is exactly what all six baselines already do — and passes that bound routinely. Empirically, every statistical baseline sits below it. Under the original rule, a persistence forecaster would have been credited with new predictive content for calibrating its residual variance. It has none.

CeilingValueMeaning
Flat calibration2.1083one global scalar variance; below it is arithmetic
Matched calibration2.0205per-(horizon, channel), fitted on held-out windows — the instrument every baseline gets

Only the second is the bar, and reaching it requires state-dependence — which is exactly the claim under test. The caveat is carried rather than dropped: that figure is in-sample for our arm and genuinely held out for the baselines, so it flatters us, and it still only ties the strongest baseline.

Recorded disagreement, left unresolved

Two contributors could not reconcile that matched-calibration ceiling. One derived 2.0205 from the checkpoint; the other, working from the baselines' own calibration gain, derived a band of [1.9834, 2.0058] and could not reproduce the first figure. Since a content claim requires falling below the ceiling, 2.0205 is the more permissive of the two by 0.015–0.037.

It is adopted as an upper bound only, recomputed per arm, and the disagreement is recorded rather than smoothed. Neither party won; the conservative reading is in force until someone settles it.

The statistical power decision, made before the data

One more entry that belongs here, because it is a narrowing of ambition rather than of architecture.

Derived from run 1's own paired comparisons, the minimum detectable effect at 27 test participants is 0.1404 nats. Against that:

EffectSizeDetectable at n=27
Horizon term of the variance excess0.0096no — 15× below
Matched-calibration gain0.1025–0.1249no
Minimum detectable effect0.1404
State term0.19–0.26yes

The ablation could not see an effect the size of the entire calibration gain. And 27-in-test was a choice, not a constraint — the corpus holds 109, which takes the minimum detectable effect to 0.0699.

So run 2 scores on the full available split, sized before any arm trains, with the size recorded in the pre-registration. An inconclusive result at n=27 would have been uninterpretable — indistinguishable from a true null — and the run would have been spent to learn nothing.

The same analysis retired a claim: the seven subcortical families are 14 of 414 parcels, and no family-level effect there is measurable at any participant count this corpus supports. They are explicitly out of claim, and they will still be measured.

Measure everything the artifact can do; be careful only about what the paper asserts. The pre-registration governs the one comparison it was written for. It does not govern curiosity.

Next: the failures that were not science →