Skip to content

feat(forum): agents hear and answer forum posts and comments - #7855

Closed
BachirSaaS wants to merge 1 commit into
block:mainfrom
BachirSaaS:feat/forum-agent-participation
Closed

BachirSaaS wants to merge 1 commit into
block:mainfrom
BachirSaaS:feat/forum-agent-participation

Conversation

@BachirSaaS

Copy link
Copy Markdown

Summary

Forum channels were invisible to the agent surface, two ways:

  1. Agents never heard forum activity. buzz-acp's Mentions subscription only carried kinds 9 / approval / reminder, so a forum post or comment that p-tagged an agent never started a turn — the mention was silently dropped ([Bug] Forum-post @mentions never wake agents — only kind 9 chat messages reach the agent harness #2850, buzz-acp: subscribe=mentions never receives forum-post mentions (kinds 45001/45003) #5268, buzz-acp does not start agent turns for p-tagged mentions in forum thread replies #4482, Forum thread mentions never reach managed agents #5249).
  2. Agent replies vanished. When an agent did reply via buzz messages send, the CLI published kind 9, which the forum view never renders: the reply disappeared from the thread ([Bug] Agent forum replies publish as kind 9 and disappear from the forum thread #3828), and bare forum-channel sends were silently invisible (buzz messages send defaults to an invisible stream event for forum roots #5075).

Read side (buzz-acp)

  • Forum post (45001) and comment (45003) kinds join the Mentions default subscription via one shared default_mention_kinds() helper, replacing the three divergent copies (startup rules, per-channel filters, dynamic channel filters).
  • No dispatch changes needed: the author gate, mention filter, and queue are kind-agnostic, and forum comments carry NIP-10 thread tags, so the existing --reply-to reply instruction already fires for them.

Write side (buzz-cli)

  • buzz messages send without an explicit --kind resolves the channel's kind:39000 metadata; in a forum channel a bare send becomes a post (45001) and a --reply-to send becomes a comment (45003).
  • The routing lookup fails open to stream behavior on any error, so it can never block delivery. Agents following the existing --reply-to instruction now land as visible forum comments with no prompt changes.
  • An explicit --kind stays authoritative.

Testing

  • cargo test -p buzz-acp --lib — new asserts pin forum kinds in test_mentions_mode_default_kinds + new test_dynamic_mentions_mode_default_kinds (963 pass; the 2 lazy_pool failures also fail on clean origin/main).
  • cargo test -p buzz-cli --lib messages:: — new channel_type_from_metadata_reads_t_tag; the two palette-RTT tests updated for the one routing lookup (36 pass).

Fixes #2850
Fixes #5268
Fixes #4482
Fixes #5249
Fixes #5075
Fixes #3828

@BachirSaaS
BachirSaaS requested a review from a team as a code owner September 24, 2026 00:28
@github-actions

github-actions Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

🔐 Codex Security Review

Status: review required for the current range.

The current range is d01e5f82058463709a22e93bb4cd795da5f53e10...962d5b7d4854fd040a425bf3718601367cf6d7f6.
A new review must complete for this exact range. When manual authorization
is required, a Block organization member must comment exactly
@buzz-security-review 962d5b7d4854fd040a425bf3718601367cf6d7f6 to authorize a new review.
Any previous review applies only to its recorded range.

@BachirSaaS
BachirSaaS force-pushed the feat/forum-agent-participation branch from 83fd99b to 27ea7b7 Compare September 24, 2026 01:14
Forum channels were invisible to the agent surface: buzz-acp's Mentions
subscription only carried kinds 9/approval/reminder, so a forum post or
comment that p-tagged an agent never started a turn (block#2850, block#5268,
block#4482, block#5249) — and when an agent did reply via 'buzz messages send',
the CLI published kind 9, which the forum view never renders: the reply
vanished (block#3828) and bare forum-channel sends were silently invisible
(block#5075).

Read side: forum post (45001) and comment (45003) kinds join the
Mentions default subscription in one shared default_mention_kinds()
helper (startup rules, per-channel filters, dynamic channel filters).
The dispatch path is already kind-agnostic, and forum comments carry
NIP-10 thread tags, so the existing --reply-to reply instruction fires
for them unchanged.

Write side: 'buzz messages send' without an explicit --kind now resolves
the channel's kind:39000 metadata; in a forum channel a bare send
becomes a post (45001) and a --reply-to send becomes a comment (45003).
The routing lookup fails open to stream behavior on any error so it can
never block delivery. Agents that follow the existing --reply-to
instruction now land as visible forum comments with no prompt changes.

Signed-off-by: BachirSaaS <bachir.dagodi@gmail.com>
@BachirSaaS
BachirSaaS force-pushed the feat/forum-agent-participation branch from 27ea7b7 to 962d5b7 Compare September 24, 2026 01:17
@BachirSaaS

Copy link
Copy Markdown
Author

Closing — we'll maintain these fixes in our fork instead. Thanks for the look.

@BachirSaaS BachirSaaS closed this Sep 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment