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.
33 lines
2.3 KiB
Markdown
33 lines
2.3 KiB
Markdown
## 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) $\rightarrow$ `deploy-plan.py` (path-aware mapping) $\rightarrow$ `deploy-remote.sh` (revision-scoped pull/restart) $\rightarrow$ Playwright e2e gate.
|
|
- **Homepage:** `shared/homepage/` with category-based rendering (`admin` vs `user`), 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=1` holds 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-groups` in quadlets to pass host groups into containers without modifying filesystem permissions.
|
|
- **Calibre-Web:** Use `8090` (internal), `Digest` (auth), and `printf` (password) to avoid common traps.
|