homepage: Protoss rename + fused Model Information component

The model cards become the StarCraft trio: frank-large -> frank-dragoon,
frank-primary -> frank-archon, frank-secondary -> frank-zealot (family
names only; endpoint/API ids unchanged). The three cards fuse into one
Model Information component: per-unit Protoss accent colours and hex-
clipped unit art, 15px type, clickable StarCraft unit-voice quotations
(original .ogg files from the fandom wiki, served from /sfx/), supervision
notes (dragoon/archon safe for autonomous use, zealot tight supervision),
compaction-model recommendation for frank-zealot, and uncensored-model
legal notes rendered as hover tooltips instead of wall text. docs.html
carries the same renames plus api-id mapping.

App-card updates: Seerr, Calibre-Web, RomM, Jellyfin set to WIP: DOWN
with Open links removed (new wip "down" badge state); Copyparty notes it
serves all other media apps content including WIP apps; Gitea and Plex
noted as needing logins separate from SSO; SearXNG noted as obfuscated,
not anonymous (upstream API keys tie to Frank).

Plumbing: Caddy @data allowlist grew /sfx/*; deploy_homepage copies sfx/;
homepage_config.bats pins the new probe names, the component fields,
art/voice-file presence, and the wip-down schema.
This commit is contained in:
Frank committed 2026-10-08 02:40:45 -07:00
1 parent 74da746c51
commit 203b0be145
19 files changed
+312 -88

No files matched your search

+2
View File
@@ -34,6 +34,8 @@ setup() {
# docs screenshots (/img/*) must be served from disk, not answered by the
# index.html catch-all (2026-10-08: PNGs came back as 200 text/html).
grep -qE "@data[[:space:]]+path.*(/img/\*|/img/\*\")" "$CADDY"
# the model panel's unit voices ride the same allowlist
grep -qE "@data[[:space:]]+path.*/sfx/\*" "$CADDY"
}
@test "the homepage revalidates its assets (no stale cache after deploys)" {