Inbox reply to channel thread rewrites h/thread tags, so ACP misses agent mention
- 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
Assessment
This issue has not been assessed yet.