|
| 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