Skip to content

ci(e2e): record runner comparison telemetry#7247

Closed
cjagwani wants to merge 3 commits into
codex/e2e-larger-runner-routingfrom
codex/e2e-larger-runner-telemetry
Closed

ci(e2e): record runner comparison telemetry#7247
cjagwani wants to merge 3 commits into
codex/e2e-larger-runner-routingfrom
codex/e2e-larger-runner-telemetry

Conversation

@cjagwani

Copy link
Copy Markdown
Collaborator

Summary

Adds durable job-level runner telemetry to the five larger-runner candidates so the inactive #7145 experiment can compare standard and larger runners with the same evidence contract. Sampling reuses the existing progress heartbeat, stays best-effort, and does not change live-test outcomes.

Related Issue

Related to #7145

Changes

  • Collect allowlisted host CPU counters, memory evidence, and workspace capacity/headroom in one bounded private ledger per candidate job.
  • Initialize the ledger after shared workspace preparation and summarize it before artifact scanning/upload; the serialized Deep Agents Vitest invocations share one job-level record.
  • Keep common-egress and MCP sampling lightweight while preserving the existing detailed Hermes failure diagnostics.
  • Reject unknown evidence fields, link substitution, oversized ledgers, out-of-scope workflow consumers, and concurrent MCP ledger writers.
  • Document the five-standard plus five-larger comparison, sampled-metric limits, Actions-side queue/job/cost evidence, and rollback.

Type of Change

  • Code change (feature, bug fix, or refactor)
  • Code change with doc updates
  • Doc only (prose changes, no code sample modifications)
  • Doc only (includes code sample changes)

Quality Gates

  • Tests added or updated for changed behavior
  • Existing tests cover changed behavior — justification:
  • Tests not applicable — justification:
  • Docs updated for user-facing behavior changes
  • Docs not applicable — justification:
  • Sensitive paths changed (security, policy, credentials, preflight, onboarding, inference, runner, sandbox, or messaging)
  • Sensitive-path review completed or maintainer-approved waiver recorded — reviewer/approval link/justification: Independent implementation review passed all security categories; evidence is numeric/allowlisted, private/no-follow, size-bounded, and limited to the five reviewed lanes.
  • Non-success, skipped, or missing CI check accepted by maintainer — check name, approval link, and follow-up issue:

Verification

  • PR description includes a Signed-off-by: line and every commit appears as Verified in GitHub
  • Normal pre-commit, commit-msg, and pre-push hooks passed, or npm run check:diff passed when hooks were skipped or unavailable
  • Targeted behavior tests pass for the current change set, or tests are marked not applicable above — npx vitest run --project e2e-support for the six telemetry/progress suites: 90/90 passed.
  • Applicable broad gate passed — Full e2e-support with four workers: 1,295 passed and 4 skipped; two existing fixed-timeout tests failed under aggregate load, then passed in isolation (4/4 and 31/31).
  • Quality Gates section completed with required justifications or waivers
  • No secrets, API keys, or credentials committed
  • npm run docs builds without warnings (doc changes only) — completed successfully with 0 errors and 2 existing Fern warnings.
  • Doc pages follow the style guide (doc changes only)
  • New doc pages include SPDX header and frontmatter (new pages only)

Signed-off-by: Charan Jagwani cjagwani@nvidia.com

Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
@copy-pr-bot

copy-pr-bot Bot commented Jul 20, 2026

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@cjagwani

Copy link
Copy Markdown
Collaborator Author

/nvskills-ci

@coderabbitai

coderabbitai Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: d39dd52b-49ea-402f-a2bd-8b9ee44480de

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/e2e-larger-runner-telemetry

Comment @coderabbitai help to get the list of available commands.

@github-code-quality

github-code-quality Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Code Coverage Overview

Languages: TypeScript

TypeScript / code-coverage/plugin

The overall coverage in commit 2f579c2 in the codex/e2e-larger-run... branch remains at 96%, unchanged from commit 70d7d28 in the codex/e2e-larger-run... branch.

TypeScript / code-coverage/cli

The overall coverage in commit 2f579c2 in the codex/e2e-larger-run... branch remains at 80%, unchanged from commit 36e646d in the codex/e2e-larger-run... branch.

