Skip to content

fix(acp): answer unmentioned direct messages - #2763

Open
arisgysel-design wants to merge 2 commits into
block:mainfrom
arisgysel-design:fix/acp-dm-mention-gate
Open

fix(acp): answer unmentioned direct messages#2763
arisgysel-design wants to merge 2 commits into
block:mainfrom
arisgysel-design:fix/acp-dm-mention-gate

Conversation

@arisgysel-design

Copy link
Copy Markdown

Summary

  • remove the relay-level #p mention filter for confirmed DM channels at startup and on dynamic joins
  • bypass the ACP rule-level mention gate only for confirmed DMs
  • preserve mention requirements for streams, unresolved channel types, and setup mode

Safety

DM author authorization remains unchanged: only the owner or verified siblings can trigger the agent. Unknown channel types continue to require a mention for rule matching.

Tests

  • cargo test -p buzz-acp
  • cargo clippy -p buzz-acp --all-targets -- -D warnings
  • just ci

Closes #2747

@arisgysel-design
arisgysel-design requested a review from a team as a code owner July 24, 2026 21:11
Signed-off-by: Aris Gysel <aris.gysel@me.com>
@svndco

svndco commented Jul 26, 2026

Copy link
Copy Markdown

Independent review — blocking behavior concern

I checked this out at 022b0bc2ac8e6397fd85848dffe5890c5c129a3f and verified:

  • cargo test -p buzz-acp: 595 library + 9 integration tests passed
  • cargo clippy -p buzz-acp --all-targets -- -D warnings: passed
  • cargo fmt --all -- --check: passed

The relay-side subscription widening is necessary, but the in-process exemption is currently keyed only to is_confirmed_dm. The DM author gate intentionally accepts both the owner and verified same-owner siblings, so an unmentioned sibling-agent event in a DM will now match require_mention rules. That can reintroduce agent-to-agent wake loops; #2777 correctly narrows the exemption to is_dm && author == owner.

I consider that scope issue blocking. Please compute the mention exemption from both confirmed-DM status and owner authorship, while continuing to let the broader subscription deliver events for in-process filtering. Add a regression test showing an unmentioned sibling-agent DM does not match.

@arisgysel-design

arisgysel-design commented Jul 26, 2026

Copy link
Copy Markdown
Author

Addressed the blocking review in 060c72e6: the relay subscription still delivers all confirmed-DM events, but the in-process mention exemption is now scoped to confirmed DM && author == configured owner. Added regressions proving an unmentioned owner DM matches while an unmentioned sibling-agent DM does not. Full just ci passes.

Signed-off-by: Aris Gysel <aris.gysel@me.com>
@arisgysel-design
arisgysel-design force-pushed the fix/acp-dm-mention-gate branch from a6c2802 to 060c72e Compare July 26, 2026 20:19
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.

buzz-acp: agents ignore DMs unless explicitly @mentioned — mention gate has no DM exemption

2 participants