feat(voice): play berd-call status sounds - #346
johnmatthewtennant wants to merge 2 commits into
Conversation
|
🤖 Fanout on 8f736bb was dispositioned in bec6cf4. The fixes: poisoned settings locks now surface an error instead of being swallowed; the restart responder was separated from |
|
🤖 Disposition of the review at
Also, per John: status sounds are now off by default until agent hooks exist ( |
|
🤖 Review at |
|
🤖 Review of
Separately, BlackHole testing found a menu bug, now fixed red-green in #345 ( |
morgmart
left a comment
There was a problem hiding this comment.
🤖 Automated code review
APPROVE. The exact prepared three-dot comparison was reviewed and has no publishable findings. Supplied GitHub check evidence is structurally valid but currently pending, so required checks still govern merge readiness.
Deterministic publication result: 0 blocking and 0 non-blocking inline finding(s) publishable; 0 duplicate(s) suppressed; 0 blocking screenshot-evidence requirement(s) in this review body.
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.
61192d9 to
55cab32
Compare
Plays working and waiting status sounds during standalone berd-call calls, off by default until agent hooks exist, with a menu bar toggle. Signed-off-by: John Tennant <jtennant@block.xyz>
8636c92 to
63d5273
Compare
morgmart
left a comment
There was a problem hiding this comment.
🤖 Automated code review
REQUEST_CHANGES. The exact prepared three-dot comparison has one blocking lifecycle race: a newly acknowledged status-sound mode can be lost when a restart overlaps the settings response. Supplied GitHub evidence is structurally valid; several required checks were still in progress when captured, so those checks separately govern merge readiness.
Deterministic publication result: 1 blocking and 0 non-blocking inline finding(s) publishable; 0 duplicate(s) suppressed; 0 blocking screenshot-evidence requirement(s) in this review body.
A restart that ran between the actor acknowledging a status-sound change and the caller resuming read the old mode. The actor now owns the acknowledged mode and commits it before replying, as it does for mute. Signed-off-by: John Tennant <jtennant@block.xyz>
morgmart
left a comment
There was a problem hiding this comment.
🤖 Automated code review
APPROVE. The exact prepared three-dot comparison was reviewed through the project code-review and user wes-review passes. The prior blocking restart race is fixed by sharing actor-owned acknowledged status-sound state and committing it before replying; no publishable findings remain. Supplied GitHub evidence is structurally valid, with several checks still in progress, so required checks separately govern merge readiness.
Deterministic publication result: 0 blocking and 0 non-blocking inline finding(s) publishable; 0 duplicate(s) suppressed; 0 blocking screenshot-evidence requirement(s) in this review body.
Pending checks: 5 check(s) are not complete.
This approval reflects the completed code review only; merge readiness remains governed by the repository's required checks.
|
🤖 Deferred at the user’s request along with agent hooks. Status sounds depend on agent binding and hook activity, so this PR is parked as a draft and excluded from the active migration stack. The existing implementation is preserved for later. |
Summary
Adds VCCLI-style status sounds to
berd-call start, so you can hear when the agent is working on what you said. Status sounds are off by default.workingplays the Working cue (Pop);working-and-waitingalso plays the Waiting cue (Purr). In conventional mode, cues use the call's input controls so they are not transcribed as user speech, and they hold off while speech is still being recognized.berd-call settings --status-sounds off|working|working-and-waitingchanges the mode during a call, and the menu bar has a matching Status Sounds submenu. The mode and the current Working or Waiting status survivesettings --restart.Reviewer-reproducible example
Route the call through BlackHole: set the system output to BlackHole 2ch and the system input to BlackHole 16ch, then speak into the call with
say.The utterance arrives as cursor 1 and the Working cue repeats on BlackHole 2ch, including after the restart. It stops once the reply is spoken:
In the menu bar, choosing Status Sounds → While Working and Waiting changes
berd-call statusto"statusSounds": "working-and-waiting".