Files
serverAppConfigs/serverAppConfigs-docs/LLM/swift15-campaign-worklog.md
T
Frank a5fe045b58 docs(vault): one fact, one owner — repair the doubled pages, single-source the facts
Structural repair:
- 13 pages were the same document twice (each exactly 2x its HEAD size),
  a second frontmatter block whose closing fence had been glued onto a body
  line by a frontmatter rewrite that re-read its own output. Un-doubled by
  cutting at the second frontmatter and keeping the copy whose body is a
  superset; the orphan census reports 0 lost tokens against HEAD.
- log.md: one entry per date, bare `## YYYY-MM-DD` headings, newest first —
  66 dated headings merged into 34, titles demoted to bold leads, every
  content line verified present. The file had been descending at the head
  and ascending at the tail.

Ownership moves:
- New `LLM/frank-medium.md` is the locator for the retired Dankserver
  endpoint: era windows quoted from each era page's own banner, no numbers
  restated, and the two unresolved date conflicts recorded instead of
  silently resolved. `frank-archon.md` links to it instead of restating the
  pre-rename window.
- The four Pipeline-Parallelism stubs (frontmatter only, no body) are gone;
  `Multi-Node Runtimes.md` owns runtime construction, launch, mixed-vendor
  verdicts and cross-split spec decode, and the four links that pointed at
  the stubs were repointed at it or at the drafter page.
- Authentik's three stub pages fold into `Authentik.md`, with the process
  detail and the outpost reference split out so the parent stays under the
  length hint.

Verified corrections (host census + live probe, 2026-10-19):
- The MXFP4 checkpoint two pages called the "on-disk rollback" is gone:
  /home/dank/models/ holds StillDeadcode, rad and tpl.jinja. Stated once, on
  the era page that owns that payload; the swap page now links to it.
- frank-medium-radiance-mxfp4: the 4.24/7 accept rate belongs to the DFlash2
  arm measured on the FP8 target, not to the MXFP4 era; the 3-family soak run
  census is kept once (155 requests) instead of twice (~120 and 155).
- Fleet shapes re-confirmed against the live endpoints before touching any
  page: 3x200000 fp8 KV, 2x200704, 2x262144.

Index rows are regenerated, not hand-carved. Net -1,849 vault lines.
2026-10-19 05:00:43 -07:00

4.4 KiB
Raw Blame History

type, title, description, tags, timestamp
type title description tags timestamp
reference Swift1.5 Campaign Worklog Dated worklog of the campaign that converted and served a Swift checkpoint on the radiance endpoint, arm by arm.
llm
campaign
2026-10-19

Swift1.5 w4dn8 Campaign — Work Log

Campaign branch swift15-radiance-w4dn8. Goal: convert ukisai/Swift1.5-Qwen3.8-Flash-Next (BF16, 335.3 GiB) to qwen4exp-swift15-w4dn8-i8-hc8m.rad (GPTQ gate_up w4nl64 + block-fp8 down + 10 protected bf16 experts + int8 trunk + fixed-scale PLE) and swap it into frank-archon on the 1.0.13 pin. Design settled (25-question grill); this log carries execution facts only. The cutover runbook frank-archon-radiance-swift15-w4dn8.md replaces this page at cutover.

2026-10-06 evening

  • Purge freed 835.8 GB; Swift1.5 BF16 downloaded 131/131 shards (sha256 ok).
  • Corpora built: calib 10,014,932 tok / 1,294 prompts; KLD 1,800,816 tok / 197 prompts (/home/dank/corpora/out/).
  • Engine verdict: 1.2.0 REJECTED for serving (decode 29.21 vs control 30.08, accept 0.7123 vs 0.7549 deterministic; vram-pair translation ledger-exact). Serving pin stays 1.0.13 sha256:4c3f48…c322e.
  • bf16 rad-convert done: /home/dank/models/rad/qwen4exp-swift15-bf16.rad (335.28 GiB, 248,077 vocab tokens baked).
  • Blocker resolved — engine-version probe law: the calibration tap lives in the architecture plugin /opt/radiance/share/radiance/architectures/ qwen4exp_fp8.so, NOT the radiance binary, and the image has no strings(1) (greps return 0 for everything — positive controls mandatory). 1.0.13 plugin: RADIANCE_CALIB_DIR only; 1.2.0 adds RADIANCE_CALIB_TOKENS. Both libquant.so carry the gptq quantizer (calib=/damp/act_order/cd) and the identical RADGRAM2 format (magic + gram.r%d.%s.bin + calib_gram/calib_resolve/calib_stem). Decision: calibrate on 1.2.0, final convert on 1.0.13 — the serving pin produces the served .rad; only the Gram files cross versions.
  • run-swift15-bf16.sh boot-failure trail (all fixed, committed): duplicated radiance entrypoint arg (rc=2); ratio-derived KV pool SHORT 217 MiB at 32×16k (explicit --vram-kv-mib); explicit 4608 starved the disk tier — weights slab = card − headroom − kv, disk-tier floor 9.57 GiB (4.21 layer buffers + 5.36 fixed) → kv 3072; KLD_MOUNT referenced-never-defined emptied the corpus mount.
  • KLD record launched on 1.0.13 (disk tier, kv 3072, 4×16k, MNBT 32768): measured ~116 tok/s at the 32k step (44 docs/58 min).
  • Chain driver kld-then-calib.sh (pid 2848206, log /home/dank/logs/swift15-chain.log): KLD rc=0 → verify kld-ref → boot 1.2.0 calib (MNBT 65536/seqs 8 per MOE-W4 930 tok/s law, synced commit 45de2fd) → calib-push.py parallel 16 → kill → prod restored by trap.
  • Ready on the branch: convert-swift15-w4dn8.sh (1.0.13 convert, gates: ≥126,000 MiB), apply-protected-cast.sh (derive → recipe PROTECTED section, refuses double-derive), kld-gate-swift15.sh (candidate vs reference on 1.0.13, gate mean KL ≤ 0.03 / top-1 ≥ 95 %).
  • frank-archon showing failed during the campaign is the 143-on-stop signature of the foreground podman unit — cosmetic, not a crash.

2026-10-07 morning

  • KLD reference COMPLETE on 1.0.13: /home/dank/corpora/kld-ref 24 GiB, radiance-kld-1, rows: 50235, 197 docs, top-16 log-probs (f16), corpus fnv1a64 a9d62b33c18b3d9c. Record took ~4 h at the 32k step. The wrapper died rc=127 AFTER the engine exited clean: the mid-run scp of commit 45de2fd shifted bash's lazy read offset — script-swap law, third fleet occurrence. Resume path added: SKIP_KLD=1 + rows: 50235 receipt gate (cf6c62d). Never scp a script a running process owns.
  • Calibration chain3 live on 1.2.0 (big-step shape MNBT 65536/seqs 8): push started, requests landing at 7–8k tokens.

Campaign order after the chain

  1. derive protected experts from Swift's own grams; apply to recipe.
  2. Delete bf16 .rad (335 GiB) to .AGENTTRASH staging (Freed space gates the convert).
  3. convert-swift15-w4dn8.sh (~2 h, CPU-only, prod can stay up).
  4. rad-tune declare TP=2 spec=2; vram-pair boot arms; bench (gate decode ≥ 30.8 t/s).
  5. kld-gate-swift15.sh (fail → escalate gate_up w4→w5nl, pre-authorized).
  6. Cutover: docs, tests + e2e, deploy, probes. Throughput fallback: w4 down tier (Q35).

Disk ledger at KLD-record time: 104 GiB free → KLD ref −50 → Grams −20 → bf16 delete +335 → convert +132 written.