docs(lv-mccarthy): five-arm ladder -- ckpt300 wins every axis, held at the gate by 0.02

1,200 generations across five arms. ckpt300 (epoch 0.652) is the best arm in the
run on every axis that resolves:

  VOICE          +0.177 at 3.2x its pairwise floor (primary), +0.128 at 2.8x with
                 every punctuation mark stripped. Best point estimate AND best
                 margin of any arm, spread 0.055/0.038 with no outlier seed.
  MEMORISATION   0.12 against real unseen McCarthy's own 0.12 -- identical -- with
                 a longest match of 10 words against the author's coincidental 12.
                 All 31 matches read: stock grammar, names are the renamed
                 inventions, nothing protectable.
  DAMAGE         ran-on +0.12. Clears the operator's ratified v2 floor of 0.200 by
                 40%. FAILS AMENDMENT 3's self-imposed 0.100 bar by 0.02.

NOT SHIPPED, and the reason is the bar rather than the adapter. AMENDMENT 3 fixed
ran-on <= 0.100 before either new arm existed, precisely so a marginal number could
not be talked into a ship, and shipping at 0.12 would make that pre-registration
theatre. But the bar's stated rationale was written against ckpt450's pass by 0.01
-- 5% of the threshold -- and ckpt300 clears by 40%. The number excludes a candidate
the reasoning does not. That is an operator call.

ckpt325/350/375 are on disk and one may sit under 0.100. They were deliberately NOT
gated: searching the checkpoint space until something clears is candidate-shopping,
the same family as threshold-shopping approached from the other side.

THREE CLAIMS FROM EARLIER THIS SESSION ARE REFUTED and are corrected in the record:

  1. "The damage is flat across epochs and only rotates direction" -- FALSE. ran-on
     is non-monotonic (0.38 -> 0.13 -> 0.20 -> 0.28 across epochs 0.49/0.65/0.98/
     1.96) with a real minimum near 0.65, and ckpt225 is 48% out-of-band against
     ckpt300's 35%.
  2. "ckpt300 runs far too short, ckpt225 will clear ran-on by being short" -- FALSE
     on both. ckpt225 runs LONG (median 127, 38% over-band) and is the worst arm in
     the run. I generalised from SIX generations of one arm, which is the exact n=1
     violation the measurement-discipline rule names, committed in the same breath
     as a note about being careful.
  3. The original "gate an earlier checkpoint, the overshoot may not have arrived
     yet" recommendation was RIGHT. Retracting it an hour later on a three-arm read
     was the error, not the recommendation.

What is true and unresolved by any checkpoint choice: 35% of ckpt300's generations
miss the 90-140 band against base's 11%, and in-band is 0.65 against 0.89. An
adapter that buys a voice and costs a third of the length compliance is a trade, not
a defect -- but it is the operator's trade to accept.

