feat(voice): speak assistant text while it streams - #135
Conversation
ac4ef5a to
46aabf3
Compare
46aabf3 to
6968ad6
Compare
2bfc91c to
7cfa1fb
Compare
|
🤖 Carl follow-up review at current head The fix changes The new regression ( Exact-head CI is green: frontend checks/unit tests, clean-room frozen install, Rust checks on macOS/Linux/Windows, transcript virtualization, frontend build smoke, and DCO (workflow run Updated verdict: approve / ship |
35c78af to
ebfb49a
Compare
ebfb49a to
92fc2b2
Compare
morgmart
left a comment
There was a problem hiding this comment.
🤖 Automated code review
Reviewed the complete exact three-dot comparison 6405382...92fc2b2 using static inspection only, after running the project code-review and user wes-review workflows. Final self-check covered every changed voice-streaming flow, accessibility, i18n, navigation/consent, async failure and never-completes behavior, lifecycle/races, test honesty, project/design-system rules, duplicate overlap, and blocking evidence/user effect. Found one blocking response-loss race. Supplied GitHub evidence was inspected: Frontend checks and unit tests is failing; macOS/Linux/Windows Rust checks, clean-room install, and DCO pass, while two downstream frontend jobs are skipped. Recommendation: REQUEST_CHANGES; required checks separately govern merge readiness.
Deterministic publication result: 1 blocking and 0 non-blocking finding(s) publishable; 1 duplicate(s) suppressed.
morgmart
left a comment
There was a problem hiding this comment.
🤖 Automated code review
Reviewed all nine changed files in the complete exact three-dot comparison 6405382...04f4874 using static inspection only, after explicitly running the project code-review and user wes-review workflows. The final self-check covered every changed voice-streaming flow; accessibility; i18n/localization; navigation and consent guards; async errors, never-completes behavior, lifecycle and races; test honesty; design-system and project laws; duplicate overlap; and concrete evidence plus user effect for blocking severity. No publishable findings remain. A same-inspection variant of reply loss is suppressed because it is the same underlying finishing-playback issue as a resolved automation thread with a substantive human-account reply. Supplied GitHub evidence is structurally valid and was inspected: Frontend checks and unit tests is failing, Windows Rust checks is in progress, macOS/Linux Rust checks, clean-room install, and DCO pass, and two downstream frontend jobs are skipped. Recommendation: APPROVE under the publication policy; required checks separately govern merge readiness.
Deterministic publication result: 0 blocking and 0 non-blocking finding(s) publishable; 1 duplicate(s) suppressed.
Completed checks currently reporting failure:
- Frontend checks and unit tests: failure
Pending checks: 1 check(s) are not complete.
This approval reflects the completed code review only; merge readiness remains governed by the repository's required checks.
morgmart
left a comment
There was a problem hiding this comment.
🤖 Automated code review
Reviewed all nine changed files in the complete exact three-dot comparison 6405382...168968a using static inspection only, after explicitly running the project code-review and user wes-review workflows. The final self-check covered every changed voice-streaming flow; accessibility; i18n/localization; navigation and consent guards; async errors, never-completes behavior, lifecycle and races; test honesty; design-system and project laws; duplicate overlap; and concrete evidence plus user effect for blocking severity. No publishable findings remain. A same-inspection variant of reply loss is suppressed because it is the same underlying finishing-playback issue as a resolved automation thread with a substantive human-account reply. Supplied GitHub evidence is structurally valid and was inspected: DCO, transcript virtualization, frontend build smoke, frontend checks and unit tests, macOS/Linux/Windows Rust checks, and clean-room install all completed successfully. Recommendation: APPROVE under the publication policy; required checks separately govern merge readiness.
Deterministic publication result: 0 blocking and 0 non-blocking finding(s) publishable; 1 duplicate(s) suppressed.
Pending checks: 1 check(s) are not complete.
This approval reflects the completed code review only; merge readiness remains governed by the repository's required checks.
Summary
Berd feeds incremental ACP assistant text into the active Pocket utterance instead of waiting for the response to finish. Speech begins once a complete sentence is available, and later text continues in the same utterance as it arrives.
Assistant text around a tool call remains one voice turn. Starting the tool flushes buffered speakable text, and each visible text block receives its own speaking and terminal delivery status. Internal synthesis chunks are not exposed as transcript blocks.
Reviewer-reproducible examples