Observation notebook · Anya · 2026 · dense-model + steering branch
Granite — the champion fell, and what replaced it
SpecimenGranite 4.1 (dense, 40-layer) · no-CoT math / EQ / MC battery
Statusaddendum + correction spec · mechanism intact · leaderboard rebuilt · fair-battery v3 re-run 2026-06-21
Sourcerys_granite.md v5 · granite_nocot_v3_da50cdae_results.jsonl · 469-config sweep

This is the page where I overturned my own headline. The Granite page shipped with a clean champion; a better instrument erased it. The mechanism work survived untouched — and the constructive findings that replaced the leaderboard are more useful than what they replaced, and they appear to generalize.

§1The mechanism wasn't the problem — the leaderboard was

The instrument-dependence cuts cleanly. What evaporated was the leaderboard layer (which configs win, and why). What stands, because none of it was instrument-dependent, is the whole mechanism stack: direction-is-read / magnitude-is-discarded, the U-shaped depth-vulnerability curve, RYS-dup-as-power-iteration, the ~4-layer circuit-coherence length, the steering / soft-abliteration results, the continuous-depth ODE framing. The page keeps every one of those.

So the page gets a walkback banner on combo_10_38 — and, more usefully, a constructive section to replace the leaderboard it lost. The rest of this addendum is those four findings.

§2Finding 1 — capability is a few flipped bugs, not a risen tide

Granite's no-CoT arithmetic baseline doesn't fail randomly; it fails deterministically, in a handful of specific, reproducible ways. 907 − 131 (= 776) never comes back right across 15 seeds. It settles into one of two stable wrong answers: 676 (9/15, a hundreds-column slip) or 131 (6/15, echoing the subtrahend). 0 of 15 correct, two error basins. A particular carry-drop on an addition probe, likewise. I call these metastable bugs: observation the 0/15 reproducibility is what's measured; interpretation "basin / attractor" is the interpretation.

A "winning" surgery doesn't lift a diffuse competence: it flips a few of these specific bugs to 12/12 right. The measurement trap is that a balanced 49-probe average dilutes a concentrated flip until it looks like a tiny effect. The small balanced t-stats badly understate what's happening, and that's correct behaviour, not a measurement failure. The win really is concentrated. The right lens is per-probe: which exact bug got fixed, and how many configs reach it.

↳ the action is discrete bug-flips; the 49-probe average is exactly what hides it

Capability is a few flipped bugs, not a risen tide A per-probe strip: each metastable math probe's baseline rate, stuck at deterministic failure, beside its best fixer's rate, next to a log bar of how many configs fix that probe. The counts split bimodally — easy probes fixed by many configs, rare-fix specialists by only a handful — so capability moves as discrete bug-flips that a probe-set average hides. Capability is a few flipped bugs, not a risen tide Granite-4.1-3B · no-CoT math · strict per-probe success across seeds. The baseline fails certain probes every run; a winning surgery flips a few of them. The 49-probe average dilutes each concentrated flip. probe baseline ○ → best fixer ● (strict success) # configs that reach it 0%50%100% 110100 configs (log) add_d3_05 197 div_1x2_01 87 div_1x2_06 15 add_d3_02 13 mul_2x1_06 13 ◆ sub_d3_00 7 ◆ mul_2x1_02 3 ◆ mul_2x2_01 (stretch) 2 ◆ rare-fix specialists 907 − 131 = 776, but the baseline never reaches it: it lands on 676 (9/15, hundreds-column slip) or 131 (6/15, echoes the subtrahend) — 0/15, two basins. dampall_a120 snaps it to 776 on 12/12. The action is discrete bug-flips, not a diffuse lift. Fix-counts are bimodal: of all 14 swing probes, 9 are easy (≤21 configs) and 5 trivial (≥87) — nothing lands between. The rare-fix probes are the genuine disjoint specialists.
Capability is a few flipped bugs, not a risen tide A per-probe strip: each metastable math probe's baseline rate, stuck at deterministic failure, beside its best fixer's rate, next to a log bar of how many configs fix that probe. The counts split bimodally — easy probes fixed by many configs, rare-fix specialists by only a handful — so capability moves as discrete bug-flips that a probe-set average hides. Capability is a few flipped bugs, not a risen tide Granite-4.1-3B · no-CoT math, strict per-probe success. The baseline fails certain probes every run; a winning surgery flips a few. The 49-probe average hides it. broken ○ → flipped ● (strict success) add_d3_05 div_1x2_01 div_1x2_06 add_d3_02 mul_2x1_06 ◆ sub_d3_00 ◆ mul_2x1_02 ◆ mul_2x2_01 str 0%50%100% # configs that reach it add_d3_05 197 div_1x2_01 87 div_1x2_06 15 add_d3_02 13 mul_2x1_06 13 sub_d3_00◆ 7 mul_2x1_02◆ 3 mul_2x2_01◆ 2 110100 configs (log) · ◆ rare-fix specialist 907 − 131 = 776, but the baseline never reaches it: it lands on 676 (9/15, hundreds-column slip) or 131 (6/15, echoes the subtrahend) — 0/15 correct, two error basins. dampall_a120 snaps it to 776 on 12/12. The action is discrete bug-flips, not a diffuse lift. Fix-counts are bimodal: of 14 swing probes, 9 are easy (≤21 configs) and 5 trivial (≥87) — nothing lands between. The rare-fix probes are the genuine disjoint specialists — what makes composition possible.
Fig A — capability is a few flipped bugs, not a risen tide. Per-probe strip: each metastable math probe's baseline rate (stuck at 0/15 — deterministic failure) beside its best fixer's rate (12/12). 907−131→776 settles on two error basins (676 / 131). Row-aligned: a log bar of "# configs that fix this probe," showing the bimodal split — easy probes fixed by ~85–305 configs, rare-fix specialists by 2–7.
source swing_probes() board · 469-config sweeptype data-grounded (15-seed reproducibility)safety specialists ◆+citron, baseline ○ vs fixer ● — shape, not red/green

§3Finding 2 — separated treatments stack; proximate ones mask

Once you know wins are disjoint bug-fixes, composition has an apparent rule and a non-obvious failure mode. observation depth-separated treatments tend to stack; same-region or redundant ones mask. I'm calling this a heuristic, not a law (earning the stronger word would take a regression of effect against layer-distance plus an effect-size distribution, and the margins below are thin).

PairDepth gapResultReading
dampL5a130 + pr2621 layersmath 0.570, paired t +6.4 vs baselinebest math result of the entire sweep — edges prune_26 alone (0.566). Compose without interfering.
dampL6a70 + pr2620 layersclears prune_26 on core probes; a hair under on full 49depth-separated, roughly additive — but the margin over its best component is inside the noise.
pr26 + dup16nearfalls below prune_26 aloneobservation combining loses ground. interpretation overlapping fixers reach for the same bugs, don't compound.

The recipe for a constructive profile: compose per-layer treatments that are (a) depth-separated AND (b) fix disjoint probes — and the per-probe autopsy (Finding 1) is exactly what tells you which fix which. This generalizes the Gemma cross-zone superadditivity (writer-zone × consumer-block) and adds its failure mode, which Gemma never made explicit: redundancy near in depth appears to dilute rather than compound. The emerging data-driven math profile that falls out: L5↑(α1.3) + L26↓(prune or α0.15) + L14↑(α1.8), all depth-separated, predicted to stack. Held-out-seed validation is the open next step; argmax off noisy per-layer curves overfits, so the profile must be confirmed out-of-sample before it's a claim.

↳ depth separation is the axis that decides whether two surgeries add or interfere

Separation makes treatments add, proximity makes them cancel A schematic 40-layer spine with treatment sites marked. A widely-separated pair combines to exceed either treatment alone (stacking), while a closely-spaced pair combines to fall below the better single treatment (masking) — depth separation is the axis that decides whether two surgeries add or interfere. Depth separation decides: separated treatments stack, proximate ones mask Granite, 40 layers. Two surgeries compose constructively only when they sit far apart in depth. 21 layers apart → STACKS L0 L39 L5 ↑α1.3 L16 dup L26 prune 10 apart → MASKS dampL5a130 + pr26 (far) pr26 .566 combo .570 pr26 + dup16 (near) pr26 .566 combo ↓ math, zoomed .55–.58 math, zoomed .55–.58 Whiskers ≈ seed noise: the stacking margin (.570 vs .566) sits inside it — suggestive, not established. The masking drop is the cleaner effect. On in-band/gcore probes, not the floored/ceilinged 49-mean.
Separation makes treatments add, proximity makes them cancel A schematic 40-layer spine with treatment sites marked. A widely-separated pair combines to exceed either treatment alone (stacking), while a closely-spaced pair combines to fall below the better single treatment (masking) — depth separation is the axis that decides whether two surgeries add or interfere. Depth separation decides Granite, 40 layers. Two surgeries compose only when they sit far apart in depth — separated stack, near mask. 21 apart → STACKS L0 L39 L5 ↑ L16 dup L26 prune 10 apart → MASKS far pair: dampL5a130 + pr26 pr26 .566 combo .570 math .55–.58 near pair: pr26 + dup16 pr26 .566 combo ↓ math .55–.58 Whiskers ≈ seed noise. The stacking margin (.570 vs .566) sits inside it — suggestive, not established. The masking drop is the cleaner effect. Measured on in-band / gcore probes, not the floored/ceilinged 49-probe mean.
Fig B — separation makes treatments add; proximity makes them cancel. A 40-layer spine with treatment sites marked. The widely-separated pair (L5 ↔ L26, 21 apart) combines to exceed either alone — stacking. The closely-spaced pair (L16 ↔ L26) combines to fall below the better single treatment — masking. Markers and hatching carry the distinction, not colour.
source granite_nocot_v3_da50cdae_results.jsonltype schematic + data (in-band / gcore probes)safety STACKS / MASKS by arrow + label, not hue

§4Finding 3 — the 3-point map lies; non-monotone layers need the fine grid

The published page reads layers through a prune/dup endpoint map. That skeleton is blind to any layer with a U-shaped α-response, and Granite has them. L6 peaks at α≈0.7 (+0.062 Δ-vs-baseline on the gcore in-band probes, n=348/point: the top single-site math move) while both prune_6 (α=0, removed outright) and dup_6 (α=2, −0.105) collapse it. A gentle damp is neither endpoint, so the 3-point map can't see it: it reads L6 as "touch it and it dies," when in fact a partial damp is the single best thing you can do there. L5 similarly peaks at α≈1.3.

This sorts the layers into two math populations: damp-down layers (L7/8/10/18/26/27 want α<0.5 — L26 is the "savant," optimum monotone toward zero, where a heavy partial damp ≈ pruning it without removal) and boost layers (L9/14/15/16/19/21/22/24/29/34 want α>1). Any per-layer sensitivity claim needs the dense single-pass α grid (~0.5–1.5), not the dup/prune endpoints.

Negative result — k-splitting does not raise the per-layer ceiling

The boost layers cap at ~α1.5, and the obvious move to push past it is to spread the gain across k damped passes. It fails: L22 and L34 each peak at single-pass α1.5, and spreading α>1.5 across k passes overshoots rather than extending the ceiling (sa22_S160_k6 d−0.022, sa34 d−0.07). The "k-split rescues α>1.5" hypothesis is refuted at these sites — stated plainly because it's the obvious thing to try.

↳ the endpoints draw a falling line; the dense grid finds an interior peak the endpoints can't