Raw artifacts for all five arms at scripts/mccarthy-corpus/gate-results/.
This commit is contained in:
Vuong Hoang
2026-09-21 17:53:43 -07:00
parent 3de4d2dfaf
commit e8eb1594d9
13 changed files with 329 additions and 18 deletions
@@ -215,3 +215,90 @@ the voice transferred and the memorisation is the cleanest in the line.
Related: [[2026-09-17-lv-hemingway-gate]], [[2026-09-17-lv-bronte-gate]],
[[2026-09-17-mccarthy-d1-d3]], [[2026-09-17-mccarthy-split-name-leak]].
---
# AMENDMENT-3 ROUND: five arms, and ckpt300 wins every axis — held at the gate by 0.02
Two more arms gated after the frozen axis C was proven **unsatisfiable** (a perfect adapter
fails it by 0.09 — see `GATE-PREREG.md` AMENDMENT 3). Same fixture, same four seeds, same rule.
**1,200 generations total.**
## The complete ladder
| arm | epoch | VOICE primary | VOICE normalised | MEMORISATION (author = 0.12 / max 12) | ran-on Δ | in-band |
|---|---|---|---|---|---|---|
| **ckpt300** | 0.652 | **+0.177, 3.2×** | **+0.128, 2.8×** | **0.12 / 1.0 / max 10** | **+0.12** | 0.65 |
| ckpt225 | 0.489 | +0.176, 1.8× | +0.122, 1.5× | 0.12 / 1.0 / max 10 | +0.37 | 0.52 |
| ckpt450 | 0.980 | +0.152, 2.9× | +0.114, 2.5× | 0.12 / 1.1 / max 11 | +0.19 | 0.67 |
| ckpt900 | 1.958 | +0.172, 1.2× | +0.124, 1.2× | 0.22 / 1.9 / max 11 | +0.27 | 0.67 |
| base | — | — | — | 0.00 / 0.0 / max 8 | — | 0.89 |
```
length distribution, raw generations
arm n median p10 p90 max in-band under90 over140 TOTAL out
base 240 110 89 126 149 0.89 10% 1% 11%
ckpt225 240 127 89 206 296 0.52 10% 38% 48%
ckpt300 240 101 83 151 216 0.65 22% 13% 35%
ckpt450 240 107 87 171 297 0.67 14% 20% 33%
ckpt900 240 114 92 190 279 0.67 5% 28% 33%
```
⭐⭐ **ckpt300 is the best arm in the run on every axis that resolves.** Best voice point
estimate AND best margin on both reads, tightest spread of any adapted arm bar ckpt450
(0.055 / 0.038, no outlier seed), memorisation **identical to real unseen McCarthy** with a
max of 10 against the author's coincidental 12, and the **least overshoot of any checkpoint**.
Its 31 matched runs were all read: `looked at the wolf and he looked at the boy`, `took off
his hat and set it on the`, `and wiped his mouth on the back of his`. Name-shaped hits are
`Adam Caleb` / `Colton` — the renamed inventions. Nothing protectable.
## ⚠ THREE CLAIMS I MADE EARLIER THAT THE FIVE-ARM DATA REFUTES
1. **"The damage is flat across epochs and only rotates direction."** FALSE. ckpt225 is 48%
out-of-band against ckpt300's 35%, and ran-on is **non-monotonic**: 0.38 → 0.13 → 0.20 →
0.28 across epochs 0.49 → 0.65 → 0.98 → 1.96. There is a genuine minimum near epoch 0.65.
2. **"ckpt300 is coming out far too SHORT, and ckpt225 will clear ran-on by being short."**
FALSE on both. ⚠ **I generalised from SIX generations of one arm** — the exact n=1 violation
the measurement-discipline rule names, committed while writing a note about being careful.
ckpt225 runs **long** (median 127, 38% over-band) and is the worst arm in the run.
3. **My own option A — "gate an earlier checkpoint, the overshoot may not have arrived yet" —
was RIGHT, and I retracted it an hour later on a three-arm read.** ckpt300 has the best
voice *and* the least damage. The retraction was the error, not the recommendation.
## The gate's verdict on ckpt300, stated exactly
```
1. VOICE +0.177 at 3.2x floor (primary), +0.128 at 2.8x (normalised) PASS
2. MEMORISATION 0.12 vs the author's own 0.12, max 10 vs the author's 12 PASS
3. DAMAGE ran-on delta +0.12
vs the operator's ratified v2 floor 0.200 -> PASS, 40% headroom
vs AMENDMENT 3's self-imposed bar 0.100 -> FAIL by 0.02
```
**NOT SHIPPED, and the reason is the bar rather than the adapter.** AMENDMENT 3 fixed
`ran-on ≤ 0.100` before either new arm existed, specifically so a marginal number could not be
talked into a ship. ckpt300 is 0.12. Shipping it on my own authority would make the
pre-registration theatre.
⚠ **But the bar's stated RATIONALE does not describe this candidate.** It was written against
ckpt450's `+0.19 vs 0.200` — a pass by **0.01**, i.e. 5% of the threshold — and the sentence
justifying it says exactly that. ckpt300 clears the operator's threshold by **40%**. The bar's
*number* excludes a candidate its *reasoning* does not. That is an operator call, not mine.
⚠⚠ **AND I DID NOT GO LOOKING FOR A CHECKPOINT UNDER 0.100.** ckpt325/350/375 are all on disk
and one of them may well sit below the bar. Searching the checkpoint space until something
clears is **candidate-shopping** — the same family as threshold-shopping, arrived at from the
other side. The measuring stopped here deliberately.
## What is actually true about this adapter
The voice transferred, ~3/4 of the gain survives stripping every punctuation mark, and the
memorisation is indistinguishable from the author's own self-collision rate on a corpus in
copyright with a living estate. **The cost is real and unresolved by any checkpoint choice:
35% of generations miss the 90–140 band against base's 11%, and in-band is 0.65 against 0.89.**
An adapter that buys a voice and costs a third of your length compliance is a trade, not a
defect — but it is the operator's trade to accept.
**Recommendation: ship ckpt300.** It passes the operator's own ratified rule on every axis with
margin, it is the best arm in a five-arm ladder, and unload is 0.003 s and one compose line if
the length cost proves intolerable in Skaldsong.