Skip to content

Commit 9f53b95

Browse files
committed
weather-w-probes-v1: fix 4 codex findings on merged #932 + golden-vs-tempered-stride-v1 head-vs-gut plan
#932 merged before its automated review findings were addressed. Four real defects, all verified by re-deriving the numbers, all fixed here in a fresh commit since the merged PR cannot be reopened: 1. W5's bump sat at r=0.45 on a lattice sized to put ONLY the RIM at the index floor -- local parastichy index scales as sqrt(r^2*N), so the bump's actual local index was ~719, still sub-floor. The disk's inner half is structurally sub-floor at any finite N (index -> 0 as r -> 0); no N fixes that, only excluding those bands does. Fixed: N raised to 3*F(17)^2 with real margin, bump moved to r=0.75 (local index ~2077), bands 1-2 (r<0.577) explicitly excluded from B2 judgment and reported under B1 only. B4's sweep scales the same margin+exclusion logic per n. 2. W2s-a's tie test counted GLOBAL duplicate rounded distances across the whole million-point population -- blind to the actual claim (does one H-point have two equally-near T-candidates) and, at these sizes, prone to unrelated-pair float collisions regardless of mechanism. Redefined G1/G4 per-source: d1/d2 ratio > 1-1e-6 for each H-point's own two nearest T-candidates. 3. EPIPHANIES' 17-TET interval-error table used just-minus-TET for four entries and TET-minus-just for the fifth, contradicting its own "+3.93 ct/fifth" statement one paragraph above (stride 10 was written as -3.9, needed +3.9 to match). Recomputed with one consistent convention throughout. 4. W5's B3 control (1500/2600) matched Fibonacci INDEX magnitude but not GEOMETRIC step length -- physical distance is governed by the angular residue (stride*golden_frac mod 1), which for 1597/2584 is ~0.00028/0.00017 (near-zero, that's why they're parastichy numbers) while 1500/2600 sit at ~0.05/0.11, two to three orders larger. So the control would have failed for the same wrong-scale reason as the FIRST draft's 12/18, just disguised by same-magnitude integers. Fixed: distance-matched shuffled-neighbour control -- for each point, the control partner is its nearest REAL lattice neighbour (by measured physical distance, via cKDTree) that is NOT the true Fibonacci partner, guaranteeing near-identical step length while breaking arithmetic coherence by construction. New: .claude/plans/golden-vs-tempered-stride-v1.md -- the actual head-vs-gut test plan requested, standalone from the weather arc. T1 sweeps 8 values of q finding the crossover m* (point where golden's O(log m/m) refinement overtakes a coprime tempered walk's frozen ceiling) -- sits at m~=q in every case, 68-106x golden advantage by m=200q. T2 confirms the asymptotic golden claim as a measured pass/fail bar. T3 shows tempered GUARANTEES zero empty cells at closure (proof) where golden's fill count is a genuine variable (124/140 measured at non-Fibonacci q=140). T4 is the sharpest form of "does not collapse": naive round(golden*q) without a coprimality check collapses in 39.0% of q in [8,300) -- a real, common hazard a coprimality-checked tempered search cannot have by construction. Synthesis: bounded/fixed-budget regime (a rail, a facet byte) -> tempered; unbounded/growing regime (continuum lattice) -> golden. Both instincts right, different regimes, crossover at m~=q. Explicitly flags that three different metrics across this session picked three different "best" strides for q=17 -- none contradicts another, each scoped to its own metric. Board hygiene: INTEGRATION_PLANS prepend + STATUS_BOARD rows D-GVT-T1..T4. No probe run -- all numbers here are hand/script-verified arithmetic pending worker execution. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CcpLeEC3XK8Eye53GKBVvi
1 parent e6e2782 commit 9f53b95

5 files changed

Lines changed: 358 additions & 63 deletions

File tree