The U-shaped layer the endpoints hide Layer L6's response as α runs from prune through baseline to duplicate: a clear inverted-U peaking near α≈0.7, with both endpoints below baseline. A faint overlay connecting only the three endpoint doses draws a declining line that misses the interior peak entirely; L5's differently-marked curve peaks further right. The U-shaped layer the endpoint map can't see Granite-4.1-3B · math Δ on the gcore in-band probes vs baseline 0.628 · x = α: 0 prune → 1 base → 2 dup. Dense single-pass α-grid 0.5–1.5 (n=348/pt) is the measured curve; prune (α0) & dup (α2) are structural endpoints. +.05 Δ 0 −.05 −.10 −.20 00.511.52 prunebaselinedup α → dup_6 −.105 prune_6 → 0.00 Δ −0.63, off scale L5 peaks α≈1.3 (+.048) top single-site math move α≈0.7 → +0.062 α1.5: −.234 (over-drive) Endpoints and the dense grid disagree about the sign. The 3-point prune/baseline/dup probe sees only collapse on both sides of baseline — it reads L6 as "touch it and it dies." The dense α-grid finds the opposite: a partial damp (α≈0.7) is the best single-site math move on the model. A two-point instrument doesn't lose precision — it returns the wrong direction. L6 (● dense α-grid) L5 (■ peak α1.3) 3-pt map (endpoints only)
The U-shaped layer the endpoints hide Layer L6's response as α runs from prune through baseline to duplicate: a clear inverted-U peaking near α≈0.7, with both endpoints below baseline. A faint overlay connecting only the three endpoint doses draws a declining line that misses the interior peak entirely; L5's differently-marked curve peaks further right. The U-shaped layer the endpoint map can't see Granite. Math Δ on gcore in-band probes vs base 0.628. x = α: 0 prune → 1 baseline → 2 dup. Dense α-grid 0.5–1.5 measured (n=348/pt); prune/dup structural. +.05 Δ0 −.05 −.10 −.20 00.511.52 prunebasedup α → dup_6 −.105 prune_6 → 0.00 Δ−0.63, off scale L5 peak α≈1.3 (+.048) α≈0.7 → +0.062 top single-site math move α1.5: −.234 Endpoints and the dense grid disagree on the sign. prune says dead, dup says bad — both below baseline — so a 3-point probe reads L6 as "touch it and it dies." The dense grid finds the opposite: a partial damp at α≈0.7 is the best single-site math move on the model. A two-point instrument doesn't lose precision — it returns the wrong direction. Sensitivity needs the dense single-pass grid, not dup/prune. L6 (● dense α-grid) L5 (■ peak α1.3) 3-pt map
Fig C — the U-shaped layer the endpoints hide. L6's α-response (x = α, 0 = prune → 1 = baseline → 2 = dup; y = math Δ): a clear inverted-U peaking at α≈0.7, with both endpoints below baseline. The faint overlay connects only α=0,1,2 — the "3-point map" — and would draw a declining line that misses the interior peak entirely. L5 (peak α1.3) is the second, differently-marked curve.
source dense single-pass α grid (n=348/point, gcore in-band)type data-groundedsafety curves by marker + dash; endpoint-map faint, not red/green

§5Finding 4 — the Σα-law transferred, with the predicted downshift

Granite was the cross-model confirmation of the Σα-law first found on MiniCPM5. The governing variable for a stacked/damped layer is Σα = the sum of all per-pass alphas; k (copy count) scales the magnitude, Σα sets the sign. On Granite the peak sits at Σα ≈ 0.75 versus MiniCPM's ≈1.25, and that downshift was named in advance: the pre-run note (2026-06-12, before the fair-battery run executed) flagged Granite's residual_multiplier = 0.22 as the suspect, and the run confirmed Σα≈0.75.

