Merge V-515: workpc is the client machine (#203)

This commit is contained in:
2026-08-05 23:22:57 +04:00
3 changed files with 26 additions and 8 deletions
+11 -4
View File
@@ -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
+7 -1
View File
@@ -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
+8 -3
View File
@@ -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