feat(acp): show where reply time goes after an agent @mention - #2408
feat(acp): show where reply time goes after an agent @mention#2408BradGroux wants to merge 1 commit into
Conversation
80f5d51 to
0f8661a
Compare
|
I refreshed this branch against current The original timing slice is still relevant, but the audit found two ways a delayed or flat-thread relay event could corrupt attribution:
Head Exact-head verification:
The scope remains intentionally narrow. This still does not measure sender publication, hosted relay acceptance, recipient rendering, or establish a latency budget, so #2386 should remain open. |
0f8661a to
40edf23
Compare
|
Rebased this branch onto current Head moved from Verification:
GitHub checks are rerunning on the new head. |
40edf23 to
f72f798
Compare
|
Rebased onto current The rebase audit found one attribution bug. A reply with signed parent or root tags that matched no tracked trigger could fall back to the active channel turn and manufacture a plausible latency sample for unrelated work. Signed thread evidence is now authoritative: unmatched tags fail closed, and channel fallback is reserved for genuinely flat replies with no signed thread tags. A regression covers the active-turn misattribution case. The commit subject also now uses the contributor guide's allowed Published head: ACP formatting, strict Clippy, 673 library tests, and 9 pool-lifecycle tests pass. The full repository gate passed every stage before reproducing the unchanged current-main mobile failure at |
f72f798 to
7b7344d
Compare
|
Rebased onto The reported timings are useful and materially strengthen the case that hosted upstream/write-path latency deserves separate instrumentation. Two causal conclusions are only partial, though:
This does not invalidate the field report. It narrows what the data proves: the hosted upstream/write path is slow and variable, while the existing measurements do not isolate queueing, wake-up, proxy, or application service time from one another. PR #2408 remains the correct in-process slice. Its Exact-head verification on
The branch remains valid, #2460 remains narrower, and no current-main change supersedes the actual reply-fan-out correlation implemented here. |
Refs block#2386 Co-authored-by: Brad Groux <bradgroux@hotmail.com> Signed-off-by: Brad Groux <bradgroux@hotmail.com>
7b7344d to
2835ff2
Compare
Review and rebase summaryReviewed the PR for accuracy against current What this PR doesAdds content-free mention-to-reply latency instrumentation to Accuracy review
Rebase resultHead moved from CIDCO passes. Semgrep OSS and zizmor were pending at the time of this comment. |
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.