From 1b8d2c60d33e79102dc931fba69c6794ade26a69 Mon Sep 17 00:00:00 2001 From: claude Date: Wed, 5 Aug 2026 23:22:57 +0400 Subject: [PATCH] workpc is the client machine the voice loop was waiting for (V-515) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Three durable stores said no client machine existed. That was written when the workstation was only a model host. It is where he sits most of the day and it has the microphone. The verdict is unchanged and so is the seam. What changes is the size of the remaining work: deploying two daemons and asking mavend to listen on TCP, not acquiring hardware. Note that deploying them does not by itself prove a wake word — mavwaked gates on energy and has no keyword model (V-487). --- CLAUDE.md | 15 +++++++++++---- docs/plans/17-where-the-voice-loop-runs.md | 8 +++++++- docs/qa.md | 11 ++++++++--- 3 files changed, 26 insertions(+), 8 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 6bcbc5f..72cc9b2 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -91,10 +91,17 @@ protocol; the config in `deploy/mavend.json` (with `${VAR}` env expansion from g decision, not an oversight** (Vikunja #463, `docs/plans/17-where-the-voice-loop-runs.md`). homesrv has a microphone — it is a laptop — but it is in the wrong room, so a wake-word daemon there listens to nobody. They belong on a client machine where the owner is standing. -`ipc.Dial` already takes `tcp://host:port?token=...` through the netaddr seam, so nothing -needs building to allow it, but no such machine exists yet. **The consequence: the wake -word and the VAD gate are covered by unit tests and by nothing else, and no amount of -sitting at the box changes that.** Push-to-talk through `/dash` is what QA actually covers. + +**That machine is workpc** (owner's correction, 2026-08-05). This section used to say no +such machine existed, which was written when the workstation was only a model host. It is +where he sits most of the day and it has the microphone. `ipc.Dial` already takes +`tcp://host:port?token=...` through the netaddr seam, so the two daemons need deploying, +not building. V-515 is that deployment. + +Until they are deployed, **the wake word and the VAD gate are covered by unit tests and by +nothing else**, and push-to-talk through `/dash` is what QA actually covers. Note that +deploying them does not by itself prove a wake word: `mavwaked` gates on energy and has no +keyword model (V-487), so the loop runs open until that lands. ## The ecosystem: Nexus, Praxis, Hexis diff --git a/docs/plans/17-where-the-voice-loop-runs.md b/docs/plans/17-where-the-voice-loop-runs.md index e79fd6c..eafbd83 100644 --- a/docs/plans/17-where-the-voice-loop-runs.md +++ b/docs/plans/17-where-the-voice-loop-runs.md @@ -47,7 +47,13 @@ for. QA session 1 step 2 should say what it actually covers, which is push-to-talk through `/dash`. It should not read as though it covers the voice loop. The wake path is checked -on the client machine or it is not checked, and today there is no client machine. +on the client machine or it is not checked. + +**Correction, 2026-08-05.** This plan said there was no client machine. There is: workpc, +where he sits most of the day and where the microphone is. The sentence was written when +the workstation was only a model host. The verdict above is unchanged, and so is +everything about the seam. What changes is the size of the remaining work: deploying two +daemons and asking mavend to listen on TCP, not acquiring hardware. That is the honest state, and it is worse than the task suggests: this is not a configuration gap that a compose entry closes. Until a machine with a microphone runs diff --git a/docs/qa.md b/docs/qa.md index f9073f4..cd1c808 100644 --- a/docs/qa.md +++ b/docs/qa.md @@ -1,6 +1,6 @@ # QA plan: checking Maven properly -*Last verified: 2026-08-04 @ 8d816f4. Living doc: correct it in place, do not append.* +*Last verified: 2026-08-05 @ 12667fd. Living doc: correct it in place, do not append.* Written 2026-08-01, after the 35-PR stack landed and the box came back up. Refreshed 2026-08-02 against the live list, after PRs #85-#90. @@ -255,8 +255,13 @@ room — **463**, written up in `docs/plans/17-where-the-voice-loop-runs.md`. So the wake word and the VAD gate are covered by their unit tests and by nothing else, and no session at this box changes that. Checking them needs a machine with a microphone running both binaries against a TCP-listening mavend. -`ipc.Dial` already speaks `tcp://host:port?token=...`, so the work is a machine -and a config line, not protocol work. Until then, **287** can only be +`ipc.Dial` already speaks `tcp://host:port?token=...`, so the work is not +protocol work. + +That machine is workpc (owner's correction, 05-08-2026). This section used to +call it a machine Maven does not have. That was written when the workstation +was only a model host. So the remaining work is deploying two daemons and +asking mavend to listen on TCP. Until that is done, **287** can only be half-answered, and step 2 above is push-to-talk, not the voice loop. **319's single-token bug is fixed** (01-08-2026). Single-word Russian utterances no longer come