frank-primary: Lucebox DeepSeek-V4.1-Flash-ROCMFP23 quadlet + deploy handler

Replaces frank-medium (vllm-radiance TP=2) on :7770. The 377.2 GiB
43-layer MoE (256 routed experts, top-6) is mmapped: dense work and the
MLA KV cache on the R9700, routed experts computed on CPU from the
page cache (246 GiB RAM). The unit bypasses the image entrypoint
(Qwen/DFlash-only flag set) and execs luce_server with the DS4 launch
shape; --ds4-fused-decode's monolithic-load fallback IS the serving
mode here. deploy_llm_primary gates on image + model byte count,
stops/masks the radiance unit, waits for :7770, installs and starts.
Runbook: frank-primary-lucebox-ds4.md.
This commit is contained in:
Frank
2026-09-26 15:29:59 -07:00
parent 441c4f1c99
commit acd14ab7df
8 changed files with 352 additions and 1 deletions
+9
View File
@@ -64,6 +64,7 @@ SERVICE_ORDER = (
"frank-large",
"frank-small",
"frank-medium",
"frank-primary",
)
DANKCLAW_SERVICES = {
@@ -114,6 +115,7 @@ DANKSERVER_SERVICES = {
"lidarr",
"readarr",
"frank-medium",
"frank-primary",
"node-exporter",
}
@@ -381,6 +383,13 @@ def services_for_path(path: str, target: str) -> set[str]:
# scripts/.AGENTTRASH/20260920-llama-layersplit/ and plans nothing.)
_add(services, "frank-medium")
return services
if len(parts) >= 2 and parts[1] == "frank-primary":
# frank-primary is the Lucebox DeepSeek V4 Quadlet (2026-09-26
# cutover, replacing frank-medium on :7770): its entrypoint and
# healthcheck live under this directory and the container mounts
# them straight out of this checkout, so any file here changes
# deployed state.
_add(services, "frank-primary")
return services
if parts[0] == "frankbook-pro":