interpretation The working mechanism: a smaller per-layer residual write means a lower cumulative-α budget before the residual leaves the norm band. Beyond peak: ≈2.0 fading, ≥3 cratering, the same one-death-two-doors collapse. observation over-drive and negative-α both produce digit / special-token / CJK leak; interpretation residual-norm corruption is the proposed cause. dampall is neutral-to-negative on Granite (it isn't a collapsed model, so there's no pathology to relieve) — control behaviour consistent with MiniCPM's dampall "wins" having been de-collapse, not capability.

↳ the leftward shift of the peak is the whole visual argument — one law, two models

One law, two models, the predicted downshift A two-panel Σα-response for MiniCPM5 and Granite on identical axes, each an inverted-U with its peak annotated — near 1.25 for MiniCPM5 and 0.75 for Granite — and a vertical guide marking the leftward shift. Granite's lower residual multiplier is carried as the cause named in advance, and the shared crater zone past Σα ≥ 3 is marked. One law, two models — the Σα peak shifts left, predicted in advance x = Σα (cumulative per-pass damping dose) · y = math Δ vs baseline · identical axes curve = response-law shape; the peak location and its leftward shift are the measured result MiniCPM5-1B · 24L dense 0 0123 Σα → Σα ≈ 1.25 craters ≥3 Granite-4.1-3B · 40L dense 0 0123 Σα → ← MiniCPM peak (1.25) Σα ≈ 0.75 craters ≥3 residual_multiplier = 0.22 smaller per-pass dose → earlier peak Same inverted-U law on both. The peak moves 1.25 → 0.75 — a leftward shift called in advance from Granite's smaller residual multiplier, before the sweep ran. MiniCPM (solid · ●) Granite (dashed · ■) Σα ≥ 3 crater zone
One law, two models, the predicted downshift A two-panel Σα-response for MiniCPM5 and Granite on identical axes, each an inverted-U with its peak annotated — near 1.25 for MiniCPM5 and 0.75 for Granite — and a vertical guide marking the leftward shift. Granite's lower residual multiplier is carried as the cause named in advance, and the shared crater zone past Σα ≥ 3 is marked. One law, two models — the Σα peak shifts left x = Σα (cumulative per-pass damping dose) y = math Δ vs baseline · identical axes curve = law shape; peak + shift are the measured result MiniCPM5-1B · 24L dense 0 0123 Σα → Σα ≈ 1.25 ≥3 craters Granite-4.1-3B · 40L dense 0 0123 Σα → ← MiniCPM peak (1.25) Σα ≈ 0.75 ≥3 craters residual_multiplier = 0.22 smaller per-pass dose → earlier peak (called before the sweep) MiniCPM (solid · ●) Granite (dashed · ■) Σα ≥ 3 crater
Fig D — one law, two models, the predicted downshift. Two-panel Σα-response, MiniCPM5 (left) and Granite (right) on identical axes (x = Σα, 0 → 3; y = math Δ). Each an inverted-U; the peak is annotated — MiniCPM ≈1.25, Granite ≈0.75 — with a vertical guide at each so the leftward shift reads at a glance. Granite's panel carries residual_multiplier = 0.22 as the named-in-advance cause; the shared ≥3 crater zone is marked.
source Granite v3 + MiniCPM5 Σα sweeps · pre-run note 2026-06-12type data-grounded; downshift predicted in advancesafety models by hatch + shape, not colour

Caveats

The mechanism work here is solid (re-checked against the v3 results file, and unrelated to what follows). What's still open is the constructive side: the profile and the stacking heuristic that replaced the old leaderboard are early reads off noisy per-layer data, not confirmed findings yet.

Build notes & lineage

Granite is the dense-model + steering branch of the line. Measurement → the methods writeup. The Σα-law it confirms was born on MiniCPM5. The "I overturned my own result" register is shared with the HRM specimen, which paid for the same instrument lesson first. Sibling specimens: Gemma 4 (whose cross-zone superadditivity this generalizes), the MoE fork. Boards and raw data: monitor.py::swing_probes(), granite_nocot_v3_da50cdae_results.jsonl. Run locally on a 16 GB Mac Mini.