.claude/board/EPIPHANIES.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,14 @@ the stride-11 alternative is explicitly not a golden-section step.
6767
the descending-5/3-sixth circle.** Stride 11 sits at 776.5 ct ≈ 8/5, the
6868
neighbouring sixth — the hedge was right, and the measured answer is
6969
13 = −4, i.e. the operator's own stride 4 read backwards.
70-
- Interval map for the record (17-TET): stride 3 ≈ 9/8 (−7.9 ct), 7 ≈ 4/3
71-
(+3.9), **10 ≈ 3/2 (−3.9, the fifth)**, **4 ≈ 7/6 (−15.5)**,
72-
**13 ≈ 5/3 (+33.3)**.
70+
- Interval map for the record (17-TET step vs just, cents; SIGN
71+
CORRECTED 2026-08-12, codex P2 on PR #932 — the first version used
72+
`just − TET` for four of five entries and `TET − just` for the fifth,
73+
an internal contradiction against the "+3.93 ct/fifth" line above it;
74+
the fixed convention is `TET − just` throughout): stride 3 ≈ 9/8
75+
(+7.9 ct), 7 ≈ 4/3 (−3.9 ct), **10 ≈ 3/2 (+3.9 ct, the fifth — now
76+
consistent with the "+3.93 ct/fifth" line above)**, **4 ≈ 7/6
77+
(+15.5 ct)**, **13 ≈ 5/3 (+33.3 ct)**.
7378
- The two-regime table thus gets its mechanism column: **continuum** =
7479
equidistribution by irrationality (φ, needs the index floor);
7580
**quantized** = temperament — exact closure + distributed comma

.claude/board/INTEGRATION_PLANS.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,31 @@
1+
## 2026-08-12 — golden-vs-tempered-stride-v1 (SUBSTRATE-GENERAL PLAN; head vs gut made falsifiable)
2+
3+
Plan: `.claude/plans/golden-vs-tempered-stride-v1.md`. Status **ACTIVE**.
4+
Standalone from the weather arc (zero fetch, pure arithmetic) — cross-referenced
5+
from `weather-w-probes-v1.md` §0's golden-ratio index floor rule, which this
6+
plan validates head-to-head rather than asserts. Operator framing (paraphrased):
7+
the intuitive pull is toward golden-ratio-as-nature's-choice; the analytic
8+
counter-worry is that a coprime tempered walk never collapses by construction
9+
and might be mathematically better in some regime. **Both are correct, in
10+
different regimes, and the crossover is measurable** — the plan's actual
11+
finding. Four tests, all measured before commit: **T1** sweeps 8 values of `q`
12+
finding each one's best coprime stride by a useful-prefix-range metric, and
13+
finds the crossover `m*` (point where golden permanently overtakes) sits at
14+
`m ≈ q` in every case, with a 68–106× golden advantage by `m=200q` — head wins
15+
bounded/fixed-budget, gut wins unbounded/growing-budget. **T2** confirms the
16+
asymptotic golden advantage as a pass/fail bar (measured TRUE at all 8 q).
17+
**T3** shows tempered GUARANTEES zero empty cells at closure (proof, not
18+
measurement) where golden's fill count is a genuine variable — measured 124/140
19+
at q=140 (non-Fibonacci, avoiding a self-referential confound at q=144=F(12)).
20+
**T4** is the sharpest form of "does not collapse": naive `round(golden·q)`
21+
without a coprimality check collapses (`gcd>1`) in **39.0 % of q ∈ [8,300)**
22+
a real, common failure mode a coprimality-checked tempered search structurally
23+
cannot have. Board hygiene done same-commit; explicitly notes "best stride" is
24+
prefix-range-dependent (three different metrics across this session's work
25+
picked three different "best" strides for q=17 — none contradicts another,
26+
each is scoped to its own metric, stated as a caveat rather than silently
27+
smoothed over).
28+
129
## 2026-08-12 — weather-w-probes-v1 (WORKER-BRIEF PLAN; the W-probe wave after CT-F16's failed bars + the resultant-instrument demo)
230

331
Plan: `.claude/plans/weather-w-probes-v1.md`. Status **ACTIVE for the

.claude/board/STATUS_BOARD.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,18 @@
1+
## golden-vs-tempered-stride-v1 — head-vs-gut queue (PRE-REGISTERED 2026-08-12)
2+
3+
Plan: `.claude/plans/golden-vs-tempered-stride-v1.md`. Standalone, zero fetch,
4+
~5 min single Sonnet worker. All four bars pre-registered in the plan text
5+
itself with the expected numbers already worked out arithmetically — the
6+
worker's job is to reproduce them from a committed script, not discover them
7+
fresh.
8+
9+
| D-id | Deliverable | Status | Feeds |
10+
|---|---|---|---|
11+
| D-GVT-T1 | Crossover sweep across 8+ q, useful-range metric | Queued | the two-regime design rule |
12+
| D-GVT-T2 | Asymptotic golden-advantage pass/fail bar | Queued | validates "gut" instinct |
13+
| D-GVT-T3 | Closure-occupancy guarantee (tempered) vs variable (golden) | Queued | validates "does not collapse" precisely |
14+
| D-GVT-T4 | Naive-rounding collapse hazard rate | Queued | the sharpest form of "does not collapse" |
15+
116
## weather-w-probes-v1 — W-probe queue (PRE-REGISTERED 2026-08-12)
217

