block / block/buzz

Inbox reply to channel thread rewrites h/thread tags, so ACP misses agent mention

Open
#7,044 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
32.7k
Forks
4.3k
Avg merge
1d 13h
Merged PRs (30d)
253

Description

## Summary

Replying to an existing channel thread from the Desktop **Inbox** can publish a correctly mentioned agent message under a different `h` channel and `e` thread root. The event persists and appears in the agent's mention feed, but the ACP harness does not route it to the existing per-channel agent session, so the agent never responds.

This is distinct from the DM delivery/projection case in #5632: the failing event here contains both the agent `p` tag and `mention` tag. The routing identifiers are wrong.

## Environment

- Buzz Desktop for macOS `0.5.20`
- Hosted Buzz community relay
- Managed Codex agent through `buzz-acp`
- Observed 2026-08-29

## Reproduction

1. In a normal channel thread, have a managed agent participate so the thread appears in Inbox.
2. Open that thread through Inbox.
3. Reply with an explicit `@Fizz` mention.
4. Wait for the managed agent.
5. Open the actual channel and thread, then send another explicit `@Fizz` mention.

## Expected

The Inbox reply preserves the source channel UUID and thread root, wakes the same per-channel ACP session, and receives a response just like the reply sent from the actual channel/thread view.

## Actual

The Inbox event is signed and persisted with the agent mention, but its `h` and reply-root `e` tags point somewhere else. It appears in the agent's relay mention feed, yet does not arrive in the owning channel session. Sending the same kind of mention from the actual channel/thread works immediately.

## Signed-event evidence

### Failing Inbox-routed event

- Event prefix: `fda71f71…`
- Content: `@Fizz thoughts?`
- `h` prefix: `9e3b123d…`
- reply-root `e` prefix: `c2ad5407…`
- Agent `p` tag present
- Agent `mention` tag present for the same pubkey
- Result: present in the agent mention feed; no ACP turn/response in the owning channel session

### Working actual-channel event

- Event prefix: `568947c1…`
- source-channel `h` prefix: `cb746b5a…`
- source reply-root `e` prefix: `9db579c5…`
- Same agent `p` and `mention` identities present
- Result: ACP turn started and the agent responded

Full signed event IDs, channel/thread identifiers, and the agent pubkey are intentionally omitted from this public report and can be provided privately to maintainers if needed.

## Likely boundary

Inbox appears to compose the reply using an Inbox/projection channel and root instead of preserving the source thread's signed routing identifiers. Because `buzz-acp` sessions and queues are per channel, a valid mention under the substituted `h` tag cannot reach the existing source-channel session.

## Suggested regression

From Inbox, reply to an existing non-DM channel thread with an explicit managed-agent mention and assert:

1. the new event's `h` equals the source channel UUID;
2. its reply-root `e` equals the source thread root;
3. `p` and `mention` contain the target agent;
4. ACP enqueues exactly one turn for that source-channel session.

## Workaround

Open the actual channel/thread before tagging the agent.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.