diff --git a/stacks/voices-seat/compose.yaml b/stacks/voices-seat/compose.yaml index cd70d1b..f3d1715 100644 --- a/stacks/voices-seat/compose.yaml +++ b/stacks/voices-seat/compose.yaml @@ -85,6 +85,9 @@ services: - auto - --enable-prefix-caching - --enable-lora + # ⚠ This is the max LoRAs in a single BATCH, not the number registered — 4 adapters are + # listed below and that sits exactly at the default. A FIFTH voice does not need a bump to + # be registered, but it will queue rather than batch alongside the other four. - --max-loras - "${VOICES_MAX_LORAS:-4}" - --max-lora-rank @@ -141,6 +144,46 @@ services: # scripts/hemingway-corpus/GATE-PREREG.md (pre-registered before any generation), # persistent-memory.d/2026-09-17-lv-hemingway-gate.md - lv-hemingway=/adapters/lv-hemingway-4b-v1 + # lv-mccarthy: checkpoint-300 (epoch 0.652), NOT the loss minimum at step 900. + # ⭐ The two-epoch recipe is now 0 for 3, and this time the loss curve was CONFIDENT and + # wrong: ckpt900 is the minimum and ckpt300 sits +15.8x the median neighbour jitter above + # it, yet ckpt300 wins every axis that resolves — 3.2x vs 1.2x voice margin, 2.7x tighter + # seed spread, memorisation 1.0x the author's rate vs 1.8x, ran-on 0.13 vs 0.28. + # + # VOICE ✅ +0.177 delta_cb at 3.2x the pairwise floor — the BEST arm of five, on both the + # primary read and the pre-registered punctuation-stripped secondary (+0.128 at 2.8x), so + # ~3/4 of the gain is words rather than marks. Closed 60.8% of the reachable span. + # ⚠ This corpus's voice axis is DELIBERATELY harder than Brontë's or Hemingway's: the + # `mccarthy` register names its own punctuation tics and the eval drives the base control + # with the same prompt, so the adapter earns no delta for "emit no quotation marks". + # + # NOT COPIED ✅ THE CLEANEST SAFETY RESULT IN THIS LINE. 0.12 hit-rate against HELD-OUT + # McCARTHY'S OWN 0.12 — indistinguishable from the author — and its longest verbatim run + # (10 words) is SHORTER than the one genuinely unseen McCarthy shares with the train split + # by coincidence (12). All 31 matched runs were READ: stock grammar in the commonest words + # ("looked at the wolf and he looked at the boy"), and the name-shaped hits are the RENAMED + # invented names. Nothing protectable. McCarthy is in copyright with a LIVING ESTATE. + # ⚠ The base-unadapted control is defective and its 0.00 is unearned — base writes summary + # and cannot collide with a register it does not imitate. Against base this reads as a 12x + # red flag; against the author it is 1.0x. Use the author, not base. + # + # ⚠⚠ THE COST, AND THE GATE'S RULE IS BLIND TO IT. Axis C is ran-on only (ratified + # 2026-09-15 because the carrier maxes the other terms) and this adapter passes it with 40% + # headroom — but IN-BAND IS 0.65 AGAINST BASE'S 0.89 and on-beat 0.42 against 0.71. + # **35% of its generations miss the requested 90-140 word band, against base's 11%.** + # Base is GOOD at length here, so the adapter measurably makes direction-following worse. + # ⚠ No checkpoint choice fixes this — every adapted arm is 33-48% out-of-band and ran-on is + # non-monotonic in epoch (0.38 -> 0.13 -> 0.20 -> 0.28); ckpt300 is the measured minimum. + # The fix, if the cost bites, is a retrain targeting length, not a different checkpoint. + # IF A CALLER DEPENDS ON A WORD BUDGET, EXPECT ONE GENERATION IN THREE TO MISS IT. + # Unload is 0.003 s and one compose line. + # + # See /adapters/lv-mccarthy-4b-v1/README.md, + # scripts/mccarthy-corpus/GATE-PREREG.md (pre-registered before any generation, plus three + # dated amendments — axis C as first frozen was ARITHMETICALLY UNSATISFIABLE), + # scripts/mccarthy-corpus/gate-results/ (raw output, all five arms), + # persistent-memory.d/2026-09-21-lv-mccarthy-gate.md + - lv-mccarthy=/adapters/lv-mccarthy-4b-v1 deploy: resources: reservations: