fix(lv-mccarthy): the axis C I froze is UNSATISFIABLE, so it never adjudicated anything
Arithmetic, not a re-reading of results. Criterion 1 needs the candidate's in-band rate to beat base's 0.89 by more than the 0.200 floor -- so it needs in_band > 1.09, and a rate cannot exceed 1. A PERFECT adapter, every one of 240 generations inside the 90-140 band, scores +0.11 and fails by 0.09. So "both candidates failed axis C" carries zero information about either candidate. That verdict was determined before a single generation existed. It is my error. The cause is specific: section 6 transcribed score_beats.py's v1 criteria, which the operator AMENDED on 2026-09-15 -- three weeks before this corpus was built -- for exactly this reason. Its own docstring: "NOT carried into v2: in-band (unresolvable -- base maxes it) and on-beat." The governing rule reverts to the operator's v2: axis C is ran-on only. That is the rule they ratified and the rule lv-hemingway shipped under. Reverting a transcription error to its source is not threshold-shopping; the source is older than the data. It does not rescue ckpt450 either. Under the corrected axis C its ran-on is +0.19 against a 0.200 floor -- a pass by 0.01, inside the noise the floor exists to describe, and not a pass worth shipping on an author in copyright with a living estate. AMENDMENT 3 therefore gates two more arms on the SAME frozen fixture, seeds and rule -- ckpt300 (epoch 0.65) and ckpt225 (epoch 0.49), both on disk because --save-total-limit 60 kept all 56 checkpoints -- since the damage grows monotonically with epoch and the voice may arrive before it does. And it sets the ship bar BEFORE those arms exist: voice clearing the pairwise floor on both reads, memorisation at or near the held-out author's 0.12 with every match read, and ran-on delta AT MOST 0.100 -- half the measured floor, not merely inside it, because a rate that clears a noise threshold by 5% of that threshold has not been shown to clear it. If nothing clears all three, lv-mccarthy is parked pending a retrain, and that is the report rather than a softer bar.
This commit is contained in:
@@ -352,3 +352,71 @@ only against the present case cannot tell a wrong measurement from a right one.*
|
||||
I never asked the quote counter for a value I already knew the answer to. The corpus asserts
|
||||
0.0. Reading 121.1 against a known 0.0 is what exposed it — and that check cost one line and
|
||||
was available before the gate ever launched.
|
||||
|
||||
---
|
||||
|
||||
## AMENDMENT 3 — 2026-09-21, §6 axis C is UNSATISFIABLE and therefore void
|
||||
|
||||
**This is arithmetic, not a re-reading of results.** Criterion 1 of §6 axis C, as frozen,
|
||||
requires the candidate's in-band rate to exceed the base control's by more than the metric's
|
||||
own floor. On this run:
|
||||
|
||||
```
|
||||
needs in_band(candidate) - 0.89 > 0.200
|
||||
i.e. in_band(candidate) > 1.09
|
||||
ceiling in_band(candidate) <= 1.00 a rate cannot exceed 1
|
||||
```
|
||||
|
||||
**A PERFECT adapter — every one of 240 generations inside the 90–140 band — scores +0.11
|
||||
against a floor of 0.200 and fails by 0.09.** No artifact can pass it. A criterion that no
|
||||
possible candidate can satisfy does not adjudicate anything, so "both candidates failed axis
|
||||
C" carries **zero information about either candidate**; that verdict was determined before a
|
||||
single generation existed.
|
||||
|
||||
This is my error and it has a specific cause: §6 transcribed `score_beats.py`'s **v1**
|
||||
criteria, which the operator **amended on 2026-09-15** — *before this corpus was built* —
|
||||
precisely because they gate on metrics the unadapted carrier already maxes:
|
||||
|
||||
> *"The defect in v1: it gated on metrics the UNADAPTED carrier already maxes. … Those three
|
||||
> axes can only detect DAMAGE that training does. … NOT carried into v2: in-band
|
||||
> (unresolvable — base maxes it) and on-beat."* — `score_beats.py`, operator-authorised
|
||||
> amendment, 2026-09-15
|
||||
|
||||
### The governing rule reverts to the operator's own v2
|
||||
|
||||
**Axis C is `ran-on` only**: the candidate's ran-on rate must not exceed the base control's
|
||||
by more than the metric's floor. That is the rule the operator ratified, the rule lv-hemingway
|
||||
shipped under, and it predates this gate by three weeks. Reverting a transcription error to its
|
||||
source is not threshold-shopping — the source is older than the data.
|
||||
|
||||
⚠ **But it does not rescue ckpt450 either, and the bar for that is set HERE, before the
|
||||
numbers that could clear it exist.** Under the corrected axis C, ckpt450's ran-on is +0.19
|
||||
against a floor of 0.200 — a pass by **0.01**, which is inside the noise the floor exists to
|
||||
describe. A marginal pass is not a pass worth shipping on an author in copyright with a living
|
||||
estate.
|
||||
|
||||
### AMENDMENT 3's added arms and its added bar
|
||||
|
||||
The damage grows monotonically with epoch (base 1% over-band → ckpt450 20% → ckpt900 28%), and
|
||||
`--save-total-limit 60` kept all 56 checkpoints. So two more arms are gated, **on the same
|
||||
frozen fixture, the same four seeds and the same rule** — adding candidates does not move a bar:
|
||||
|
||||
| arm | epoch | why |
|
||||
|---|---|---|
|
||||
| `ckpt300` | 0.652 | the damage may not have arrived yet; the voice may have |
|
||||
| `ckpt225` | 0.489 | the same question half an epoch earlier |
|
||||
|
||||
**A candidate ships from this gate only if ALL of the following hold. Fixed now, before either
|
||||
arm is generated:**
|
||||
|
||||
1. **Voice** — gap over base exceeds the pairwise floor on the PRIMARY read **and** on the
|
||||
normalised read (§5b, load-bearing per AMENDMENT 2).
|
||||
2. **Memorisation** — hit-rate and max at or near the **held-out-author reference** (0.12 /
|
||||
max 12), per AMENDMENT 1, with every matched run read.
|
||||
3. **Damage** — `ran-on` delta over base **at most 0.100**, i.e. **half the measured floor**.
|
||||
Not "inside the floor": half of it. This is the bright line ckpt450's +0.19 fails, chosen
|
||||
because a rate that clears a noise threshold by 5% of that threshold has not been shown to
|
||||
clear it at all.
|
||||
|
||||
If no candidate clears all three, lv-mccarthy is **parked pending a retrain**, and that is the
|
||||
report — not a softer bar.
|
||||
|
||||
Reference in New Issue
Block a user