Skip to content

berd-call: own status sounds, with a menu toggle - #402

Closed
johnmatthewtennant wants to merge 1 commit into
mainfrom
aaron/berd-call-own-status-sounds
Closed

johnmatthewtennant wants to merge 1 commit into
mainfrom
aaron/berd-call-own-status-sounds

Conversation

@johnmatthewtennant

Copy link
Copy Markdown
Contributor

Summary

Why. A host that knows when its agent is working, such as the Buzz Berd Call plugin, has to play its own Pop and Purr today. berd-call's session already owns that cadence (Pop every five seconds while working, Purr while waiting, quiet during speech), but nothing in a berd-call start call can tell it the agent's status. So the menu bar can't turn the sounds off, and every host reimplements them.

What.

  • berd-call settings --conversation-status working|waiting reports the agent's status to the running call. The call plays nothing until it is first set, so a terminal call whose agent never reports stays silent.
  • berd-call settings --status-sounds off|working|working-and-waiting, and a new Status Sounds submenu in the menu bar (Off, While Working, While Working and Waiting), choose what plays. The mode is saved with the call's other settings as status_sounds. The default is working, matching the session's existing default.
  • status reports statusSounds and conversationStatus. Both survive settings --restart: the replacement session is sent the last reported status as soon as it is ready.

Related issue

Revives the status-sound controls from #346, now driven by host-reported status instead of a guess from the transcript.

Testing

Live call from this branch's binary, with its own settings file and port (microphone muted):

export BERD_CALL_SETTINGS_FILE=$(mktemp -d)/settings.json
berd-call start --port 5363 --stream --voice Aaron --language en-US &
berd-call settings --port 5363 --muted true
berd-call status --port 5363                                        # statusSounds: working, conversationStatus: null (silent)
berd-call settings --port 5363 --conversation-status working        # conversationStatus: working (Pop repeats)
berd-call settings --port 5363 --status-sounds working-and-waiting  # saved: "status_sounds": "working-and-waiting"
berd-call settings --port 5363 --conversation-status waiting        # conversationStatus: waiting (Purr repeats)
berd-call settings --port 5363 --restart --voice Aaron --language en-US
                                                                    # still working-and-waiting / waiting after the restart
berd-call stop --port 5363

Observed statusSounds / conversationStatus at each step: working/null, working/working, working-and-waiting/working, working-and-waiting/waiting, then working-and-waiting/waiting after the restart, with the mode written to the settings file and nothing on stderr.

Unit coverage: the host holds status until one is reported, sends it with the mode, commits it before the session acknowledges, and saves only the mode; the menu shows the call's mode and sends the same status_sounds request as the CLI; the settings parser accepts only the documented values.

🤖 Generated with Claude Code

Hosts that know when the agent is working, such as the Buzz Berd Call
plugin, play their own cues today, so berd-call's menu bar can't turn
them off. The session already plays Pop and Purr on a five-second
cadence once told the agent's status; nothing in the standalone call
told it.

- `berd-call settings --conversation-status working|waiting` reports
  the agent's status. The call plays nothing until it is first set.
- `berd-call settings --status-sounds off|working|working-and-waiting`
  and a Status Sounds submenu choose what plays. The mode is saved
  with the call's other settings.
- `status` shows `statusSounds` and `conversationStatus`, and both
  survive `settings --restart`.

Co-authored-by: Aaron <f425b86c3b780d43f8d9cf1802429d04dd985bf92eac44fca9468b5ad3887c5e@buzz.block.builderlab.xyz>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: John Tennant <jtennant@block.xyz>
@johnmatthewtennant

Copy link
Copy Markdown
Contributor Author

Closing as a duplicate of #400, which another session of mine opened first with the same design.

@johnmatthewtennant
johnmatthewtennant deleted the aaron/berd-call-own-status-sounds branch October 20, 2026 19:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant