Skip to content

fix(acp): re-root custom log targets under buzz_acp - #3309

Open
troyhoffman-oss wants to merge 1 commit into
block:mainfrom
troyhoffman-oss:fix/acp-log-target-reroot-up
Open

fix(acp): re-root custom log targets under buzz_acp#3309
troyhoffman-oss wants to merge 1 commit into
block:mainfrom
troyhoffman-oss:fix/acp-log-target-reroot-up

Conversation

@troyhoffman-oss

Copy link
Copy Markdown

The default filter is buzz_acp=info — set in run() and matched by the desktop's child-process filter in managed_agents/runtime.rs — but 84 log sites across the message-handling path declare their own target: pool::session, pool::prompt, acp::wire, canvas::fetch, and a dozen more.

EnvFilter matches a target by prefix from its root, and none of those roots is buzz_acp, so every one of them is filtered out. Turn dispatch, wire traffic, and session lifecycle never appear in a production journal, and RUST_LOG=buzz_acp=debug — the line TESTING.md hands operators when the default log is too quiet — turns none of them on.

This is the mechanism behind an observation in #2795: that fix's only trace was "a pool::model WARN that never reaches the per-agent log files."

Each target is now prefixed with buzz_acp::, so the crate filter reaches them while the existing suffixes keep working as narrower selectors (RUST_LOG=buzz_acp::acp::wire=trace). Names are otherwise unchanged, and nothing outside these call sites referenced them.

Pure rename — 84 insertions, 84 deletions, every changed line a target: string. No behavior change beyond the logs becoming reachable.

Testing

cargo test -p buzz-acp --lib: 616 passed; 0 failed. cargo fmt --check and cargo clippy -p buzz-acp --all-targets clean.

The default filter is `buzz_acp=info` — set in `run()` and matched by the
desktop's child-process filter — but 84 log sites across the message-handling
path declare their own target: `pool::session`, `pool::prompt`, `acp::wire`,
`canvas::fetch`, and a dozen more. `EnvFilter` matches a target by prefix from
its root, and none of those roots is `buzz_acp`, so every one of them was
filtered out. Turn dispatch, wire traffic, and session lifecycle have never
appeared in a production journal, and `RUST_LOG=buzz_acp=debug` — the line
`TESTING.md` hands operators when the default log is too quiet — turned none of
them on.

Each target is now prefixed with `buzz_acp::`, so the crate filter reaches
them while the existing suffixes keep working as narrower selectors
(`RUST_LOG=buzz_acp::acp::wire=trace`). Names are otherwise unchanged, and
nothing outside these call sites referenced them.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Signed-off-by: Troy Hoffman <troy.hoffman@icloud.com>
@troyhoffman-oss
troyhoffman-oss requested a review from a team as a code owner July 28, 2026 13:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant