From ef306397a5a28edf278cd36dc3f423dd5e10650d Mon Sep 17 00:00:00 2001 From: Frank Date: Tue, 3 Nov 2026 04:07:46 -0800 Subject: [PATCH] docs(vault): the four-slot archon contract, and pages that contradicted themselves frank-archon.md's intro promised 2 conversations while its own shape table said MAX_SEQS=4; AGENTS.md carried --max-num-seqs 2 and a 44,928 MiB host pool against a live 4 and 49,152. Both now quote the env. dankclaw-iommu-translation-off.md re-transcribed frank-dragoon's boot ledger, including a pool figure that was superseded the same day, and asserted in the present tense that no NPU endpoint is deployed - falsified by the XDNA2 embedding lane on 2026-10-19. Both facts now belong to [[frank-dragoon]] alone. Deployment Flow.md had a sentence broken by an earlier link removal. Census: every tunable in the three scripts/.env against its endpoint page (only truncated-sha and elided-path forms, which the pages omit on purpose), live /health + /v1/models on all three endpoints, check-okf.py clean at 125 pages, no duplicate titles, no page unlinked from an index. --- AGENTS.md | 4 ++-- .../Architecture/Deployment Flow.md | 4 ++-- .../LLM/dankclaw-iommu-translation-off.md | 17 ++++++----------- serverAppConfigs-docs/LLM/frank-archon.md | 2 +- 4 files changed, 11 insertions(+), 16 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index e789e4b..902ebe2 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -489,8 +489,8 @@ disagrees with it is the bug. `scripts/frank-archon.service`, `scripts/ttm-preflight.sh`, template `scripts/qwen38-froggeric-v22.5.jinja`; image digest-pinned `stilldeadcode/radiance@sha256:d590e300…` (radiance 1.8.1); container name = unit name. -- Shape: TP=2 over `wht6`, `--max-num-seqs 2`, `--max-model-len 200000`, - `expert_tiered` placement, 44,928 MiB pinned host pool per rank, `fp8` KV, +- Shape: TP=2 over `wht6`, `--max-num-seqs 4`, `--max-model-len 200000`, + `expert_tiered` placement, 49,152 MiB pinned host pool per rank, `fp8` KV, MTP depth 2, MNBT 2048, `--busy-prefill-chunk auto`, prefix cache 8 GiB host tier only, n-gram table pinned to RAM. The per-card weights/KV split is derived by the engine's budget resolver from `--gpu-headroom-mib`, the cache bound and diff --git a/serverAppConfigs-docs/Architecture/Deployment Flow.md b/serverAppConfigs-docs/Architecture/Deployment Flow.md index 513e654..4c9d74b 100644 --- a/serverAppConfigs-docs/Architecture/Deployment Flow.md +++ b/serverAppConfigs-docs/Architecture/Deployment Flow.md @@ -68,8 +68,8 @@ service on the other host. | Dankserver media stack (RomM trio, Jellyfin, Calibre-Web, Copyparty) | user Quadlet + `systemctl --user` | Installs `dankserver//quadlet/*.container`, restarts the generated unit. The first cutover per service is idempotent: it retires the compose-era bare container, rescues any anonymous volume into the data root, and merge-moves `/opt/` to `/home/dank/Containers/` (mapped-uid roots move without chown). Steady state is restart-only. | The shared chat template maps to the inference service on the selected target. -The `frank-npu` endpoint is retired () and has no deploy handler -an unrelated large-model deployment never touches it. +The `frank-npu` endpoint is retired and has no deploy handler, so an unrelated +large-model deployment never touches it. ## Caddy safety diff --git a/serverAppConfigs-docs/LLM/dankclaw-iommu-translation-off.md b/serverAppConfigs-docs/LLM/dankclaw-iommu-translation-off.md index c1c93d3..c5293bb 100644 --- a/serverAppConfigs-docs/LLM/dankclaw-iommu-translation-off.md +++ b/serverAppConfigs-docs/LLM/dankclaw-iommu-translation-off.md @@ -197,23 +197,18 @@ and PerfOpt is now a bonus nobody is waiting for rather than the reason to flip. **Post-boot gates.** 0 failed units, `systemd` running. 32 IOMMU groups — 31 `identity` + 1 `DMA`, and that one belongs to the Genesys Logic SD card reader (`c2:00.0`, a kernel quirk, not a fleet device). The iGPU (`c5:00.0`) sits in group -20 `identity` with ATS capability; interrupt remapping is enabled. frank-dragoon's -boot ledger is unchanged to the MiB — 62.9 GiB weights (0.8 of them vision) + 5.5 -GiB KV + 5.7 GiB working = 74.1 GiB, two slots over ONE 200,704-position pool, MTP -depth 2, prompt cache ON, no clamp line — and Gitea, the Caddy edge and Grafana all -answered 200. (Later the same day the pool DOUBLING to 401,408 positions for -slot parity was COMMITTED (`2b12716`) and **deployed the same evening**: the -boot now reserves `401408 positions (about 11.0 GiB)` and the engine-side total -is `79.6 GiB in all` (62.9 weights + 11.0 KV + 5.7 working) -see [[frank-dragoon]].) +20 `identity` with ATS capability; interrupt remapping is enabled. The flip moved +frank-dragoon's boot ledger by nothing measurable — its shape and every number in it are +owned by [[frank-dragoon]] — and Gitea, the Caddy edge and Grafana all answered 200. **The NPU came back with the flip.** `amdxdna` bound to `0000:c6:00.1` (Strix/ Krackan/Strix Halo NPU rev 11), firmware `amdnpu/17f0_11/npu_7.sbin`, `Initialized amdxdna_accel_driver 0.7.0 … on minor 0`, IOMMU group 26 `identity`, PASID cap width 10 (`Exec- Priv-`). `/dev/accel/accel0` is `crw-rw---- root:render 261,0` and `dank` is in `render`, so a quadlet needs `AddDevice=/dev/accel/accel0` + -`GroupAdd=keep-groups`. **No NPU endpoint is deployed** — stays the -history of the retired endpoint; what changed is only its precondition. +`GroupAdd=keep-groups`. The flip brought the device back, not a service: no NPU chat +endpoint was deployed then. The XDNA2 lane returned to work a day later as frank-dragoon's +small-model lane ([[frank-dragoon]]) — the shape and its laws are owned there. **The `pp_dpm_fclk` pin (level 7, 2000 MHz) went in on 2026-10-19**, with the first thing that needed it: the vendor's root host unit, installed and enabled by `frank-dragoon`'s deployer while its NPU lane is named. Pinning diff --git a/serverAppConfigs-docs/LLM/frank-archon.md b/serverAppConfigs-docs/LLM/frank-archon.md index a543bea..6acb70c 100644 --- a/serverAppConfigs-docs/LLM/frank-archon.md +++ b/serverAppConfigs-docs/LLM/frank-archon.md @@ -20,7 +20,7 @@ timestamp: 2026-10-19 The radiance engine (C++/HIP, `libr4d` kernels built for gfx1201, no Python in the serving path) driving `podman run` straight from the digest-pinned image under a **root** systemd unit; container name = unit name. Host Dankserver (192.168.0.235), port 7770, both Radeon AI -PRO R9700s. Capacity contract **2 conversations × 200,000 tokens at fp8 KV** — at 1.8.1 that pair +PRO R9700s. Capacity contract **4 conversations × 200,000 tokens at fp8 KV** — at 1.8.1 that pair is the **demand signal** the budget resolver sizes the cache against, not a KV allocation (Laws). A payload swap is a `MODEL_FILE` line plus a re-download — see Eras.