Show a code coverage summary of the most impacted files.
File codex/e2e-larger-run... 36e646d codex/e2e-larger-run... 2f579c2 +/-
src/lib/actions...up-rendering.ts 55% 34% -21%
src/lib/actions...ateway-state.ts 76% 65% -11%
src/lib/domain/.../connect-env.ts 97% 89% -8%
src/lib/onboard...up-inference.ts 98% 97% -1%
src/lib/onboard.ts 31% 31% 0%
src/lib/state/o...config-merge.ts 95% 96% +1%
src/lib/onboard...der-recovery.ts 91% 94% +3%
src/lib/inferen...er-lifecycle.ts 65% 71% +6%
src/lib/onboard...-flow-phases.ts 83% 100% +17%
src/lib/actions...ocker-health.ts 65% 89% +24%

Updated July 20, 2026 17:36 UTC

Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
@cjagwani

Copy link
Copy Markdown
Collaborator Author

/nvskills-ci

@wscurran wscurran added area: ci CI workflows, checks, release automation, or GitHub Actions area: e2e End-to-end tests, nightly failures, or validation infrastructure chore Build, CI, dependency, or tooling maintenance integration: dcode LangChain Deep Code integration behavior labels Jul 20, 2026
@github-actions

github-actions Bot commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

PR Review Advisor — Informational

Advisor assessment: Informational / high confidence
Next action: No advisor follow-up needed.
Findings: 0 blockers · 0 warnings · 0 suggestions
Status: No actionable findings remain in the canonical review ledger.

Model lanes

  • GPT-5.6 Terra (primary): Completed · high confidence · 0 blockers · 0 warnings · 0 suggestions
  • Nemotron 3 Ultra (second opinion): Completed · high confidence · 0 blockers · 0 warnings · 1 suggestion
  • Model comparison: normalized findings differ; normalized E2E selections differ; Nemotron reported the same number of blockers, the same number of warnings, 1 more suggestion.

Nemotron output stays in workflow artifacts and does not change the assessment above.

E2E guidance

Advisory only. E2E / PR Gate selects and runs jobs independently.

Recommended E2E: cloud-onboard, credential-sanitization, security-posture

4 optional E2E recommendations
  • mcp-bridge
  • common-egress-agent
  • rebuild-hermes
  • rebuild-hermes-stale-base

Workflow run details

This automated review informs maintainers. Warnings and suggestions do not require a response. A maintainer decides whether to merge.

Comment thread test/e2e/support/runner-pressure-workflow-boundary.test.ts Fixed
Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
@cjagwani

Copy link
Copy Markdown
Collaborator Author

/nvskills-ci

@cjagwani

Copy link
Copy Markdown
Collaborator Author

Closing this draft because the stacked implementation is superseded in its current form: #7100 now provides the shared semantic-phase, stall, timing, and resource evidence, and the parent routing PR #7245 was closed without merging. The unique job-level CPU, memory, and disk comparison telemetry may still be useful for #7145; if that larger-runner experiment resumes, it should be salvaged as a smaller PR based on current main that reuses the #7100 infrastructure. This PR does not implement the separate rolling nightly runtime-history and GitHub Step Summary work.

@apurvvkumaria

Copy link
Copy Markdown
Collaborator

The unique runner-comparison telemetry has been rebuilt from current main as #7399. The replacement is limited to the five #7145 candidate executions, records only start/end CPU, memory, and workspace evidence, and does not duplicate #7100 phase/stall diagnostics or depend on #7391's routing changes.

cv pushed a commit that referenced this pull request Jul 23, 2026
## Summary

Records bounded start/end CPU, memory, and workspace evidence for every
#7145 larger-runner route so the standard-versus-larger experiment can
compare like-for-like jobs. This is the current-`main` replacement for
the unique telemetry portion of closed #7247; it does not change runner
routing or duplicate #7100 phase, stall, timing, or resource
diagnostics.

## Related Issue

Related to #7145. Supersedes the telemetry portion of #7247.

## Changes

