feat(acp): show where reply time goes after an agent @mention - #6637
feat(acp): show where reply time goes after an agent @mention#6637BradGroux wants to merge 1 commit into
Conversation
f2f8f52 to
4f9ad04
Compare
|
Rebased onto the latest No review comments on this PR. CI will verify the build and test gate. |
4f9ad04 to
d3d79b9
Compare
🔐 Codex Security Review
|
|
Rebased onto the latest Still-needed assessment: No upstream commits in the 62-commit window address the same issue. This PR remains needed. Review requests: |
d3d79b9 to
a350279
Compare
|
Rebased onto current Conflict resolved: Still needed: Upstream #6732 adds per-thread session scoping and #6953 wakes agents from workflow messages — neither addresses mention-to-reply latency tracing. The PR remains relevant. Verification:
|
4f9ad04 to
5d04ac6
Compare
Rebase and review — 2026-09-03Base commit: Accuracy review: No mention-to-reply latency tracing exists on main. |
5d04ac6 to
5978eae
Compare
Rebase and review update — Sep 3, 2026Rebased onto latest main ( Accuracy review: Main does not have a latency collector for mention-to-reply tracing. The Mergeable status: Confirmed MERGEABLE on GitHub after force-push. |
Refs block#2386 Co-authored-by: Brad Groux <bradgroux@hotmail.com> Signed-off-by: Brad Groux <bradgroux@hotmail.com> Signed-off-by: Brad Groux <3053586+BradGroux@users.noreply.github.com>
5978eae to
839992a
Compare
Rebase pass — Sep 5, 2025Rebased onto current upstream main ( Rebase resultRebased cleanly onto current main. No conflicts. Still-needed assessmentChecked all 62 new main commits for overlap with this PR's topic. None obsoleted:
Verification
|
Refs #2386.
Why this PR exists
Four simple agent replies in #2386 took 13–31 seconds, but the available event timestamps only showed the beginning and end of each turn. That left no way to tell whether the delay happened in queueing, runtime startup, model work, or reply publication.
This PR adds the first in-process timing slice after Buzz receives the mention.
What changed
mention_reply_latencysamples.What this measures
This slice measures
harness_relay_receiptthroughharness_relay_fanout. It does not claim sender-publish-to-recipient-render timing.Durations come from one process-local monotonic clock. RFC3339 and Nostr timestamps are correlation metadata only.
The new semantic timing events contain identifiers, path classification, durations, and sample counts. They do not include message content, prompts, model output, credentials, or tool arguments. Existing raw
acp_readandacp_writeobserver events are unchanged and remain outside this new redaction guarantee.Verification
cargo fmt --all -- --checkcargo clippy -p buzz-acp --all-targets --all-features -- -D warningscargo test -p buzz-acp --no-fail-fastwith ambient lazy-pool overrides removed: 673 library tests and 9 pool-lifecycle tests passed.just cipassed formatting, workspace strict Clippy, Desktop check, Tauri strict Clippy, web check, mobile format/analyze, Rust suites, 3,885 Desktop tests and build, 2,047 Tauri library tests plus 3 diagnostics, and the web build. The final mobile suite reached 1,021 passed and 1 skipped, then reproduced the unchanged current-main failureChannelDetailPage keeps follow mode off while a tall newest message stays visibleatmobile/test/features/channels/channel_detail_page_test.dart:1053. This branch has no mobile diff.What remains
#2386 should stay open until the outer sender-publication and recipient-render or relay-acceptance boundaries are measured, hosted warm/cold baselines and explicit budgets exist, and a scheduled or blocking regression job is in place.