From 0b6f16ad52d5645b6916cb63cfb7811f38d4f2e4 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 12 Aug 2026 19:20:44 +0000 Subject: [PATCH 1/2] board: fix CodeRabbit Minor on #941 -- restore the dropped "mean" qualifier on the 25%/9% contribution figures The source RUN entry and the committed JSON's fitted_contribution_Pa_per_km keys report MEANS over the 19 storms (mean |c_geo*P_geo| / mean |c_bow*P_bow| vs mean |D|); the #940 summary rows dropped the qualifier. PR_ARC's merged entry gets an appended dated correction line (append-only rule -- the entry merged via #941 before the finding landed, not edited in place); LATEST_STATE's living shipped-table row is fixed in place (precedent: the N-vs-n_qualifying fix on #939). Fourth instance of the same summarization defect class this week: a qualifier or operand pairing true in the source, lost in the summary. The figure itself was never wrong -- its aggregation scope went unstated. Co-Authored-By: Claude Claude-Session: https://claude.ai/code/session_01CcpLeEC3XK8Eye53GKBVvi --- .claude/board/LATEST_STATE.md | 2 +- .claude/board/PR_ARC_INVENTORY.md | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.claude/board/LATEST_STATE.md b/.claude/board/LATEST_STATE.md index 5486334d2..005ef2a75 100644 --- a/.claude/board/LATEST_STATE.md +++ b/.claude/board/LATEST_STATE.md @@ -855,7 +855,7 @@ Membrane consumers can now pull BOTH halves of a render `classid` BBB-safely fro | PR | Merged | Title | What it added | |---|---|---|---| | *gap note* | — | **#781–#925 are NOT in this table** — carried by the dated sections above + `PR_ARC_INVENTORY.md`. Recorded 2026-08-12 (codex P2 on #930) rather than silently reconstructed; the table had stalled at #780. | — | -| **#940** | 2026-08-12 | W6 lands — vector-sum dipole model VOID by its own anti-vacuity control; stranded stratum empty by CT-F14's filter arithmetic; same-PR sign/units correction round | B0 VOID: single-geo R²=−0.104 (worse than the mean); both controls (permuted P_bow, P_bow rotated 90°) clear the `≤single-geo+0.03` ceiling. B3 stranded (`\|v_storm\|<8 m/s`): n=0 — `displacement_km≥250`/6h implies `\|v_storm\|≥11.57 m/s` for every admitted storm, `E-THE-DISPLACEMENT-FILTER-ATE-THE-STRANDED-STRATUM-1`. Same-PR: codex+CodeRabbit caught a sign-convention bug (`D=-spine(...)`, matching `low_pole_bearing()`'s own flip; verified offline that this leaves R²/B0/B1/B3 unchanged, confirmed on the actual re-run) and a units error (`c_bow` is km⁻¹ not dimensionless; replaced with the dimensionally valid `\|c_bow·P_bow\|` vs `\|D\|` metric — geo≈25%, bow≈9% of `\|D\|`). CT-F17's gate now moot for this model form. | +| **#940** | 2026-08-12 | W6 lands — vector-sum dipole model VOID by its own anti-vacuity control; stranded stratum empty by CT-F14's filter arithmetic; same-PR sign/units correction round | B0 VOID: single-geo R²=−0.104 (worse than the mean); both controls (permuted P_bow, P_bow rotated 90°) clear the `≤single-geo+0.03` ceiling. B3 stranded (`\|v_storm\|<8 m/s`): n=0 — `displacement_km≥250`/6h implies `\|v_storm\|≥11.57 m/s` for every admitted storm, `E-THE-DISPLACEMENT-FILTER-ATE-THE-STRANDED-STRATUM-1`. Same-PR: codex+CodeRabbit caught a sign-convention bug (`D=-spine(...)`, matching `low_pole_bearing()`'s own flip; verified offline that this leaves R²/B0/B1/B3 unchanged, confirmed on the actual re-run) and a units error (`c_bow` is km⁻¹ not dimensionless; replaced with the dimensionally valid `\|c_bow·P_bow\|` vs `\|D\|` metric — mean-over-19-storms: geo≈25%, bow≈9% of mean `\|D\|`). CT-F17's gate now moot for this model form. | | **#938** | 2026-08-12 | W5 v2 RUN lands — B2 REVERSES to genuine FAIL, B3's VOID CONFIRMED at full headline scale, both link families now verified | B2: real diffusion resolved (raw rel-L2 vs unsmoothed input = 0.190), operator's own anisotropy = **1.5251 vs the 1.25 bar** (baseline through the clean 3.35σ mask = 1.0046 — the operator alone contributes ~0.52). `domino.rs` gather-design claim REFUTED at this test point. B3: 99.68 % (family A) / 99.56 % (family B) of the QUALIFYING population's control links land on a pure Fibonacci offset (n_qualifying=4 782 017, out of the headline lattice N=7 651 227 — not a 62k sub-sample) — dominated by the two discovered strides 2584=F(18) / 4181=F(19) respectively. Same-PR fixes for 3 more codex findings: family-B histogram was previously uncomputed (now measured + JSON patched); "four orders of magnitude" corrected to ~1.9 (76.9×); B4 downgraded from verdict to explicit descriptive reading (n=19 was dropped without pre-authorization — B4 stays open). | | **#936** | 2026-08-12 | W5 v1 RUN (B2 PASS / B3 VOID / B4 smooth) — ⊘ SUPERSEDED same day, all three verdicts compromised; v2 CODE fix merged in this PR, v2 RUN/results in flight | Codex found 4 real defects: B3 control subsampled at 250k/band (~74 % self-linked at headline, ratio 0.9996 uninformative); B2's fit floor = input σ (8 iters ≈ inert, "resolved" indistinguishable from "untouched"); bump only 1.72σ from the mask edge (analytic truncation ratio 1.2082 ≈ the measured "1.213 asymptote" — likely the MASK, not the operator); 99.38 % Fibonacci-membership figure was chat-only. Fixed same day, code merged HERE (`106ca605`, verified an ancestor of this PR's merge commit — corrects two overclaims caught by codex P2 on PR #937: the fix was described as "landing in a follow-up PR" when it had already landed, and the histogram artifact as "committed" when only the SCRIPT that produces it had landed — the tracked JSON is still v1's until the v2 run completes): full-band control, V-matched iteration scaling, bump moved to 3.35σ clearance + baseline-through-mask computed, offset histogram now computed by the script. The epiphany's MECHANISM survives (sub-cap 99.38 % measurement was never subsampled) but its "does not exist" phrasing was also softened (codex P2 on #937: 99.38 % ≠ 100 %, one N/one construction ≠ universal proof) — only the headline evidentiary number is retracted; the claim is restated at its actual evidentiary scope, not deleted. | | **#935** | 2026-08-12 | The validation wave RUNS: T1–T4 + W2s-a executed; `E-A-CONTROL-THAT-CANNOT-LOSE-IS-NO-CONTROL-1` | T2/T3/T4 PASS (68–106× at 200q; tempered 140/140 exact vs golden 124–127/140; 39.0 % naive-rounding collapse). T1 twice-corrected under codex review of its own run: verified-permanent m* = **1.9–2.7× q** (first-crossing 1.0–1.4× was not permanent; q=17: D*(22) back above the ceiling). W2s-a: G1 VOID, G2/G4 FAIL — the CONTROL is degenerate (two translated identical grids are symmetry-uniform, CV ~1e-12; cannot lose any evenness comparison). W5 pre-registered, run in flight at merge. | diff --git a/.claude/board/PR_ARC_INVENTORY.md b/.claude/board/PR_ARC_INVENTORY.md index 4dfff24dd..9feaf873d 100644 --- a/.claude/board/PR_ARC_INVENTORY.md +++ b/.claude/board/PR_ARC_INVENTORY.md @@ -39,6 +39,12 @@ actual re-run's committed JSON, with the sign-flip's R²-invariance property verified by a standalone offline test before the fix was even committed. +- **Correction (2026-08-12, CodeRabbit Minor on #941, appended per the + append-only rule — this entry merged before the finding landed):** + the "≈25 %" / "≈9 %" contribution figures above are **MEANS over the + 19 storms** (`mean |c_geo·P_geo|` / `mean |c_bow·P_bow|` against + `mean |D|`, per the committed JSON's `fitted_contribution_Pa_per_km` + keys) — the qualifier was dropped when summarizing from the RUN entry. **Status:** MERGED (`adab8739`). Branch `claude/jirak-math-theorems-harvest-rfii13` → `main`. Probe + docs — zero product code. From ea5fa7f119d733e50de42939cd1e604688badf3a Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 12 Aug 2026 19:30:20 +0000 Subject: [PATCH 2/2] plan: substrate-comfort-zones-v1 -- where does each substrate formula feel at home (regime x geometry x calibration) Operator framing, three messages: hold different situations constant (over water) vs flatland vs storm with high velocity differences/turbulence; good geometry vs badly calibrated; then find out where the substrate formulas feel at home. Hypothesis to falsify: a badly-calibrated substrate that maps DYNAMICALLY beats a well-calibrated absolute one in strong storms -- miscalibration as a regime-dependent property, not a uniform defect. Not fresh speculation. Three already-measured findings converge here: Fisher-z's opposite verdicts (8.3x better in the storm tail, 4.7x worse on ring means, #926); the three-register result that rank-normalised palette256 is the ONLY frame where cross-variable distance is defined (so "no absolute anchor" and "the only frame that works" are one property seen from two sides); and the operator-ruled golden index floor (#932), reused as the geometry axis's pre-existing good/bad split rather than inventing a new quality scale. SS1 PREFLIGHT ALREADY RUN -- the W6 lesson applied prospectively for the first time, and it corrected the plan before any bar existed: 1. "Flatland" is NOT one regime. It spans calmer-than-ocean (Amazon |grad p|=10.2) to 3x-ocean (W Siberia 43.8). Defining the middle regime by its surface-type LABEL would have scored two physically opposite fields as one condition. The regime axis is now defined by MEASURED |grad p|; surface labels are only the a-priori strategy for finding boxes along it. 2. Elevation confounds MSLP -- it is extrapolated over terrain, so its gradient is partly a reduction-formula artifact. Only elev sigma <= 150 m admissible, excluding US Great Plains (698 m), Argentine pampas (792 m), N European plain (319 m), Sahara (299 m) on evidence. 3. Wind SPEED does not discriminate (ocean 5.33 vs flatland 5.47 m/s); |grad p| separates them 14.96 vs 39.90. Scoring uses |grad p| and speed VARIANCE, never mean speed. Adopted ladder: R1 Amazon 10.2 -> R2 ocean 14.9 -> R3 W Siberia 43.8 -> R4 storm 95.6, a 9.3x dynamic range. Bars, controls first: C0 two controls (shuffled codebook + degenerate geometry), each cheap-smoke-tested for LOSABILITY before the full run (the E-A-CONTROL-THAT-CANNOT-LOSE lesson, plus W5's cannot-DIFFER twin); C1 ladder stability across >=3 timesteps; C2 THE CROSSOVER, two-sided with both failure directions pre-registered as reportable; C3 miscalibration penalty vs turbulence; C4 geometry floor on a sampling-fidelity metric (a NULL is expected-plausible per W5's B4 and must be said plainly); C5 the comfort matrix as the deliverable. Output contract carries raw operands, codebook edges actually used, drawn sample counts (equal-budget proof not intent), and units on every dimensional field -- the artifact-completeness and c_bow-is-km^-1 lessons. Board hygiene: INTEGRATION_PLANS prepend + STATUS_BOARD rows D-CZ-0..6 (D-CZ-0 already DONE -- the preflight). ~150 MB, minutes. Doc-only, nothing run beyond the preflight. Co-Authored-By: Claude Claude-Session: https://claude.ai/code/session_01CcpLeEC3XK8Eye53GKBVvi --- .claude/board/INTEGRATION_PLANS.md | 48 +++++ .claude/board/STATUS_BOARD.md | 16 ++ .claude/plans/substrate-comfort-zones-v1.md | 219 ++++++++++++++++++++ 3 files changed, 283 insertions(+) create mode 100644 .claude/plans/substrate-comfort-zones-v1.md diff --git a/.claude/board/INTEGRATION_PLANS.md b/.claude/board/INTEGRATION_PLANS.md index b4f1352ce..5340b616c 100644 --- a/.claude/board/INTEGRATION_PLANS.md +++ b/.claude/board/INTEGRATION_PLANS.md @@ -1,3 +1,51 @@ +## 2026-08-12 — substrate-comfort-zones-v1 (PLAN; where does each substrate formula feel at home?) + +Plan: `.claude/plans/substrate-comfort-zones-v1.md`. Status **ACTIVE**, +exploratory tier (bars author-written, unaudited — stated in the header). +Operator framing, three messages: *hold different situations constant (over +water) vs flatland vs storm with high velocity differences / turbulence* · +*good geometry vs badly calibrated* · *then we find out where the substrate +formulas feel at home*. + +**The hypothesis to falsify:** a badly-calibrated substrate that maps +DYNAMICALLY beats a well-calibrated absolute one in strong storms — +miscalibration as a regime-dependent property, not a uniform defect. + +**Not fresh speculation — a convergence of three already-measured findings:** +Fisher-z's opposite verdicts (8.3× better in the storm tail, 4.7× worse on +ring means, #926); the three-register result that rank-normalised palette256 +is the ONLY frame where cross-variable distance is defined (so "no absolute +anchor" and "the only frame that works" are one property from two sides); +and the operator-ruled golden index floor (#932), reused as the geometry +axis's pre-existing good/bad split rather than inventing a new quality scale. + +**Two axes, varied independently so results are attributable:** GEOMETRY +(`GOLDEN-HI` above the index floor · `GOLDEN-LO` in the sub-floor resonance +zone · `TEMPERED` 17/stride-4 · `GRID`), at EXACTLY equal sample budget (the +W2s-a unequal-budget lesson). CALIBRATION (`ABS-OWN` · `ABS-FOREIGN` = the +literal "badly calibrated" · `RANK-DYN` and `FISHERZ-DYN` = anchor-free but +dynamic — the operator's actual candidate). + +**§1 PREFLIGHT ALREADY RUN, and it corrected the plan before any bar +existed** (the W6 lesson applied prospectively): (1) **"flatland" is NOT one +regime** — it spans from calmer-than-ocean (Amazon `|∇p|`=10.2) to 3×-ocean +(W Siberia 43.8), so the regime axis is defined by MEASURED `|∇p|`, not by +surface-type label; (2) **elevation confounds MSLP** (extrapolated over +terrain) — only boxes with elev σ ≤ 150 m are admissible, which excludes US +Great Plains (698 m), Argentine pampas (792 m) and two others on evidence; +(3) **wind speed does not discriminate** (ocean 5.33 vs flatland 5.47 m/s) — +scoring uses `|∇p|` and speed σ, never mean speed. Adopted ladder R1 Amazon +10.2 → R2 ocean 14.9 → R3 W Siberia 43.8 → R4 storm 95.6, a 9.3× range. + +**Bars:** C0 controls-first with BOTH a shuffled codebook and a degenerate +geometry, each cheap-smoke-tested for losability before the full run; +C1 regime ladder must hold on ≥3 timesteps (anti-cherry-pick); **C2 the +crossover** — `RANK-DYN − ABS-OWN` must flip sign between calm and storm, +with both failure directions pre-registered as reportable; C3 the +miscalibration penalty must shrink with turbulence; C4 the geometry floor +(a NULL is expected-plausible here per W5's B4 and must be said plainly); +C5 the comfort matrix as the deliverable. ~150 MB, minutes. Doc-only. + ## 2026-08-12 — golden-vs-tempered-stride-v1 (SUBSTRATE-GENERAL PLAN; head vs gut made falsifiable) Plan: `.claude/plans/golden-vs-tempered-stride-v1.md`. Status **ACTIVE**. diff --git a/.claude/board/STATUS_BOARD.md b/.claude/board/STATUS_BOARD.md index bf0d5c1b0..af13cd0ce 100644 --- a/.claude/board/STATUS_BOARD.md +++ b/.claude/board/STATUS_BOARD.md @@ -1,3 +1,19 @@ +## substrate-comfort-zones-v1 — the comfort-zone map (PRE-REGISTERED 2026-08-12) + +Plan: `.claude/plans/substrate-comfort-zones-v1.md`. Regime × geometry × +calibration → where does each substrate formula feel at home. §1 preflight +already run and it corrected two regime definitions before any bar existed. + +| D-id | Deliverable | Status | Feeds | +|---|---|---|---| +| D-CZ-0 | §1 regime preflight (`\|∇p\|` ladder, elevation-confound screen, speed-is-not-the-discriminator finding) | **DONE** — ladder R1 Amazon 10.2 → R2 ocean 14.9 → R3 W Siberia 43.8 → R4 storm 95.6 (9.3× range); 4 land candidates excluded on elev σ > 150 m | the regime axis all other rows score on | +| D-CZ-1 | C0 controls (shuffled codebook + degenerate geometry), losability-smoke-tested BEFORE the full run | Queued | gates every cell — a control that can't lose voids its cell | +| D-CZ-2 | C1 regime-ladder stability across ≥3 timesteps | Queued | anti-cherry-pick on the whole regime axis | +| D-CZ-3 | **C2 the crossover** — `RANK-DYN − ABS-OWN` sign flip calm↔storm | Queued | **the operator's hypothesis, two-sided** | +| D-CZ-4 | C3 miscalibration penalty vs turbulence (`ABS-FOREIGN`/`ABS-OWN` ratio per tier) | Queued | "storms forgive bad calibration" | +| D-CZ-5 | C4 geometry floor on a SAMPLING-fidelity metric (NULL expected-plausible per W5 B4) | Queued | does the index floor bite where smoothing didn't | +| D-CZ-6 | C5 the comfort matrix (the deliverable) | Queued | read-off answer to "where is each formula at home" | + ## golden-vs-tempered-stride-v1 — head-vs-gut queue — RUN 2026-08-12 Plan: `.claude/plans/golden-vs-tempered-stride-v1.md`. Standalone, zero fetch, diff --git a/.claude/plans/substrate-comfort-zones-v1.md b/.claude/plans/substrate-comfort-zones-v1.md new file mode 100644 index 000000000..34117d0a6 --- /dev/null +++ b/.claude/plans/substrate-comfort-zones-v1.md @@ -0,0 +1,219 @@ +# substrate-comfort-zones-v1 — where does each substrate formula feel at home? + +> **Status:** ACTIVE, exploratory tier. Bars author-written and unaudited — +> fine for exploratory, said out loud (the +> `E-ZERO-FOR-ELEVEN-THE-AUTHOR-CANNOT-AUDIT-HIS-OWN-FALSIFIERS-1` rule). +> No verdict-tier claim may be promoted out of this plan without an +> independent adversarial spec audit. +> +> **Operator framing (2026-08-12), three messages:** +> 1. *hold different situations constant — over water vs flatland vs storm +> with high velocity differences / turbulence* +> 2. *good geometry vs badly calibrated* +> 3. *then we find out where the substrate formulas etc. feel at home* +> +> **The hypothesis to falsify:** a badly-calibrated substrate that maps +> DYNAMICALLY performs BETTER in strong storms than a well-calibrated +> absolute one — i.e. miscalibration is not uniformly a defect; in a +> high-variance regime an anchor-free adaptive encoding may win precisely +> because the fixed one saturates. + +--- + +## §0 Why this plan is not a fresh idea but a convergence of three measured findings + +This is not new speculation. Three already-measured results from this arc +point at the same seam, and this plan is the test that joins them: + +1. **Fisher-z is per-read, not universal** (#926, `[H]`): **8.3× tighter** + than plain rank in the storm tail on the raw field, **4.7× worse** than + uniform on ring means. One encoding, opposite verdicts, depending on + what it is asked to represent. *That is a comfort-zone finding already — + this plan generalizes it to a map.* +2. **There is no absolute anchor** (`three_register_probe`, #926): + rank-normalised palette256 is the ONLY frame in which cross-variable + distance is defined at all. So "badly calibrated in absolute terms" and + "the only frame that works across variables" are the same property seen + from two sides. +3. **The golden index floor** (operator-ruled, #932): golden structure is + usable only from convergent index ≈17 up; below that it resonates. That + is the **geometry** axis's own pre-existing good/bad split, already + measured and already ruled — this plan reuses it rather than inventing + a geometry quality scale. + +--- + +## §1 PREFLIGHT — ALREADY RUN, and it corrected the plan before any bar existed + +Per the W6 lesson (`E-THE-DISPLACEMENT-FILTER-ATE-THE-STRANDED-STRATUM-1`: +*check the sample's own arithmetic against the new question's discriminating +variable BEFORE the first fetch*), the regime definitions were measured +first. Two corrections resulted, both load-bearing: + +**Measured at `t0=54358`, 16°×16° boxes, `land_sea_mask` + +`geopotential_at_surface` + MSLP + 10 m winds:** + +| candidate | lsm | elev σ (m) | spd σ (m/s) | **\|∇p\| mean** | +|---|---|---|---|---| +| Amazon basin | 0.98 | 121 | 0.63 | **10.23** | +| OCEAN (S Pacific gyre) | 0.00 | 0.2 | 2.05 | **14.96** | +| Australian outback | 0.95 | 175 | 1.61 | 19.84 | +| Sahara (Libyan erg) | 0.86 | 299 | 2.36 | 24.95 | +| Argentine pampas | 0.79 | 792 | 2.51 | 33.07 | +| US Great Plains | 0.99 | 698 | 2.23 | 37.41 | +| W Siberian lowland (Ob) | 0.95 | **65** | 2.77 | **43.78** | +| N European plain | 0.79 | 319 | 1.94 | 46.25 | +| **STORM** (CT-F14 storm-1 centre) | 0.00 | 7 | 5.48 | **95.59** | + +**Correction 1 — "flatland" is NOT a single regime.** It spans from +*calmer than open ocean* (Amazon, `|∇p|`=10.2) to *3× ocean* (W Siberia, +43.8). Defining the middle regime by its surface-type LABEL would have +scored two physically opposite fields as one condition. **The regime axis +is therefore defined by the MEASURED field character (`|∇p|`), and the +surface-type labels are only the a-priori strategy for FINDING boxes at +different points on that axis.** + +**Correction 2 — elevation confounds MSLP.** Mean-sea-level pressure over +elevated terrain is an *extrapolated* quantity, so its gradient is partly +a reduction-formula artifact, not physics. The first flatland candidate +(57 N/75 E) measured elev σ = 143 m; US Great Plains 698 m; Argentine +pampas 792 m. **Only boxes with elev σ ≤ 150 m are admissible as land +regimes** — which admits W Siberian lowland (65 m) and Amazon (121 m) and +excludes the other four land candidates on evidence, not taste. + +**Correction 3 — wind speed is NOT the regime discriminator.** Ocean-calm +and the first flatland candidate measured 5.33 vs 5.47 m/s mean speed — +indistinguishable. `|∇p|` separates them 14.96 vs 39.90. **The plan scores +on `|∇p|` and speed *variance* (σ), never mean speed.** + +### The regime ladder, as adopted + +| tier | box | centre | `\|∇p\|` (preflight) | why this one | +|---|---|---|---|---| +| **R1 CALM** | Amazon basin | 4 S, 296 E | 10.2 | flattest *dynamics*; elev σ 121 m (admissible) | +| **R2 OCEAN** | S Pacific gyre | 25 S, 220 E | 14.9 | the operator's "constant over water"; elev σ ≈ 0 | +| **R3 ACTIVE** | W Siberian lowland | 60 N, 72 E | 43.8 | the operator's "flatland"; flattest admissible land (65 m) | +| **R4 STORM** | CT-F14 storm centres | (19 stored) | 95.6 | high velocity differentials + turbulence | + +Dynamic range R1→R4 ≈ **9.3×** on `|∇p|` — enough to expect a crossover if +one exists. + +--- + +## §2 THE TWO AXES (the operator's "good geometry vs badly calibrated") + +The two axes are **orthogonal by construction** and are varied +independently, so a result can be attributed to one or the other rather +than to their blend. + +### Axis A — GEOMETRY (where the samples sit) + +| arm | construction | a-priori quality | +|---|---|---| +| `GEO-GOLDEN-HI` | Vogel lattice, N = F(17)² = 2 550 409, emergent pair at the index floor | **good** (operator-ruled) | +| `GEO-GOLDEN-LO` | Vogel lattice, N = F(10)² = 3 025, emergent pair F(9)/F(10) | **bad** — the sub-floor resonance zone | +| `GEO-TEMPERED` | coprime integer walk, modulus 17, stride 4 (`CurveRuler`) | **good at small q** (measured, #932) | +| `GEO-GRID` | regular square lattice, same budget | the naive baseline | + +**Budget is held EXACTLY equal across arms** (the W2s-a lesson: an unequal +budget silently advantages the arm with more samples — measured there as +64 vs 80, 256 vs 293). Each arm draws exactly `n` samples per box. + +### Axis B — CALIBRATION (how the 256 palette levels are placed) + +| arm | construction | absolute anchor? | dynamic? | +|---|---|---|---| +| `CAL-ABS-OWN` | 256 uniform levels over THIS box's own min/max | yes | no | +| `CAL-ABS-FOREIGN` | 256 uniform levels over a DIFFERENT regime's min/max | yes, **wrong one** | no | +| `CAL-RANK-DYN` | rank-normalised within the window, re-derived per box | **no** | **yes** | +| `CAL-FISHERZ-DYN` | Fisher-z on within-window ranks (the arc's analytic codebook) | **no** | **yes** | + +`CAL-ABS-FOREIGN` is the literal reading of "badly calibrated"; +`CAL-RANK-DYN` / `CAL-FISHERZ-DYN` are "badly calibrated in absolute terms +BUT dynamically mapping" — the operator's actual candidate. + +**Metric:** reconstruction RMSE in **Pa** (the physical unit, per the +`E-R²-IS-NEAR-BLIND` lesson — never R² alone), plus Spearman ρ of the +reconstructed vs true field, plus mean **bias** in Pa. + +--- + +## §3 BARS (pre-registered; commit before running; controls FIRST) + +- **C0 CONTROLS FIRST — and they must be able to LOSE.** Two controls per + cell, both through the identical pipeline: (i) `CAL-SHUFFLE` — the 256 + codebook levels randomly permuted (destroys the ordering the encoding + depends on); (ii) `GEO-DEGENERATE` — all samples drawn from one small + sub-patch instead of spread over the box. **Both must be WORSE than every + real arm in every regime.** If either matches a real arm anywhere, that + cell measures nothing and is reported VOID. *(The + `E-A-CONTROL-THAT-CANNOT-LOSE-IS-NO-CONTROL-1` lesson: a control that + cannot lose is as vacuous as a test that cannot fail — and, per W5, one + that cannot DIFFER is the same defect. Both controls are cheap-smoke- + tested for losability BEFORE the full run.)* +- **C1 REGIME LADDER HOLDS (anti-cherry-pick):** the `|∇p|` ordering + R1 < R2 < R3 < R4 must hold on **≥3 independent timesteps**, not just the + preflight's one. If the ladder inverts on any timestep, the regime axis + is not stable and every downstream cell is reported with that caveat. +- **C2 THE CROSSOVER — the operator's hypothesis, two-sided:** + `Δ = RMSE(CAL-RANK-DYN) − RMSE(CAL-ABS-OWN)` must be **> 0 in R1/R2 + (calm: dynamic loses) AND < 0 in R4 (storm: dynamic wins)** — a genuine + sign flip. **Both failure directions are reportable results, not + disappointments:** no flip = the hypothesis is refuted on this data and + says so; flip in the *opposite* direction = dynamic encoding is a + calm-regime tool, which would be a real and surprising finding. +- **C3 THE MISCALIBRATION PENALTY SHRINKS WITH TURBULENCE:** the ratio + `RMSE(CAL-ABS-FOREIGN) / RMSE(CAL-ABS-OWN)` must be **strictly smaller in + R4 than in R1** — the direct statement of "storms are more forgiving of + bad calibration." Reported with the ratio at every tier, so a monotone + trend (or its absence) is visible rather than inferred from two endpoints. +- **C4 GEOMETRY FLOOR BITES HERE (or it does not):** `GEO-GOLDEN-LO` must + be worse than `GEO-GOLDEN-HI` at equal budget. **Pre-registered honest + reading:** W5's B4 already found the floor to be a *safety margin, not a + mechanism* on a smoothing metric — so a NULL here is expected-plausible + and must be reported plainly, not buried. What would be genuinely + informative is the floor biting on a *sampling-fidelity* metric where it + did not bite on a *smoothing* one. +- **C5 THE COMFORT MATRIX (descriptive, the deliverable):** the full + `regime × (geometry × calibration)` RMSE table, plus each cell normalized + by its regime's best arm — so "where does this formula feel at home" is + read directly off the matrix rather than argued. + +--- + +## §4 OUTPUT CONTRACT (the artifact-completeness lesson) + +Per the repeated finding that a first artifact ships summaries and omits +the operands its headline rests on (W6's per-storm predictors; W5's +family-B histogram; the chat-only 99.38 %), the JSON **must** carry: + +- every cell's **raw** RMSE / bias / Spearman ρ, in Pa where dimensional +- the per-regime **codebook edges actually used** (so a miscalibration + claim is auditable without a re-fetch) +- the **measured** `|∇p|`, spd σ, elev σ and lsm per box per timestep +- the **sample count actually drawn** per arm (the equal-budget proof, not + the intent) +- **units on every dimensional field name**, per the `c_bow`-is-km⁻¹ lesson + +Checkpoint one JSONL row per `(regime, timestep)` with resume-skip; +tag-file heartbeat in `exec-runs/`. + +**Cost:** surface chunks only (`f"{t}.0.0"`, ~4 MB each). 4 regimes × 3 +timesteps × 3 variables ≈ 36 chunks ≈ **150 MB, a few minutes**. The +`land_sea_mask` / `geopotential_at_surface` statics are one chunk each, +already fetched in preflight. + +--- + +## §5 WHAT THIS PLAN DELIBERATELY DOES NOT CLAIM + +- **Not a verdict on any encoding's general superiority.** It maps comfort + zones on ONE variable (MSLP) over FOUR boxes. A comfort zone is a + measured local fact, not a ranking. +- **Not a physics claim about storms.** "Turbulence" here is operationalized + as `|∇p|` + speed σ. Whether that is the right proxy for the operator's + intended *velocity-differential* notion is itself open — an alternative + operationalization (local shear, `|∇ × v|`) is a named follow-up, not a + silent substitution. +- **Not a substitute for CT-F17.** Nothing here touches the directional + claim; it is a substrate-fidelity map, a different question entirely.