docs(frank-dragoon): production boot ledger, worklog, retired-era ctx fix

Deploy verification for fcd7630 (22:20): healthy in ~12 s, e2e 33/33, and the
boot ledger settles the shape — 62.9 GiB weights locked (0.8 vision) + 7.2 GiB
KV in ONE 262,144-position pool (6,656 MiB, two slots) + 5.7 GiB working =
75.8 GiB in all, n-gram 47.68 GiB read from disk, prompt cache ON (12 entries),
MTP depth-2, no clamp line. Live probes: 27*59 -> 1593, tool call, red PNG ->
Red. The two KV figures are reconciled (engine preflight FORMULA 7.4 GiB
includes block scratch + per-slot O(1) state; the RESERVATION is 7.2).

Also corrects two stale claims: the retired swift15 rows named 200,192 ctx
(raised to 262,144 on 2026-10-07 inside that same era), and the OpenWebUI
frank-dragoon row's description is now re-keyed in the live DB (backup
webui.db.bak-20261017b).
This commit is contained in:
Frank committed 2026-10-17 22:23:59 -07:00
1 parent fcd763086f
commit 860386d283
4 files changed
+94 -2

No files matched your search

+58
View File
@@ -1896,3 +1896,61 @@ every restart since the cutover.
hardcoded, so retargeting at the mirror is a script edit); w4dn8 runbook
header corrected (was still "LIVE", never updated at retirement) and its
Rollback table rebuilt.
## 2026-10-17 — frank-dragoon cutover: native v2 abliterated payload, card's memory-saving pool
- Ask: move frank-dragoon to `Quat3rnion/halogen-qwen3.8-flash-next-v2-abliterated`
with the card's recommended settings, save memory, keep the n-gram table
disk-backed. Census first: the endpoint carries only the `slow` +
`security-reviewer` roles (the interactive workhorse is frank-archon), the
table was ALREADY disk-backed (`mapped 51.2 GB, NOT pinned (Pin::None)`), and
`HALOGEN_FLASH_PIN_TRUNK=0` is rejected by the v2 loader — so the only real
lever was the KV pool: 524,288 → the card's 262,144.
- **Filename trap caught before the fetch:** this repo name carried two
different artifacts. The writer-transplant era's file measured
66,687,678,464 B; the native 2026-10-11 conversion is 66,687,678,432 B —
32 bytes apart. Byte-exact gate + LFS sha256 `b5bd925f…` in
`scripts/download-frank-dragoon-v2abl.sh`, which also HARDLINKS the peonist
n-gram/vision/tokenizer trio (the release publishes only the main file; a
hardlink is a regular file, so the no-symlink serve gate passes without a
47.7 GiB copy).
- **Companion risk adjudicated by the engine, not by argument.** The card does
NOT establish the stock peonist companions as matched to a native conversion
and publishes no source-matched pair, so the A/B ran the checkpoint tools on a
stopped service under one knob set (`scripts/census-frank-dragoon.sh`):
`verify` OK, **NIAH 18/18 vs 17/18**, PPL 3.968 vs 3.877 (+2.3 % — the
finetune's edge is gone), KL vs the swift15 logits mean 0.155 / median 0.057
with top-1 85.1 % = two sound models disagreeing on content, not a corrupt
forward pass. Behavior battery (`scripts/battery-frank-dragoon.py`) on both
boots: refusals 0/5 both, tools/vision identical, needles hit at both depths,
decode 50.0 vs 46.8 t/s, cold prefill 1,604 vs 1,425 (+12.6 %), thinking
tokens 1,476 vs 784 (the finetune compressed reasoning ×1.9).
- Boot window run through a transient `FRANK_DRAGOON_ENV_FILE` drop-in — never
a scratch port (one iGPU, one server) — with the stop+mask law and a
trap-guarded restore (`scripts/trial-frank-dragoon.sh`). Masking fails on a
relinked unit file, as documented; stop alone was enough.
- Deployed at 22:20 (`fcd7630`, `--service frank-dragoon`): healthy in ~12 s,
e2e 33/33. Production ledger: 62.9 GiB weights locked (0.8 vision) + 7.2 GiB
KV (ONE 262,144-position pool, 6,656 MiB, two slots) + 5.7 GiB working =
**75.8 GiB in all**, no clamp line, n-gram 47.68 GiB read from disk, prompt
cache ON with 12 entries, MTP depth-2. The trial drop-in was moved to
`~/.AGENTTRASH/20261017-v2abl-trial/` before the deploy so the repo env
governs (`DropInPaths=` empty). Live probes: `27*59` → 1593, tool call
`{"city": "Seattle"}`, 512 px red PNG → Red (320 prompt tokens).
- Files moved: env (payload dir/checkpoint/bytes/sha256/pool + the measured
A/B in the header), serve script + deployer (paths, fetch hints), unit
`Description`, seam (`frank_dragoon_unit.bats`: pool law relaxed from
`pool == slots × ctx` to `ctx <= pool <= slots × ctx`, fetch-script name),
new runbook `frank-dragoon-flash-server-v2-native`, swift15 page re-banned
RETIRED, both indexes + AGENTS.md re-keyed, homepage card, `models.yml`
comment (numbers unchanged: window 217,088 / cap 45,056 — the per-REQUEST
ceiling did not move). OpenWebUI `frank-dragoon` row description re-keyed
(backup `webui.db.bak-20261017b`, no restart forced).
- Two stale claims fixed on the way: the retired-era rows said `200,192` ctx
(that ceiling was raised to 262,144 on 2026-10-07, inside the same era), and
the root index still called the halogen-27B page ACTIVE.
- Cost of the swap, stated plainly: two MAXIMUM-length conversations no longer
share the endpoint (one 262,144-position pool behind both slots), PPL +2.3 %,
thinking ×1.9. Bought: 7.4 GiB of RAM back as page cache for the table long
prompts read, +12.6 % cold prefill, retrieval 18/18, the base checkpoint
itself instead of the finetune.