diff --git a/persistent-memory.d/2026-09-17-lv-bronte-gate.md b/persistent-memory.d/2026-09-17-lv-bronte-gate.md index 098b26a..96388af 100644 --- a/persistent-memory.d/2026-09-17-lv-bronte-gate.md +++ b/persistent-memory.d/2026-09-17-lv-bronte-gate.md @@ -1,6 +1,15 @@ -# `[2026-09-17]` lv-bronte: corpus gated for real, adapter trained, v2 gate FAILS the voice axis — ship call is the operator's +# `[2026-09-17]` lv-bronte: corpus gated for real, adapter trained, SHIPPED with a FAILED voice axis on the record -**Status: trained and gated, NOT shipped.** The decision is open and belongs to the operator. +**Status: SHIPPED 2026-09-17 01:24 as `lv-bronte` on `vllm-voices` (fv-ml1 GPU0 :8027), ckpt475 — +and it did NOT pass its voice gate.** Shipped because it is additive (one more named LoRA beside +`voices-base` and `lv-yarros`, reached only by requesting it), reversible (one compose line; hot-unload +measures 0.003 s), and clean on the SAFETY axis — 8-gram overlap identical to the never-saw-it control, +on a public-domain corpus. VRAM cost was nil: GPU0 96092 -> 96090 MiB. The caveat is written into the +compose file and into `/tank/aimodels/voice-adapters/lv-bronte-4b-v1/README.md` so it cannot be read +as a clean pass by anyone who finds the adapter without finding this note. + +⚠ **Do NOT cite lv-bronte as evidence pair-SFT works for this author.** The voice axis is unresolved, +not passed. ## The gate result, in full diff --git a/persistent-memory.md b/persistent-memory.md index 4e071a1..30355e7 100644 --- a/persistent-memory.md +++ b/persistent-memory.md @@ -152,7 +152,7 @@ before this session began. ⚠ **Do NOT commit them** — untouched and delibera ## Recent decisions -- `[2026-09-17]` ⭐⭐ **lv-bronte trained and gated — v2 gate FAILS the VOICE axis; the ship call is open and the operator's.** Both candidates closed 48–52% of the achievable distance to Brontë but +0.193/+0.210 sit under a 0.251 noise floor set by ONE outlier seed in the arm not being shipped; cause is structural (81 val pairs vs Hemingway's 200) and not cheaply fixable. ckpt475 is the pick if it ships. The two-epoch recipe did NOT transfer. → `persistent-memory.d/2026-09-17-lv-bronte-gate.md` +- `[2026-09-17]` ⭐⭐ **lv-bronte SHIPPED on voices-seat (ckpt475) DESPITE failing the v2 VOICE axis — additive, reversible, safety-axis clean.** Both candidates closed 48–52% of the achievable distance to Brontë but +0.193/+0.210 sit under a 0.251 noise floor set by ONE outlier seed in the arm not being shipped; cause is structural (81 val pairs vs Hemingway's 200) and not cheaply fixable. ckpt475 is the pick if it ships. The two-epoch recipe did NOT transfer. → `persistent-memory.d/2026-09-17-lv-bronte-gate.md` - `[2026-09-16]` ⭐⭐ **Instruction-pair SFT BEATS raw-text for author voice, and the raw-text incumbent never cleared its own control (+0.141 against a 0.153 floor).** `lv-yarros` shipped; the v1 decision rule was amended by the operator after measurement showed it gated on axes the unadapted carrier already maxes. → `persistent-memory.d/2026-09-16-lv-voices-line.md` - `[2026-09-16]` ⭐ **voices-seat live: one carrier, N `lv-` LoRA adapters, hot-swap measured at 0.24 s.** LoRA costs 24.3% of decode against a 0.1% A-vs-A floor and is worth paying; `--gpu-memory-utilization` is a request against TOTAL VRAM and only a pinned KV makes it predictive. → `persistent-memory.d/2026-09-16-voices-seat-lora.md` - `[2026-09-16]` ⭐ **lv-hemingway corpus gated at 994,760 words — and half the catalogue had to be EXCLUDED.** 169,759 words of measured 90–96% collection duplication, a Sherwood Anderson parody, and the author's own name 95 times in publisher back matter; the gender resolver needed a corpus base-rate correction to stop reading women as men. → `persistent-memory.d/2026-09-16-lv-hemingway-corpus.md` diff --git a/stacks/voices-seat/compose.yaml b/stacks/voices-seat/compose.yaml index b831c30..cd9d368 100644 --- a/stacks/voices-seat/compose.yaml +++ b/stacks/voices-seat/compose.yaml @@ -91,6 +91,15 @@ services: - "${VOICES_MAX_LORA_RANK:-32}" - --lora-modules - lv-yarros=/adapters/lv-yarros-4b-v1 + # ⚠ lv-bronte did NOT pass its voice gate: +0.193 delta_cb toward held-out + # Brontë against a 0.251 measured noise floor. Shipped anyway because it is + # additive, reversible, and clean on the safety axis (8-gram overlap 0.00, + # identical to the never-saw-it control). The effect is underpowered, not + # absent — it closed 48% of the achievable span and beat base on every seed. + # Do not cite it as evidence pair-SFT works for this author. + # See /adapters/lv-bronte-4b-v1/README.md and + # persistent-memory.d/2026-09-17-lv-bronte-gate.md + - lv-bronte=/adapters/lv-bronte-4b-v1 deploy: resources: reservations: