homepage: the Dankserver LLM card was labelled with a retired name

The card probing 192.168.0.235:7770 — frank-medium's endpoint since the
radiance cutover — was still called "frank-small", a service retired on
2026-09-15. The probe target was right; only the identity was wrong, which is
the worse half: a green card named after a service that no longer exists teaches
the wrong thing about the fleet. It is now frank-medium, described as what it
actually is (Qwen3.8-27B Uncensored MXFP4, vllm-radiance, two R9700s behind one
endpoint), and frank-large's description stops crediting the retired halogen
runtime for work ik_llama.cpp does.

The seam added to homepage_config.bats pins the cross-file contract that let
this drift: a card's probe target and its name must agree with the fleet, and a
retired service must not keep a card.
This commit is contained in:
Frank committed 2026-09-16 06:53:20 -07:00
1 parent 823814920b
commit 56edfabb19
2 files changed
+20 -3

No files matched your search

+3 -3
View File
@@ -223,7 +223,7 @@
{ {
"name": "frank-large", "name": "frank-large",
"category": "admin", "category": "admin",
"description": "The large LLM (Qwen3.8-Flash-Next, halogen) on Dankclaw.", "description": "The large LLM (Qwen3.8-Flash-Next Uncensored, ik_llama.cpp) on Dankclaw.",
"url": "", "url": "",
"docs": "", "docs": "",
"probe": "127.0.0.1:7770", "probe": "127.0.0.1:7770",
@@ -232,9 +232,9 @@
"showLink": false "showLink": false
}, },
{ {
"name": "frank-small", "name": "frank-medium",
"category": "admin", "category": "admin",
"description": "The small LLM (35B MoE) on Dankserver.", "description": "The medium LLM (Qwen3.8-27B Uncensored MXFP4, vllm-radiance) on Dankserver — two R9700s behind one :7770 endpoint.",
"url": "", "url": "",
"docs": "", "docs": "",
"probe": "192.168.0.235:7770", "probe": "192.168.0.235:7770",
+17
View File
@@ -39,3 +39,20 @@ for svc in data:
assert not svc.get("url"), f"{svc['name']} is status-only but has a url" assert not svc.get("url"), f"{svc['name']} is status-only but has a url"
PY PY
} }
@test "the LLM status cards track the fleet, not retired service names" {
# This drifted: the card probing Dankserver's :7770 was still named
# frank-small long after frank-small was retired and frank-medium took that
# endpoint, so the homepage labelled the fleet's busiest service with a dead
# name. The probe target was right; only the identity was wrong.
python3 - "$REPO_ROOT/shared/homepage/services.json" <<'PY'
import json, sys
services = json.load(open(sys.argv[1]))
by_probe = {s["probe"]: s["name"] for s in services}
medium = by_probe.get("192.168.0.235:7770")
assert medium == "frank-medium", f"Dankserver :7770 card is named {medium!r}"
assert "frank-small" not in {s["name"] for s in services}, "retired frank-small still listed"
# The big endpoint keeps its card too, so a fleet overview shows both.
assert by_probe.get("127.0.0.1:7770") == "frank-large"
PY
}