Frank Program — Weekend Report & Documentation Audit

serverAppConfigs · the two-host homelab (Dankserver 192.168.0.235 · Dankclaw 192.168.0.143)
Date 2026-08-23 (Sun) Window 2026-08-22 → 08-23 Tests 116 / 116 pass Broken links 34 → 0 Auditors 5 subagents

Executive summary

This weekend consolidated the LLM-fleet repo into serverAppConfigs, moved both LLM services to port 7770, built and deployed the Homepage (TDD, terminal-TUI aesthetic), reset the homepage login, and then ran a five-subagent documentation audit that fact-checked the knowledge base against the live system, researched each service's official setup docs online, and verified progress. The audit's findings are distilled into the KB now; the remaining work is listed at the end.

34 → 0
broken links fixed
0
.AGENTTRASH links (none existed)
5
auditor subagents fanned out
~20
stale facts corrected in the KB
116
tests pass (all seams)
2
LLM services healthy on :7770

Weekend progress

Doc audit — method

A custom docaudit.doc-auditor subagent (read-only on the repo; bash for read-only ssh, web_search for the official docs, write for a scratch findings file) ran five times — one per service group. Each audited its pages three ways: 1) fact-check the concrete claims against the real config + live system, 2) online research the official setup/config docs, 3) progress verify (deployed vs TODO vs retired). Findings were written to scratch files; I (the parent) synthesized and applied them as the sole writer. The link inventory was produced deterministically up front (a Python resolver for wikilinks + relative markdown links).

The .AGENTTRASH dirs hold only subagent artifacts (no doc pages), and no doc links to any trashed page. The four .AGENTTRASH references in the docs are accurate descriptive text (paths in backticks), not links — so nothing to sever there.

Findings by group

1 · LLM fleet — active production verified

ServiceStateVerified against
frank-default-small (Dankserver :7770)ACTIVEllama.cpp b10121, HauhauCS Qwen3.6-35B-A3B Q6_K_P + ngram-mod, {"status":"ok"}
frank-default-large (Dankclaw :7770)ACTIVECIRU ROCmFPX v2.3+patch, jcbtc Qwen3.8-27B CIRU v3, 262144 ctx / 1 slot, {"status":"ok"}

Corrected: LLM index 36 → 38 MoE experts + 700K → 786432 ctx; the small-benchmark "Chosen State" now flags the live drift (ncmoe 38 / batch 4096 / ubatch 2048); frank-default-small marked active (not frank-pp-worker); era-notes added to the large-benchmark + spec-matrix pages (PP-era, superseded by CIRU v3); the two vLLM-focused architecture pages now carry a "current runtime is llama.cpp" header.

2 · LLM fleet — experiments / research retired history

Verified the retired/superseded status of the whole experimental corpus: Pipeline Parallelism (retired 2026-08-17), DFlash2-Vulkan (archived 08-21), Kairic Edge (reverted 08-22), vLLM (retired 08-18), FastMTP (retired 08-18), FastFlowLM NPU (retired 08-17). Added a RETIRED banner to the vLLM index; corrected the DFlash page (frank-default-small is active, not retired). Online research: vLLM spec-decoding (PP V2), DFlash/DSpark, Kairic IU4, GGUF quantization trade-offs, llama.cpp 262K context.

3 · Media stack (Dankserver) attention

PageCorrectionSeverity
readarr.mdReadarr is RETIRED (May 2026, Servarr Team — unusable metadata, stalled Open Library migration). Added a banner; alternatives: Bookshelf fork, Calibre content server.HIGH
radarr.mdv4 → v6 stable (v6.3.x).MED
Calibre.md9.9.0 → 9.2.1 (live host).MED
Calibre-Web.md0.6.27-ls397 → 0.6.25-ls365 (live).MED
Copyparty.mdv1.20.19 → v1.20.21.MED
Dankserver Stack.mdCaddy is on Dankclaw (not "the host" = Dankserver).MED
Open discrepancy. The live check shows only calibre-web running as a podman container; RomM, Copyparty, Jellyfin, the *arr stack, MariaDB, and Redis are not deployed. The operator previously recorded the media stack as "UP (bare processes) — not an outage, separate thread." Re-verify that state before treating the other services as live. See "Remaining work".

4 · AI / search / dev stack (Dankclaw) verified

All services DEPLOYED + healthy (SearXNG trio, ComfyUI GPU, OpenWebUI, Hermes + dashboard, Gitea trio, Postgres, Valkey, Gluetun). Corrected: the misleading hostnames (docs said *.dankclaw.local; Caddy actually serves *.franksdank.cloud) on SearXNG + the stack page; the Hermes gotcha host (frank-default-large is on Dankclaw, not Dankserver); the Service Research Brief (ComfyUI CPU→GPU via gfx1151; OpenWebUI endpoint host.containers.internal:7770 → 192.168.0.143:7770); the boot-persistence table (ComfyUI + OpenWebUI are boot-persistent; Hermes is compose-only). Online research: SearXNG, ComfyUI ROCm, OpenWebUI, Hermes, Gitea, Gluetun, Valkey, Postgres.

5 · Infrastructure / observability / architecture verified

Caddy, Homepage, Grafana, Prometheus, Loki, Alloy, Node-Exporter, LAN-DNS all DEPLOYED. Corrected: Grafana GF_SERVER_ROOT_URL + hostname (https://grafana.franksdank.cloud); the Loki + Alloy images (franksdank/… local builds with a busybox healthcheck); the Observability mermaid diagram (Promtail → Alloy); the Homepage Grilling test count (112 → 116). Online research: Caddy (handle ordering, hash-password variants), Prometheus (9 live scrape jobs), Loki (v13 TSDB, 720h retention), Alloy (River, replaces Promtail EOL 2026-03-02), Node-Exporter, dnsmasq quadlet.

What else needs to be done

  1. Re-verify the media-stack state. The live check shows only calibre-web up; the other services are not deployed as containers. Confirm whether they run as bare processes or are down, then reconcile Dankserver Stack.md. separate thread
  2. Replace Readarr. It is retired upstream. Decide between the Bookshelf community fork and the Calibre content server; update the *arr docs + compose.
  3. Deploy the *arr stack. The docs describe Radarr/Sonarr/Lidarr/Readarr/Prowlarr/qBittorrent, but none are running. Bring them up (or mark them planned).
  4. Per-service /docs/<svc>/ pages. User-facing doc pages on the Homepage (settled in the grilling; built incrementally).
  5. Finish the online-research distill. The auditors gathered the official setup notes; the fact-check fixes are applied. Add concise "Upstream setup" sections to the key service pages (RomM, Calibre-Web, SearXNG, ComfyUI, OpenWebUI, Hermes, Gitea, Loki/Alloy).
  6. Hermes boot persistence. hermes + hermes-dashboard are compose-only (restart: unless-stopped, no systemd unit). Add a boot-persistent unit to match the rest of the stack.
  7. Alloy health endpoint. The UI listens on :12345 inside the container (not published); the status checker may report it "down". Publish the port or point the probe at a real health path.
  8. Optional /how/ page on the Homepage (settled as optional in the grilling).
  9. Grafana v13 review. Running v13.2.0 (the 2026 major release). Review the breaking changes + the new Git-Sync / Assistant features.

Audit artifacts

The five auditor findings files (full fact-check tables, online-research distills, and per-page status) are in the run's artifact dir: .pi-subagents/artifacts/outputs/a337bf24-…/.docaudit/ (llm-active, llm-research, media, ai, infra). The doc-auditor agent is registered at ~/.agents/docaudit.doc-auditor.md for reuse. The .docaudit/ scratch dir is git-ignored.