- Write one canonical private numeric sample after workspace preparation
and one from an `always()` finalizer before artifact scanning or upload.
- Cover 12 routed workflow lane identities and 13 concrete executions;
`hermes-inference-switch` contributes its `hosted` and `anthropic`
matrix entries.
- Keep the OpenClaw entries for `mcp-bridge`, `channels-stop-start`, and
`security-posture` uninstrumented because #7391 leaves those entries on
standard runners.
- Summarize measured-window CPU utilization, host-memory endpoints and
root-cgroup lifetime peak, plus workspace endpoints and growth without
invoking Docker, `ps`, or background samplers.
- Reject unknown fields, duplicate JSON keys, malformed timestamps,
identity/counter drift, oversized evidence, symlink/hardlink final-file
substitution, matrix topology drift, and workflow scope/order drift.
- Document comparison controls and limitations. Standard-runner
baselines can begin before #7391 changes routing; the same evidence
remains after larger-runner activation.

## Type of Change

- [ ] Code change (feature, bug fix, or refactor)
- [x] Code change with doc updates
- [ ] Doc only (prose changes, no code sample modifications)
- [ ] Doc only (includes code sample changes)

## Quality Gates

- [x] Tests added or updated for changed behavior
- [ ] Existing tests cover changed behavior — justification:
- [ ] Tests not applicable — justification:
- [x] Docs updated for user-facing behavior changes
- [ ] Docs not applicable — justification:
- [x] Sensitive paths changed (security, policy, credentials, preflight,
onboarding, inference, runner, sandbox, or messaging)
- [x] Sensitive-path review completed or maintainer-approved waiver
recorded — reviewer/approval link/justification: independent review
confirmed the exact trusted-main/no-alternate-checkout boundary,
Hermes-only matrix guards, bounded private schema, and
finalizer-before-scan/upload ordering.
- [ ] Non-success, skipped, or missing CI check accepted by maintainer —
check name, approval link, and follow-up issue:

## Documentation Writer Review

- [x] Documentation writer subagent reviewed the completed
implementation
- Result: `docs-updated`
- Evidence: `test/e2e/README.md` documents the 12 routed workflow lane
identities, 13 concrete executions, OpenClaw exclusions, sample
limitations, missing-summary interpretation, and comparison
requirements. The exact-head refresh confirmed the final test-only
review fix requires no further documentation change.
- Agent: Codex Desktop
- PR: #7399
<!-- docs-review-head-sha: c09137d -->
<!-- docs-review-agents-blob-sha: 9061453 -->

## DGX Station Hardware Evidence

- [ ] Tested on DGX Station
- Tested commit: Not applicable
- Station profile/scenario: Not applicable
- Result: Not applicable
- Supporting evidence: Not applicable

## Verification

- [x] PR description includes a `Signed-off-by:` line and every commit
appears as `Verified` in GitHub
- [x] Normal `pre-commit`, `commit-msg`, and `pre-push` hooks passed, or
`npm run check:diff` passed when hooks were skipped or unavailable
- [x] Targeted behavior tests pass for the current change set, or tests
are marked not applicable above — focused E2E-support validation passed
102 tests; an independent rerun of the four directly affected suites
passed 94 tests; the final matrix-assertion review fix passed its
focused 28-test suite.
- [ ] Applicable broad gate passed — Full `e2e-support` previously
reached 1,381 passed and 9 skipped; two unrelated existing local
failures remained. GitHub CI is authoritative for the Linux gate.
- [x] Quality Gates section completed with required justifications or
waivers
- [x] No secrets, API keys, or credentials committed
- [ ] `npm run docs` builds without warnings (doc changes only) —
completed with 0 errors and 2 existing Fern warnings
- [ ] Doc pages follow the [style
guide](https://github.com/NVIDIA/NemoClaw/blob/main/docs/CONTRIBUTING.md)
(doc changes only) — no `docs/` page changed
- [ ] New doc pages include SPDX header and frontmatter (new pages only)
— no new doc page

---

Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>

---------

Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
Co-authored-by: Prekshi Vyas <prekshiv@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: ci CI workflows, checks, release automation, or GitHub Actions area: e2e End-to-end tests, nightly failures, or validation infrastructure chore Build, CI, dependency, or tooling maintenance integration: dcode LangChain Deep Code integration behavior

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants