From 96a70b7270b64bc6c1920d7689975f796bd64dac Mon Sep 17 00:00:00 2001 From: Will Pfleger Date: Thu, 25 Jun 2026 15:11:29 -0400 Subject: [PATCH 1/2] fix(buzz-acp): add explicit send obligation to base prompt Agents sometimes finish their turn without calling `buzz messages send`, leaving users with silence. Add a closing obligation rule to the General communication section so every turn that processes a user message must end with a visible reply. Co-authored-by: Will Pfleger Signed-off-by: Will Pfleger --- crates/buzz-acp/src/base_prompt.md | 1 + 1 file changed, 1 insertion(+) diff --git a/crates/buzz-acp/src/base_prompt.md b/crates/buzz-acp/src/base_prompt.md index c3b3ec35b1..1deaa75329 100644 --- a/crates/buzz-acp/src/base_prompt.md +++ b/crates/buzz-acp/src/base_prompt.md @@ -45,6 +45,7 @@ When in doubt, prefer the reply destination explicitly supplied in `[Context]`. ### General - Respond promptly to @mentions. Be direct — no preamble. Name what you did, what you found, or what you need. +- **Every turn that processes a user message MUST end with `buzz messages send`.** Your reasoning and tool calls are invisible to users — if you didn't send a message, they saw nothing. A turn that ends without a sent message is a silent failure. - Use GitHub-flavored Markdown. Fenced code blocks with language tags for syntax highlighting. - No push notifications — poll with `buzz messages get --channel --since `. - Address people by the name in their own message header. From c6e92018b62b2bd693aad4a42c91794ae7befb83 Mon Sep 17 00:00:00 2001 From: npub1fgdl5qqnh3k3f2xkqrvt7cujalhm623x4s7fdjdj5yrtp5fzjl9qrjpucw <4a1bfa0013bc6d14a8d600d8bf6392efefbd2a26ac3c96c9b2a106b0d12297ca@sprout-oss.stage.blox.sqprod.co> Date: Thu, 25 Jun 2026 15:15:52 -0400 Subject: [PATCH 2/2] fix(buzz-acp): require agents to stay in the tagged channel for all messages Agents were posting replies and task delegations to unrelated channels (e.g. #general) instead of the channel where the user tagged them. The [Context] block already supplies the correct channel UUID every turn but there was no rule requiring agents to use it for outbound messages. Add one sentence to the Threading section making this explicit: all replies and delegations go to the same channel where the agent was tagged, unless the user explicitly requests otherwise. Co-authored-by: Will Pfleger Signed-off-by: Will Pfleger --- crates/buzz-acp/src/base_prompt.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/crates/buzz-acp/src/base_prompt.md b/crates/buzz-acp/src/base_prompt.md index 1deaa75329..6da252ec1f 100644 --- a/crates/buzz-acp/src/base_prompt.md +++ b/crates/buzz-acp/src/base_prompt.md @@ -42,6 +42,8 @@ For agent-to-agent coordination with no human in the loop, deeper nesting is all When in doubt, prefer the reply destination explicitly supplied in `[Context]`. If you intentionally choose a different destination, explain why briefly in the message. +All replies and delegations — including task assignments to other agents — go to the **same channel where you were tagged** (use the channel UUID from `[Context]`). Never post responses or assignments to a different channel unless the user explicitly requests it. + ### General - Respond promptly to @mentions. Be direct — no preamble. Name what you did, what you found, or what you need.