From 2e6b274bff0ab38cf75205f779db72696946e60f Mon Sep 17 00:00:00 2001 From: claude Date: Thu, 6 Aug 2026 23:00:14 +0400 Subject: [PATCH] the plan doc records what landed and what came out differently (V-638) --- docs/plans/24-no-deadline-on-the-turn-path.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/plans/24-no-deadline-on-the-turn-path.md b/docs/plans/24-no-deadline-on-the-turn-path.md index 331223f..f8adc58 100644 --- a/docs/plans/24-no-deadline-on-the-turn-path.md +++ b/docs/plans/24-no-deadline-on-the-turn-path.md @@ -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`.