Conversation
This was referenced Sep 16, 2026
JoaoMarcos44
added a commit
to JoaoMarcos44/hermes-agent
that referenced
this pull request
Sep 16, 2026
…cation Related to NousResearch#112734. Complementary to NousResearch#112778/NousResearch#113225/NousResearch#113252; blocked-on NousResearch#108914 epoch remains None.
17 tasks
kvnloo
force-pushed
the
feat/cu-critical-path-report-112639
branch
2 times, most recently
from
September 16, 2026 22:10
b5dd9ad to
6052f78
Compare
kvnloo
force-pushed
the
feat/cu-critical-path-report-112639
branch
7 times, most recently
from
September 17, 2026 05:08
6d786c7 to
1bd629b
Compare
Closed
4 tasks done
kvnloo
force-pushed
the
feat/cu-critical-path-report-112639
branch
6 times, most recently
from
September 17, 2026 12:07
cf0f6ec to
c7111ac
Compare
NousResearch#112639 P0) Consumes phase spans keyed by the existing observer/request/tool correlation IDs (session_id / task_id / tool_call_id) and reconstructs per-task critical paths locally: ordered phase segments, idle gaps, avoidable idle (approval_wait, dispatch_lock_wait), and p50/p95 E2E explained as a sum of measured phases. Complements NousResearch#112778 (phase span recording) without duplicating it. Behavior-neutral: no schema change, no model-facing change. authored with AI assistance (Muse, Meta's Muse Spark) under the contributor's direction; reviewed and approved by the contributor before submission.
kvnloo
force-pushed
the
feat/cu-critical-path-report-112639
branch
from
September 17, 2026 13:08
c7111ac to
119a348
Compare
Author
|
Closing this analysis-only carrier. It depends on the separate phase recorder #112778, neither half is on current main, and the performance work since this RFC has been more useful when attached directly to a concrete optimization with a before/after control. We should not make a general critical-path reporting framework a prerequisite for improving one demonstrated hot path. The span vocabulary / no-double-count report remains useful experiment provenance and can be revived in eval tooling if a current performance question actually needs it. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Adds the analysis half of the P0 instrumentation slice from the computer-use latency wave (design RFC #112639). New
tools/computer_use/critical_path.pyconsumes phase spans keyed by the existing observer/request/tool correlation IDs (session_id/task_id/tool_call_id, as carried by thepre_tool_call/post_tool_callandpre_api_request/post_api_requestlifecycle hooks) and reconstructs per-task critical paths locally, with no Relay round trip.For each task the report produces: end-to-end latency, measured phase time as a sum of non-overlapping critical-path segments, the explained fraction, idle gaps between spans, and avoidable idle (
approval_wait+dispatch_lock_wait+ gaps). The aggregate view gives p50/p95 E2E with the p50 explained fraction — the exit criterion for the P0 slice. The phase vocabulary matches the recording half so the two compose without overlap.Related Issue
Related to #112639 (P0 wave slice). Closes the measurement gap behind #109569 (per-turn breakdown discarded from a 10-deep deque), #93312 (hardcoded driver readiness probe), and #63357 (capture/settle latency as a black box). Complements #112778, which records the phase spans — this PR only reads them and never records new spans, so the two do not duplicate.
Type of Change
Changes Made
tools/computer_use/critical_path.py(new):Span/TaskReport/AggregateReport, sweep-based critical-path reconstruction (never double-counts overlapping or envelope spans), nearest-rank p50/p95,render()text summarytests/computer_use/test_cua_perf_knobs.py: deterministic fixtures for AX-only, SOM, vision, aux-vision, and capture-after flows; reconstruction order, avoidable-idle, no-double-count, and aggregate testsHow to Test
scripts/run_tests.sh tests/computer_use/test_cua_perf_knobs.py— 8/8 green (5 new)scripts/run_tests.sh tests/computer_use/— 57 passed, 1 skippedChecklist
Code
scripts/run_tests.shand all passDocumentation & Housekeeping
Authored with AI assistance (Muse, Meta's Muse Spark) under the contributor's direction.