docs(frank-tts): what makes a locally built voice image stale, and what the warm text must survive
Three pages, all from faults found this session: - `LLM/deployment.md` gains "Locally built images": which images have no registry digest, what the `cfhash` skip is for, why it must cover every COPY'd file (the silent shape: build skipped, /health green, old code serving), and the base-image half of the law — the engine's `useradd`, because the pinned ubuntu:24.04 has no `adduser`. - `Dankclaw/Frank TTS Engine.md` troubleshooting gains the two lines an operator actually needs: every voice cold on a fresh boot with a hand-run hook succeeding (= `WARM_TEXT` arrived quoted, `podman exec … env | grep WARM_TEXT` proves it), and a 502 from the façade beside a 200 `/health` from the engine (model loaded ≠ voices registered). The stale-warmer row is re-keyed to the new rebuild rule. - `Dankclaw/Voice Packs.md` step 4 was wrong: it told the next agent to restart the engine *instead of* the warm hook because the hook "only registers packs it has not seen". It registers every pack on every run and the engine replaces a name it already holds — `tools/tts-server.cpp:148` at the pinned commit: "Re-registering a name replaces the previous entry." A restart is what an engine bump needs (the registry is memory-only), never worse, only slower. - `Dankclaw/Frank TTS.md` deploy command re-keyed to `./scripts/deploy.sh dankclaw --service frank-tts`, the way it is actually deployed; the raw `deploy-remote.sh` form is plumbing.
This commit is contained in:
1 parent
59e021da2c
commit
7178e1c789
4 files changed
+44
-8
No files matched your search
@@ -197,10 +197,16 @@ loud, not a bug. Work through it in order:
|
||||
without moving the commit is the mistake to avoid.
|
||||
4. Rebuild all three packs with `--force` (the retired directories keep the old
|
||||
bytes readable beside their replacements until a human clears them), then
|
||||
restart the engine rather than using the warm hook: the hook only registers
|
||||
packs it has **not** seen, and every voice here is already registered against
|
||||
the old artifacts. `systemctl --user restart frank-tts-engine.service`
|
||||
re-warms them all from the new bytes.
|
||||
re-run the warm hook: `podman exec frank-tts-engine /app/warm-voices.sh`. That
|
||||
hook registers **every** pack it finds on every run, and the engine replaces a
|
||||
name it already holds — `tools/tts-server.cpp:148` at the pinned commit says so
|
||||
in its own words: *"Re-registering a name replaces the previous entry."* So the
|
||||
rebuilt `reference.wav` is what the running engine speaks afterwards, and the
|
||||
hook's cold/warm pass is what re-snapshots it. A restart
|
||||
(`systemctl --user restart frank-tts-engine.service`) is what an ENGINE bump
|
||||
needs — the registry is memory-only and lives in that process — and the unit
|
||||
runs the same hook on every start anyway, so a restart is never worse, only
|
||||
slower.
|
||||
5. `./tests/voice_pack_unit.bats` — the stub in that seam reproduces the packing
|
||||
law, so it needs the same arithmetic update as the env file. The seam's
|
||||
engine-bump test is exactly this scenario with a wrong `.spk` size, and its
|
||||
|
||||
Reference in new issue
Block a user