Comrade Chief Designer 0465b9b5a7 frank-primary: pin down the compile blocker — a name-resolution KeyError in an inlined callee
Five runs of the changelist now reproduce the same single failure with breaks genuinely
tolerated (patch 01+02+03+04, VLLM_COMPILE_FULLGRAPH=0, VLLM_USE_AOT_COMPILE=0,
R4D_GLM_FUSE_QKV_RMSNORM=0): the trunk TRACES ('Dynamo bytecode transform time: 1.08 s')
and the boot dies on KeyError: 'in_proj_qkvbfg_a'.

What it is NOT, each ruled out by measurement rather than argument:
 - not one of dynamo's four nn_modules lookups: /home/dank/dynamo-probe wraps three of
   them and stayed silent over two runs, with the probe's install line confirmed in both
   the API-server and worker processes;
 - not a dynamo-internal failure: TORCHDYNAMO_VERBOSE=1 adds no internal stack trace;
 - not a literal string lookup: the name appears tree-wide only as the KDA layer's
   attribute (kda.py:217, used at :407) and in the load_weights shard table
   (model.py:780-785); the four  sites in the
   quantization utils do compute exactly this bare key but every one is guarded
   (), so none can raise it;
 - not the pluggable-layer registry, which is keyed by class name.

What it IS: a plain Python KeyError raised inside the traced
Glm5NextDecoderLayer.forward, in a callee dynamo INLINED (frame chain
profile_run -> _dummy_run -> execute_model -> glm4_1v.py:2358 -> the compile wrapper ->
eval_frame.compile_wrapper -> Glm5NextModel.forward:748 -> module._call_impl ->
Glm5NextDecoderLayer.forward:456; the reported line is that method's def line, which is
how inlined frames surface).

Patch 03's header and the runbook now record the remaining instrument (TORCH_LOGS=+dynamo
and grep, or wrap the inlining candidates — the mHC CustomOps and the indexer op — with a
KeyError probe), and the two breaks that are real but non-fatal in this configuration
(patch 04's fused-norm launcher cell, patch 05's workspace acquisition).

tests/run.sh: 362 seams pass.
2026-09-30 15:39:10 -07:00

Server App Configs

The single repository for the two homelab servers: the Podman container stacks and the LLM inference fleet. One repo, one checkout per host, one deploy script.

2026-08-22: the former vllmScripts repository (LLM fleet) is merged into this repo with its full git history. See AGENTS.md for the merge note.

Targets

Host User IP Podman stack LLM service LLM port
dankserver dank 192.168.0.235 media and library frank-medium (ROCmFPX llama.cpp, Qwen3.8-27B AGENT) 7770
dankclaw dank 192.168.0.143 AI, search, development, observability frank-large (gufo, Qwen3.8-27B UD-Q8_K_XL) 7770

Active Services

Service Host Hostname Port
RomM dankserver romm.dankserver.local 8085
Copyparty dankserver files.dankserver.local 3923
Calibre-Web dankserver books.dankserver.local 8083
frank-medium dankserver — (bare endpoint) 7770
SearXNG dankclaw search.dankclaw.local 8081
ComfyUI dankclaw comfyui.dankclaw.local 8188
OpenWebUI dankclaw chat.dankclaw.local 3000
Hermes dankclaw hermes.dankclaw.local 8090
Gitea dankclaw gitea.dankclaw.local 3001
Grafana dankclaw grafana.dankclaw.local 3002
Prometheus dankclaw prometheus.dankclaw.local 9090
frank-large dankclaw — (bare endpoint) 7770

Structure

  • dankserver/ — compose.yaml + Caddyfile + .env.example for the Dankserver stack
  • dankclaw/ — compose.yaml + Caddyfile + .env.example for the Dankclaw stack
  • shared/ — homepage, prometheus config, deploy helpers
  • scripts/ — deploy.sh and deploy-remote.sh (service-scoped deployment), the planner, LLM serve scripts, systemd units, env tunables, and bench harnesses
  • old/ — retired PP/NPU-era LLM scripts (reference only)
  • serverAppConfigs-docs/ — project knowledge base (Obsidian vault, wikilinks). serverAppConfigs-docs/LLM/ is the LLM fleet
  • tests/ — bats test suite (see Testing Policy)

Deployment

See serverAppConfigs-docs/Architecture/Deployment Flow.md and serverAppConfigs-docs/LLM/deployment.md. Run ./scripts/deploy.sh <dankclaw|dankserver> after committing changes. It plans and deploys only the changed services. Use --service NAME for an explicit single-service retry; inference is restarted only when its own files (or the shared chat template) changed.

Knowledge Base

The serverAppConfigs-docs/ directory is an Obsidian vault. Start at serverAppConfigs-docs/index.md. The LLM fleet knowledge base lives at serverAppConfigs-docs/LLM/index.md.

Testing

Run ./tests/run.sh before every push. See serverAppConfigs-docs/Architecture/Testing Policy.md.

S
Description
Podman deployment configs for Dankserver and Dankclaw
Readme
8.2 MiB
Languages
Shell 60.4%
Python 21%
HTML 6.2%
Jinja 3.9%
C++ 3.9%
Other 4.6%