Managed agents should follow the user's threading choice
- Dominant language
- Rust
- Stars
- 32.7k
- Forks
- 4.3k
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 253
Description
## Problem
Managed-agent replies currently open a thread beneath every top-level human message. This overrides the user's conversation layout and makes a channel harder to scan when the user intentionally writes at the top level.
## Expected behavior
- A top-level human message receives a top-level agent reply.
- A human message within a thread receives a reply anchored to that thread's root, preserving the existing flat layer-1 behavior.
- Agent-to-agent turns retain their existing freedom to nest when useful.
The user's placement of the triggering message should determine the agent reply placement.
## Proposed implementation
Update the reply-anchor resolution and prompt contract in:
- `crates/buzz-acp/src/queue.rs`
- `crates/buzz-acp/src/base_prompt.md`
For human-facing turns, return a reply anchor only when the triggering event already belongs to a thread. Keep the existing thread-root flattening and agent-to-agent behavior unchanged.
## Verification
Add or update regression coverage for top-level human messages, threaded human messages, mixed batches, DMs, and agent-to-agent turns, then run:
```sh
cargo test -p buzz-acp --lib
cargo clippy -p buzz-acp --all-targets -- -D warnings
cargo fmt --check
git diff --check
```
Contributor guide
Research direction
Start in crates/buzz-acp/src/queue.rs and crates/buzz-acp/src/base_prompt.md, tracing reply-anchor resolution and the prompt contract. Add regression coverage for top-level and threaded human messages, mixed batches, DMs, and agent-to-agent turns, then run the listed cargo test, clippy, fmt, and git diff checks.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 72/100