docs(memory): voice-studio is retired not broken; agent.disabled_toolsets is global
Two corrections and one finding from the same night. voice-studio: operator ruled the stack out of service. It existed for the dots mint/audition loop and dots was decommissioned 2026-09-06 when Breeze took the fleet seat, so its reason to exist went with it - which is also why nine days of breakage alerted nobody. No v11 rebuild. The gate one-liner was applied minutes before the retraction landed and was left in place rather than reverted, since the value it replaced was a dead address and reverting is another recreate of a stack that is going away. Container not stopped: it was already running, and 'down for now' arrived as a relayed paraphrase rather than an instruction. The two host-level facts survive the stack. Containers on irv-ml1 cannot resolve nh3.internal at all, so on that host the DNS name is the WRONG fix for a dead-IP bug - it swaps a dead address for an unresolvable one. Confirm resolution from inside the container before recommending a name. And a stale link can have more than one drift behind it: voice-studio had three stacked, two of them invisible from the host compose file. Hermes: svos_miranda is installed and enabled in config but the gateway was NOT restarted, so it is not live. agent.disabled_toolsets as specified by svos-dev is not scoped to api_server - it is a strict end-of-pipeline subtraction applied to every session on every platform. Measured: a default session goes 46 tools to 20, losing memory, file, terminal, web, browser and more. It is also unnecessary: platform_toolsets.api_server alone resolves an api_server session to exactly the 8 svos_miranda tools. The line buys only SVOS's startup check, which reads a global endpoint to verify a per-platform property. Left commented out with the measurement inline so an incidental restart cannot gut the assistant.
This commit is contained in:
@@ -17,6 +17,24 @@ cutover** — appears **96 times** under `/opt/docker` on irv-ml1. The address i
|
||||
`tts-gateway`, `arbo`, `dockge`, `waterland-studio`, `comfyui`, `parakeet`,
|
||||
`kokoro`.
|
||||
|
||||
## ⚠ UPDATE 2026-09-15 02:05 — voice-studio is RETIRED, not broken
|
||||
|
||||
Operator ruling relayed by tts-dev: **voice-studio is out of service.** It existed for
|
||||
the dots mint/audition loop; dots was decommissioned 2026-09-06 when Breeze took the
|
||||
fleet seat. Its reason to exist went with it — and nobody noticed for nine days
|
||||
precisely because nothing needs it. **No v11 rebuild.** The voice-studio row is
|
||||
cancelled from the sweep.
|
||||
|
||||
The `STUDIO_GATE_URL` one-liner was applied minutes before the retraction arrived and
|
||||
was **left in place, not reverted** — the value it replaced was a dead address, and
|
||||
reverting means another recreate of a stack that is going away. Its compose comment now
|
||||
records the retirement. The container was NOT stopped: it was already running before the
|
||||
fix, and "down for now" arrived as a relayed paraphrase rather than an instruction.
|
||||
Stopping it is an explicit question in front of the operator.
|
||||
|
||||
⭐ **The two host-level facts below survive the stack's retirement** and are the reason
|
||||
this entry is still worth keeping.
|
||||
|
||||
## ⚠ One LIVE breakage, not just dead links
|
||||
|
||||
- **`voice-studio` cannot reach `studio-gate`.** Its running container carries
|
||||
@@ -45,6 +63,28 @@ rather than config — somebody else's code. Broken nine days already; it wants
|
||||
scheduled pass, not a 02:00 improvisation. Surfaced to the operator with this
|
||||
evidence.
|
||||
|
||||
## ⭐ Host fact that outlives all of this: irv-ml1 containers cannot resolve `nh3.internal`
|
||||
|
||||
Measured from inside a running container on irv-ml1, three addresses for the same
|
||||
service:
|
||||
|
||||
irv-ml1.nh3.internal:8217 -> Name or service not known
|
||||
10.100.79.3:8217 -> No route to host (retired wg0 lifeline)
|
||||
10.6.110.50:8217 -> OK
|
||||
|
||||
The internal zone is not in the container resolver's search path on that host. **Any
|
||||
container on irv-ml1 reaching a sibling service BY NAME needs an `extra_hosts` entry** —
|
||||
`talk` already carries one, and dots, the foundry scripts and voice-studio each hit this
|
||||
independently. The durable shape:
|
||||
|
||||
extra_hosts:
|
||||
- "irv-ml1.nh3.internal:${IRV_ML1_IP:-10.6.110.50}"
|
||||
|
||||
…which resolves the name in-container and keeps the IP in ONE place a single `.env`
|
||||
line can move. ⚠ Corollary: on this host the DNS name is the WRONG fix for a dead-IP
|
||||
bug — it swaps a dead address for an unresolvable one. Confirm resolution from inside
|
||||
the container before recommending a name.
|
||||
|
||||
## The pattern this belongs to
|
||||
|
||||
Third instance of the same shape. The 2026-09-13 ana-ml2→fv-ml1 renumber left 16
|
||||
@@ -54,5 +94,11 @@ outside it **by construction**. Same failure here, different cutover.
|
||||
|
||||
⭐ **A retired address needs a repo-wide grep by ADDRESS, not by hostname, and it
|
||||
needs to cover running container labels — which live in no file the sweep reads
|
||||
unless the container is recreated.** Labels apply at creation, so a fixed compose
|
||||
unless the container is recreated.**
|
||||
|
||||
⭐ **And a "stale link" can have more than one drift behind it.** voice-studio had
|
||||
three stacked: a hand-edited host compose (which this repo's convention forbids), a
|
||||
stale image carrying the dead address baked in at three places, and a container that
|
||||
could not resolve the name the obvious fix would have used. Each alone looks like the
|
||||
whole story. Two of the three were invisible from the host compose file. Labels apply at creation, so a fixed compose
|
||||
with a stale container still serves the stale label.
|
||||
|
||||
Reference in New Issue
Block a user