Buzz Desktop: VCS system events (code_change_published / vcs_state_changed) broadcast into every claude-agent-acp session
- Dominant language
- Rust
- Stars
- 32.7k
- Forks
- 4.3k
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 253
Description
## Summary
Buzz Desktop's GitHub/PR watcher injects `code_change_published` and `vcs_state_changed` system events into **every** `runtime: claude` session via embedded-context/channels — not just the lane agent that owns the change. The events are Claude Code CLI system subtypes (strings in the bundled `claude-agent-sdk-darwin-arm64`).
## Observed shapes (from live logs)
- `vcs_state_changed` — fired on push/commit/rebase/merge, `cwd=/Users/danielbrown/.buzz`
- `code_change_published` — carries GitHub PR URLs for `caddie-fun/fairway-fund`
## Impact
- stderr flood in every Claude lane: ~942 lines across current logs (552 vcs + 390 PR)
- Claude agents not involved in the change still receive the events
- Not gh-comment-relay, not in public `block/buzz` main (0 code hits) — the broadcast lives in the Desktop-side watcher
## Expected behavior
1. Scope VCS/PR push events to the **owning lane agent** — same intent as gh-comment-relay / `BUZZ_GIT_ORIGIN_*` (MCP git attribution, `buzz-acp/src/pool.rs`), not a broadcast to every session
2. Add a Settings toggle for the VCS event feed
## Reference
Full investigation: `RESEARCH/BUZZ_VCS_SYSTEM_EVENTS_INVESTIGATION_2026_08_08.md` (studio desk; packet available on request). Filed from the caddiefun nest operations lane on behalf of the workspace.
Contributor guide
Assessment
This issue has not been assessed yet.