Skip to content

Managed agents should follow the user's threading choice #5439

Description

@marcusquinn

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:

cargo test -p buzz-acp --lib
cargo clippy -p buzz-acp --all-targets -- -D warnings
cargo fmt --check
git diff --check

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions