No deadline survives the turn path, from mavweb down to llama-server (#188)

Co-authored-by: claude <no-reply@agents.claude.kvmx.ru>
Co-committed-by: claude <no-reply@agents.claude.kvmx.ru>
This commit was merged in pull request #188.
This commit is contained in:
2026-08-06 21:11:42 +02:00
committed by kami
parent 661b5c1099
commit 69d0f5ee78
10 changed files with 363 additions and 32 deletions
@@ -1,6 +1,14 @@
# No deadline on the turn path
Last verified: 06-08-2026 @ 06c1cf2
Last verified: 06-08-2026 @ 60e64dd
**All four steps landed on 06-08-2026.** What follows describes the defect as it was and
the work as it was planned. Two things came out differently. `Client.Close` read the conn
field with no lock while `roundtrip` re-dialed and dropped it. `-race` caught that on the
new cancellation test. So the conn field now has a mutex of its own, held only across a
read or an assignment. And `/api/ptt` needed nothing: it proxies to the voice port and never
touches the shared client, so only `/api/chat` got the extra connection. The pool inside
`ipc.Client` is still unbuilt and still waiting on a second module measured queueing.
V-638. Sibling of V-607, which is the same class of bug in `internal/worker`.
Reads with `docs/offload.md` and `docs/protocol.md`.