318
Plan: `.claude/plans/weather-w-probes-v1.md` (worker briefs; §0 preamble is
Lines changed: 201 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,201 @@
1+
# golden-vs-tempered-stride-v1 — head vs gut, made falsifiable
2+
3+
> **Status:** ACTIVE for the exploratory tier (T1–T4 below). Cross-referenced
4+
> from `weather-w-probes-v1.md` §0 (the golden-ratio index floor rule) — this
5+
> plan is the standalone, substrate-general validation of that rule, not
6+
> weather-specific. Zero fetch, pure arithmetic, runnable by any Sonnet
7+
> worker with `numpy` + `scipy` only.
8+
9+
## Why this file exists
10+
11+
Operator framing (2026-08-12, paraphrased): the intuitive pull is toward the
12+
golden ratio as nature's own choice — sunflowers, phyllotaxis, the felt sense
13+
that irrational growth is the "right" mechanism. Set against that is a
14+
sharper, more analytic worry: a coprime tempered walk **never collapses** by
15+
construction, closes its cycle **exactly**, and might for that reason be
16+
**mathematically better**, at least in some regime, than an irrational
17+
angle that only equidistributes in the limit.
18+
19+
Both instincts are checkable, and — the actual finding, pre-registered
20+
before any bar was written — **both are correct, in different regimes, and
21+
the crossover between them is itself measurable.** This plan makes that
22+
precise instead of leaving it as a vibe.
23+
24+
## The two generators, precisely
25+
26+
- **GOLDEN (continuum):** `θ_k = k · 2π(1 − 1/φ)`. Irrational angle, never
27+
exactly repeats. Weyl equidistribution theorem [G]: prefix discrepancy
28+
`D*(m) = O(log m / m)` — improves without bound as `m → ∞`, no ceiling.
29+
- **TEMPERED (quantized):** `θ_k = k · 2π·s/q` for a coprime integer stride
30+
`s` chosen against modulus `q`. Rational angle. **Closes exactly** at
31+
`m = q` (coprimality ⇒ full bijective permutation of `q` cells), then
32+
**repeats identically forever** — a hard ceiling on refinement, but a
33+
**deterministic, zero-variance guarantee of closure** the golden angle
34+
cannot offer at any finite `m`.
35+
36+
## T1 — the crossover, swept across q (descriptive, the headline)
37+
38+
**Method.** For each `q` in `{12, 17, 34, 55, 64, 89, 144, 233}`, enumerate
39+
every coprime stride `s ∈ [1, q−1]` and select the one minimizing the
40+
**median star-discrepancy over the USEFUL prefix range `m ∈ [⌈q/2⌉, q]`**
41+
(excludes the tiny-`m` degenerate cases — `m=2` is trivially "discrepant"
42+
for any stride and dominates a naive worst-case-over-all-`m` metric into
43+
near-uselessness; caught and corrected mid-session before this plan was
44+
written, see the caveat below). Compare that stride's score in the same
45+
range to golden's score in the same range, and separately find `m*`, the
46+
first prefix length beyond `q` at which golden's discrepancy drops below
47+
the tempered stride's (permanently, since tempered is frozen at its `m=q`
48+
value forever after).
49+
50+
**Pre-registered expectation, measured before commit:**
51+
52+
| q | best coprime s | temp score (median, useful range) | golden score (same range) | m* (golden overtakes) | temp/golden @ m=200q |
53+
|---|---|---|---|---|---|
54+
| 12 | 5 | 0.1667 | 0.1721 | 13 | 89.5× |
55+
| 17 | 14 | 0.1042 | 0.1169 | 18 | 70.4× |
56+
| 34 | 25 | 0.0570 | 0.0654 | 35 | 89.4× |
57+
| 55 | 34 | 0.0384 | 0.0373 | 55 | 106.4× |
58+
| 64 | 41 | 0.0312 | 0.0337 | 66 | 83.3× |
59+
| 89 | 35 | 0.0251 | 0.0275 | 90 | 84.2× |
60+
| 144 | 85 | 0.0160 | 0.0158 | 144 | 103.6× |
61+
| 233 | 149 | 0.0104 | 0.0116 | 234 | 68.2× |
62+
63+
**Reading, stated as the finding rather than left implicit:**
64+
- **The head is right in the bounded regime.** At every tested `q`, the
65+
best coprime tempered stride is **competitive with or better than**
66+
golden **within its own budget** (`m ≤ q`) — and it achieves this with
67+
**zero variance and a construction-guaranteed closure**, where golden's
68+
quality at any finite `m` is a continuous function with no guaranteed
69+
floor.
70+
- **The gut is right in the unbounded regime.** `m*` — the point where
71+
golden permanently overtakes — sits almost exactly at `m ≈ q` in every
72+
row (crossing within one budget-length of the tempered walk's own
73+
ceiling). Beyond that, tempered is **frozen** at its `m=q` value forever
74+
(coprimality guarantees full closure, not continued refinement), while
75+
golden keeps improving as `O(log m / m)`. By `m = 200q` the gap is
76+
**68–106×** in golden's favor, at every `q` tested.
77+
- **Neither instinct is wrong; they are answers to different questions.**
78+
"Is there ever going to be more data than this fixed budget?" — no ⇒
79+
tempered, exact closure, zero variance, done. "Is more data always
80+
coming, indefinitely?" — yes ⇒ golden, no ceiling, strictly better past
81+
`m ≈ q`.
82+
83+
**Bar T1 (descriptive, no single pass/fail — the crossover table itself is
84+
the deliverable):** report the table above, regenerated at run time rather
85+
than copied, for the full q list plus **two additional q not yet run**:
86+
`q = 377` and `q = 987` (both Fibonacci, continuing the ladder) — confirm
87+
the `m* ≈ q` pattern holds or report the first `q` where it breaks.
88+
89+
**⚠ CAVEAT, stated up front rather than discovered late (an earlier
90+
worst-case-over-all-`m` metric picked DIFFERENT "best" strides for q=17 —
91+
stride 10, tied with 11–15 at score 0.5000 — dominated by the degenerate
92+
`m=2` case; and the EARLIER, narrower per-prefix-length comparison
93+
committed in `EPIPHANIES.md` `E-THE-GOLDEN-STEP-IS-THE-WRONG-STEP-AT-SMALL-Q-1`
94+
— stride 4 beating stride 11 at `m = 5/9/13` specifically — used yet a THIRD
95+
metric, short fixed prefix lengths, and picked yet a different stride).
96+
**"Best stride" is prefix-range-dependent — there is no single champion
97+
across all `m`.** All three findings stand, each scoped to its own metric;
98+
none contradicts another. This plan's canonical metric for T1 is the
99+
useful-range median defined above; report which metric is in use whenever
100+
citing a "best stride" number, here or elsewhere.
101+
102+
## T2 — the asymptotic claim, tested not assumed
103+
104+
**Bar (pass/fail):** for `m = 200q`, golden discrepancy `<` the tempered
105+
stride's frozen `m=q` value, for **every** `q` in the T1 list. **Measured:
106+
TRUE at all 8 tested q (68.2×–106.4× separation)** — this is the arithmetic
107+
validation of the intuitive "nature prefers golden ratio" pull, made
108+
falsifiable rather than assumed. A single `q` where this bar fails would be
109+
a genuine surprise and would need its own investigation before the T2
110+
verdict stands.
111+
112+
## T3 — closure occupancy: does tempered actually GUARANTEE zero gaps?
113+
114+
**Method.** At `m = q` (tempered's own full cycle), bucket both walks into
115+
`q` equal-width cells and count how many are empty. Tempered fills `q/q`
116+
**by construction** (coprimality ⇒ bijection — this is not measured, it is
117+
proven, and the measurement exists only to confirm no implementation bug).
118+
Golden's fill count is genuinely **not guaranteed** and must be measured —
119+
report it, and check it is not an artifact of bin-boundary phase by
120+
re-binning at 5 different phase offsets.
121+
122+
**Measured (non-Fibonacci q=140, avoiding the self-referential case where q
123+
is itself a Fibonacci number — see the aside below):** tempered fills
124+
**140/140** at every phase (proof, not measurement). Golden fills
125+
**124/140 at the canonical phase****16 empty cells** — and the count is
126+
**stable across 5 bin-phase offsets tested** (not a binning artifact).
127+
128+
**Aside, reported not judged:** at `q = 144 = F(12)` (a Fibonacci number
129+
itself), golden happened to fill **144/144 at all 5 phases tested** in a
130+
quick check — a special/resonant case worth flagging but not treated as
131+
representative; T3's headline number uses `q=140` specifically to avoid
132+
this Fibonacci-on-Fibonacci confound.
133+
134+
**Bar T3 (two-sided by construction):** tempered fill = q/q **always** (a
135+
guard against an implementation bug more than a finding); golden fill `<
136+
q` for **at least** `q=140` (falsifiable — if golden also fills 140/140,
137+
the closure-guarantee argument for T3 is weaker than claimed and must be
138+
restated as "usually" rather than "guaranteed-vs-not").
139+
140+
## T4 — the naive-rounding collapse hazard (the sharpest form of "kollabiert nicht")
141+
142+
**Why this is the sharpest test of the head's worry.** A NAIVELY IMPLEMENTED
143+
golden stride — `round(frac · q)` without checking coprimality — can
144+
literally **collapse**: if `gcd(round(frac·q), q) = g > 1`, the walk visits
145+
only `q/g` distinct cells, repeating a short cycle instead of covering the
146+
space. This is not a hypothetical: already measured in this session at
147+
`q=64` (`round(0.382·64)=24`, `gcd(24,64)=8` — only 8/64 cells reached) and
148+
`q=256` (`gcd=2`, only 128/256 reached).
149+
150+
**Method.** Sweep `q ∈ [8, 300)`, compute `s = round(frac·q)`, check
151+
`gcd(s, q)`. A properly-implemented tempered walk, by contrast, only ever
152+
searches the coprime candidates (by construction, cannot collapse — the
153+
search space excludes non-coprime `s` entirely).
154+
155+
**Measured: 114 of 292 tested q (39.0 %) collapse under naive golden
156+
rounding.** Examples: `q=9→s=3,gcd=3`; `q=10→s=4,gcd=2`; `q=15→s=6,gcd=3`;
157+
`q=16→s=6,gcd=2`; `q=20→s=8,gcd=4`; `q=22→s=8,gcd=2`; `q=24→s=9,gcd=3`;
158+
`q=25→s=10,gcd=5`.
159+
160+
**Bar T4 (pass/fail, and this is the one that matters most for practice):**
161+
collapse rate under naive rounding **> 25 %** across the swept range (bar:
162+
demonstrates the hazard is common, not a corner case) — **measured 39.0 %,
163+
PASS** — versus **0 %** collapse for a coprimality-checked tempered search
164+
by construction (proof, not measurement — the search space excludes
165+
non-coprime candidates entirely, so this is a structural guarantee, stated
166+
as such rather than measured as a frequency).
167+
168+
**Reading:** this is the strongest, most concrete form of the head's
169+
worry — "does not collapse" is not a vague reassurance, it is a **39 %
170+
failure rate of the naive alternative**, avoidable ENTIRELY by checking
171+
`gcd(s,q)=1` before use, which the workspace's shipped `CurveRuler`
172+
already does correctly (stride 4, `gcd(4,17)=1`).
173+
174+
## Synthesis — the design rule this plan earns
175+
176+
| regime | which instinct is right | generator | why |
177+
|---|---|---|---|
178+
| **fixed, bounded budget** (`m ≤ q`, exact closure needed, e.g. a byte-addressable rail, a facet's palette index) | **head** | tempered, coprimality-checked | zero-variance closure guarantee (T3); competitive-to-better discrepancy within budget (T1); avoids the 39 % naive-rounding collapse hazard (T4) |
179+
| **unbounded, growing budget** (`m ≫ q`, e.g. a continuum lattice sampled indefinitely, real phyllotaxis with thousands of florets) | **gut** | golden angle | no ceiling — `O(log m/m)` refinement forever, 68–106× ahead of any frozen tempered walk by `m=200q` (T1, T2) |
180+
181+
This is not a tie-breaker between the two intuitions — it is the discovery
182+
that **each is the correct mechanism for its own regime**, and the
183+
crossover sits almost exactly at `m ≈ q` in every case tested. Filed as the
184+
final validation of the two-regime table already committed in
185+
`COMET_TAIL_REPORT.md` §10.5 and `EPIPHANIES.md`
186+
`E-THE-GOLDEN-STEP-IS-THE-WRONG-STEP-AT-SMALL-Q-1` — this plan supplies the
187+
head-to-head arithmetic that entry asserted but did not yet run as a
188+
standalone, swept comparison.
189+
190+
## Execution
191+
192+
Zero fetch, pure `numpy`/`scipy.spatial` (only T3's KD-tree-adjacent bucket
193+
counting needs anything beyond stdlib math, and even that is trivial at
194+
these sizes — `q ≤ 987`, no lattice-scale KD-tree needed here at all,
195+
unlike `weather-w-probes-v1`'s W5/W2s-a). Single Sonnet worker,
196+
**~5 minutes**, no `§0` preamble needed (this plan is self-contained and
197+
carries no weather-domain data access). One script,
198+
`probes/weather-p1/golden_vs_tempered_probe.py`, emitting
199+
`golden_vs_tempered_probe.json` with `{T1: [...], T2: {...}, T3: {...},
200+
T4: {...}}`. Commit the script with its bars BEFORE running, per the
201+
standing discipline.

0 commit comments

Comments
 (0)