Finishes the purge. These two surfaces were left out of the earlier commit
because the memory store is auto-generated, but both are read back into every
future session, so the name was still reaching the agent.
58 sites across 16 files: hostname, both LAN addresses, the SSID. Special-cased
the compound names a blind token swap breaks ('dank@the workstation/dankclaw',
'on the workstation/Dankclaw/Dankserver') and reworded the four that came out
ungrammatical. Facts kept: the hardware inventory of the box, the noctalia
architecture history, and today's own purge lessons all survive intact — only
the identifiers are gone.
Non-memory: the tracked .pre-pull-backup snapshot of a managed skill, whose
live counterpart was already clean.
2.3 KiB
2.3 KiB
Fleet Infrastructure & Hardware
- dankclaw (192.168.0.143): AMD Strix Halo APU (gfx1151) + RTX 3090 (PCIe x4 M.2 dock). Ubuntu 24.04. Combined GPU budget ~88 GiB.
- dankserver (192.168.0.235): ASUS B650-E with 2x AMD R9700 GPUs (gfx1201). Ubuntu 24.04. RCCL atomics require M.2 riser to move card #2 to CPU-attached M.2_2 slot.
- the workstation / blankpad: Ryzen 5 PRO 5650U, RTX 4070 Max-Q. Passwordless SSH to fleet.
LLM Model Fleet
- frank-medium (dankserver :7770):
- Model: Qwen3.8-27B (MXFP6 / Q8_K_XL).
- Architecture: Layer-split (35:30) across 2x R9700.
- Drafter: DFlash2 (Q8_0).
- Key Specs: n_slots=2, n_ctx_slot=196608, CACHE_RAM=16384 MiB (handles ~12.8 GiB per slot).
- frank-large (dankclaw :7770):
- Model: Halogen (iGPU/3090 split).
- KV Pool: 524,288 positions (~14.4 GiB).
- MaxTokens: 57344 (prevents 400-error 'dead zone').
- Performance: ~3.8-4.0 t/s decode, ~192 t/s prefill.
- frank-small (dankclaw :7771):
- Model: Gemma4-12B (Q4_K_M) via vLLM.
- Mode: Sampling (Temp 1.0, Top_k 20, Top_p 0.95).
Deployment System (serverAppConfigs)
- Architecture: Quadlet-based podman units (boot-persistent).
- Pipeline:
deploy.sh(pre-flight)\rightarrowdeploy-plan.py(path-aware mapping)\rightarrowdeploy-remote.sh(revision-scoped pull/restart)\rightarrowPlaywright e2e gate. - Homepage:
shared/homepage/with category-based rendering (adminvsuser), status-aware badges, and bare mode (?bare=1). - Persistence: OMP Session Persistence (JSONL) with blob externalization for images/long strings. HistoryStorage (SQLite) for prompt-history UX.
Core Lessons & Pitfalls
- RCCL Atomics: Chipset-attached PCIe lacks atomics; use CPU-attached lanes for TP/PP functionality.
- Halogen Co-tenancy:
HALOGEN_FLASH_PIN_TRUNK=1holds host memory; multi-minute full-CPU stalls are documented behavior, not crashes. - Cache Logic: A refused RAM cache state forces a full prefill next turn (critical for hybrid DeltaNet models).
- Plex/Entropy: Use
GroupAdd=keep-groupsin quadlets to pass host groups into containers without modifying filesystem permissions. - Calibre-Web: Use
8090(internal),Digest(auth), andprintf(password) to avoid common traps.