diff --git a/shared/homepage/services.json b/shared/homepage/services.json index 5abfcec..dc9ff80 100644 --- a/shared/homepage/services.json +++ b/shared/homepage/services.json @@ -223,7 +223,7 @@ { "name": "frank-large", "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": "", "docs": "", "probe": "127.0.0.1:7770", @@ -232,9 +232,9 @@ "showLink": false }, { - "name": "frank-small", + "name": "frank-medium", "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": "", "docs": "", "probe": "192.168.0.235:7770", diff --git a/tests/homepage_config.bats b/tests/homepage_config.bats index dfea0d1..803e4dc 100644 --- a/tests/homepage_config.bats +++ b/tests/homepage_config.bats @@ -39,3 +39,20 @@ for svc in data: assert not svc.get("url"), f"{svc['name']} is status-only but has a url" 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 +}