Skip to content

feat(skills): add continuous e2e failure-fixing loop - #8592

Open
cjagwani wants to merge 15 commits into
mainfrom
codex/nemoclaw-e2e-fix-loop
Open

feat(skills): add continuous e2e failure-fixing loop#8592
cjagwani wants to merge 15 commits into
mainfrom
codex/nemoclaw-e2e-fix-loop

Conversation

@cjagwani

@cjagwani cjagwani commented Aug 8, 2026

Copy link
Copy Markdown
Collaborator

Summary

Adds a persistent maintainer skill for fixing failures from automatic main E2E runs. The skill replaces repeated one-off prompts with one root-cause queue, shared ownership, gated peer review, and continuous monitoring.

Changes

  • Add the nemoclaw-maintainer-fix-e2e-failures workflow and its Codex interface metadata.
  • Define root-cause ownership, exact-head review and merge decisions, obsolete-work handling, and continuity handoff requirements.
  • Add 12 routing and behavior evaluations for workflow selection and expected behavior.
  • Add concise decision examples and contents lists for progressive disclosure.
  • Remove test/maintainer-skills-policy.test.ts, the source-shape policy assertion suite, per maintainer review.

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: This changes an internal maintainer-agent workflow. It does not change a public command, configuration, default, or supported product behavior.
  • 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:
  • Non-success, skipped, or missing CI check accepted by maintainer — check name, approval link, and follow-up issue:

Documentation Writer Review

  • Documentation writer subagent reviewed the completed changes
  • Result: docs-updated
  • Evidence: Reviewed .agents/skills/nemoclaw-maintainer-fix-e2e-failures/SKILL.md, .agents/skills/nemoclaw-maintainer-fix-e2e-failures/references/continuity-handoff.md, .agents/skills/nemoclaw-maintainer-fix-e2e-failures/references/queue-and-ownership.md, .agents/skills/nemoclaw-maintainer-fix-e2e-failures/references/review-and-merge.md, and .agents/skills/nemoclaw-skills-guide/SKILL.md. The latest change deletes only the pre-existing source-shape test file at maintainer request. It does not change skill behavior or require public documentation.
  • Agent: Codex Desktop

DGX Station Hardware Evidence

  • Tested on DGX Station
  • Tested commit:
  • Station profile/scenario:
  • Result:
  • Supporting evidence:

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 validate:pr passed after refreshing origin/main when hooks were skipped or unavailable
  • Targeted behavior tests pass for the current change set, or tests are marked not applicable above — command/result or justification: npx vitest run --project integration test/skills-frontmatter.test.ts test/pr-limit-policy.test.ts — 37 tests passed; npm run test:projects:check — passed with exact project membership.
  • Applicable broad gate passed — npm test for broad runtime/test-harness changes; npm run check for repo-wide validation/coverage changes — command/result:
  • 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)
  • 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

Summary by CodeRabbit

  • New Features
    • Added a continuous workflow for monitoring end-to-end test failures, grouping root causes, coordinating fixes, and tracking ownership through review and merge.
    • Added procedures for safe handoffs, duplicate or obsolete fixes, blocked work, and uninterrupted monitoring.
    • Added the maintainer capability to the skills catalog and guide.

Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
@cjagwani cjagwani self-assigned this Aug 8, 2026
@copy-pr-bot

copy-pr-bot Bot commented Aug 8, 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.

@coderabbitai

coderabbitai Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds a persistent NemoClaw maintainer skill for automatic main E2E failure triage and remediation. It defines queue ownership, evidence handling, review and merge gates, continuity handoffs, skill registration, evaluations, and policy tests.

Changes

Automatic E2E failure remediation

Layer / File(s) Summary
Persistent workflow contract
.agents/skills/nemoclaw-maintainer-fix-e2e-failures/SKILL.md, .agents/skills/nemoclaw-maintainer-fix-e2e-failures/agents/openai.yaml, .agents/skills/nemoclaw-maintainer-fix-e2e-failures/references/continuity-handoff.md
Defines continuous scanning, root-cause queues, ownership transfer, obsolete-fix handling, protected-run rules, and agent configuration.
Root-cause ownership and evidence
.agents/skills/nemoclaw-maintainer-fix-e2e-failures/references/queue-and-ownership.md
Defines failure grouping, redacted evidence, duplicate-claim searches, draft PR claims, active-fix states, and concurrent-claim reconciliation.
Review and merge controls
.agents/skills/nemoclaw-maintainer-fix-e2e-failures/references/review-and-merge.md, .agents/skills/nemoclaw-maintainer-fix-e2e-failures/SKILL.md
Defines exact-head review, ambiguous-write handling, eligible workflow approval, guarded branch refreshes, merge gates, and post-merge verification.
Skill registration and policy validation
.agents/skills/nemoclaw-maintainer-fix-e2e-failures/evals/evals.json, .agents/skills/nemoclaw-skills-guide/SKILL.md, test/maintainer-skills-policy.test.ts, test/pr-limit-policy.test.ts
Adds evaluation cases, registers the skill, updates skill counts, and validates workflow and PR-limit requirements.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Sequence Diagram(s)

sequenceDiagram
  participant MainE2ERuns
  participant MaintainerSkill
  participant DraftFixPR
  participant ReviewAndMerge
  MainE2ERuns->>MaintainerSkill: provide changed failure runs
  MaintainerSkill->>DraftFixPR: claim one root cause with evidence
  DraftFixPR->>ReviewAndMerge: request exact-head review and merge validation
  ReviewAndMerge->>MainE2ERuns: verify later main-run evidence
Loading

Possibly related PRs

  • NVIDIA/NemoClaw#8477: Expands automatic main E2E runs and failure evidence used by this workflow.
  • NVIDIA/NemoClaw#8533: Adds related maintainer guidance for root-cause grouping, evidence collection, and review controls.

Suggested labels: area: skills, v0.0.105

Suggested reviewers: cv

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: adding a continuous E2E failure-fixing loop.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/nemoclaw-e2e-fix-loop

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

@github-code-quality

github-code-quality Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Code Coverage Overview

Languages: TypeScript

TypeScript / code-coverage/plugin

The overall coverage in commit d04cc17 in the codex/nemoclaw-e2e-f... branch remains at 96%, unchanged from commit 84073fc in the main branch.


Updated August 08, 2026 19:22 UTC

@cjagwani
cjagwani marked this pull request as ready for review August 8, 2026 01:23
@cjagwani
cjagwani requested a review from cv August 8, 2026 01:24
@cjagwani
cjagwani enabled auto-merge (squash) August 8, 2026 01:28

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
@.agents/skills/nemoclaw-maintainer-fix-e2e-failures/references/queue-and-ownership.md:
- Around line 53-60: Update the duplicate-claim search command in the
queue-and-ownership guidance so every gh option appears before the `--`
separator, and pass the validated run ID or query token after `--` as the
positional search term. Preserve the existing token validation and search
behavior while preventing leading-hyphen tokens from being interpreted as flags.

In
@.agents/skills/nemoclaw-maintainer-fix-e2e-failures/references/review-and-merge.md:
- Around line 92-97: Add the trusted-checkout hard stop immediately before the
check-gates.ts command in the review-and-merge procedure: compare staged,
unstaged, and untracked execution-surface changes plus transitive code against
refreshed origin/main, and require explicit approval before running any changed
surface. Alternatively, invoke a separately reviewed trusted copy of
check-gates.ts, while preserving the existing gate-check command and its timing
before approval.
- Around line 105-119: Update the approval flow around the reviewer approval and
final merge gate: treat the pre-approval gate checks as preliminary, then after
the approval write re-read the PR state and rerun both the gate checker and
effective GitHub-rules check for the current head and base. Require these
post-approval results to pass before merging, restarting the gate if any
relevant state changed.

In @.agents/skills/nemoclaw-maintainer-fix-e2e-failures/SKILL.md:
- Line 64: Align the diagnostic-evidence policy in both
`.agents/skills/nemoclaw-maintainer-fix-e2e-failures/SKILL.md` lines 64-64 and
`.agents/skills/nemoclaw-maintainer-fix-e2e-failures/references/queue-and-ownership.md`
lines 84-84: explicitly choose whether an infeasible diagnostic or regression
test blocks the fix, then state the same rule at both sites.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: f2d58841-ec14-4bb8-9781-92980ebab8ce

📥 Commits

Reviewing files that changed from the base of the PR and between 1c518f1 and 166894a.

📒 Files selected for processing (9)
  • .agents/skills/nemoclaw-maintainer-fix-e2e-failures/SKILL.md
  • .agents/skills/nemoclaw-maintainer-fix-e2e-failures/agents/openai.yaml
  • .agents/skills/nemoclaw-maintainer-fix-e2e-failures/evals/evals.json
  • .agents/skills/nemoclaw-maintainer-fix-e2e-failures/references/continuity-handoff.md
  • .agents/skills/nemoclaw-maintainer-fix-e2e-failures/references/queue-and-ownership.md
  • .agents/skills/nemoclaw-maintainer-fix-e2e-failures/references/review-and-merge.md
  • .agents/skills/nemoclaw-skills-guide/SKILL.md
  • test/maintainer-skills-policy.test.ts
  • test/pr-limit-policy.test.ts

Comment thread .agents/skills/nemoclaw-maintainer-fix-e2e-failures/SKILL.md Outdated
@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

PR Review Advisor — No blocking findings reported

Advisor assessment: No blocking advisor findings reported
Next action: Review the warnings below.
Findings: 0 blockers · 1 warning · 0 suggestions

Model lanes

  • GPT-5.6 Terra (primary): Completed · high confidence · 0 blockers · 1 warning · 0 suggestions
  • Nemotron 3 Ultra (second opinion): Failed after a partial review · low confidence · 1 blocker · 1 warning · 0 suggestions

Second-opinion terminology and E2E selections are advisory. Live E2E does not run automatically for pull requests.

4 semantic terminology decisions

Terminology decisions are advisory. They affect the assessment only when a separate finding identifies concrete semantic impact.

  • define — root-cause key at .agents/skills/nemoclaw-maintainer-fix-e2e-failures/references/queue-and-ownership.md:16: Keep the definition at first use and use root-cause key consistently for claim coordination.
  • justified — automatic main E2E run at .agents/skills/nemoclaw-maintainer-fix-e2e-failures/evals/evals.json:92: Keep the modifier when distinguishing automatic main evidence from manual E2E evidence.
  • define — review claim at .agents/skills/nemoclaw-maintainer-fix-e2e-failures/references/review-and-merge.md:32: Keep the definition that binds the claim to one named PR commit.
  • established — transport ambiguity at .agents/skills/nemoclaw-maintainer-fix-e2e-failures/references/review-and-merge.md:22: Use the established term and retain the reconciliation requirement for every GitHub write.

E2E guidance

Advisory only. A maintainer can dispatch the default E2E suite against this exact revision.

Recommended E2E: None

1 warning · 0 suggestions

Warnings

Warnings do not block.

PRA-1 Warning — Test the new maintainer-loop safety contract

  • Location: test/pr-limit-policy.test.ts:34
  • Category: tests
  • Problem: The replacement policy test reads the new skill but asserts only the PR-limit guidance. The removed maintainer policy suite was the executable coverage for maintainer workflow contracts, and no remaining test checks the new loop's denial and revalidation rules.
  • Impact: A later edit can allow manual E2E duplication, bypass a guarded merge, or reuse approval and CI evidence after a PR commit changes without a focused test failure.
  • Recommendation: Add one focused source-shape test for the new skill and references. Assert manual rerun and administrator-bypass denial, remote reconciliation after an ambiguous GitHub write, and new approval and CI evidence after a branch refresh.
  • Verification: Read the focused test and confirm that it fails when each required denial or revalidation statement is removed from the skill or review reference.
  • Test coverage: A deterministic Vitest source-shape test that reads the new skill and references, then verifies the manual-E2E and administrator-bypass prohibitions plus ambiguous-write and branch-refresh revalidation requirements.
  • Evidence: test/pr-limit-policy.test.ts:34-47 test/maintainer-skills-policy.test.ts is deleted in the commit under review .agents/skills/nemoclaw-maintainer-fix-e2e-failures/SKILL.md:76-96 .agents/skills/nemoclaw-maintainer-fix-e2e-failures/references/review-and-merge.md:12-24,86-138

Workflow run details

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

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
@.agents/skills/nemoclaw-maintainer-fix-e2e-failures/references/review-and-merge.md:
- Line 109: Update the final merge write in the post-approval flow to bind it to
the previously captured head SHA using the selected merge API’s head
precondition, such as match-head-commit, sha, or expectedHeadOid. If that
precondition fails, restart the final gate and do not retry through another
merge method.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: c2ec0c4a-962c-477e-989e-7a439321ac38

📥 Commits

Reviewing files that changed from the base of the PR and between 166894a and db4783c.

📒 Files selected for processing (4)
  • .agents/skills/nemoclaw-maintainer-fix-e2e-failures/SKILL.md
  • .agents/skills/nemoclaw-maintainer-fix-e2e-failures/references/queue-and-ownership.md
  • .agents/skills/nemoclaw-maintainer-fix-e2e-failures/references/review-and-merge.md
  • test/maintainer-skills-policy.test.ts
🚧 Files skipped from review as they are similar to previous changes (3)
  • test/maintainer-skills-policy.test.ts
  • .agents/skills/nemoclaw-maintainer-fix-e2e-failures/references/queue-and-ownership.md
  • .agents/skills/nemoclaw-maintainer-fix-e2e-failures/SKILL.md

cv
cv previously requested changes Aug 8, 2026

@cv cv left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review follow-up

The author resolved both requests from this review:

  • Commit d3aaf9fe3 prevents GitHub from merging a commit that the reviewer did not evaluate. The merge request includes the reviewed commit SHA and restarts the final checks if the PR branch changes.
  • Commit 0e56769a1 prohibits this workflow from changing any release, tag, or release artifact. It also routes release work to the release workflow.

The documentation writer receipt now identifies commit 0e56769a1 and lists the reviewed documentation paths.

I dismissed this changes-requested review because the author resolved its findings. Approval still requires successful required CI, or the repository-required maintainer waiver for a failed check.

Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
@cv
cv dismissed their stale review August 8, 2026 02:20

Commit d3aaf9f binds the merge write to the reviewed head. Commit 0e56769 generalizes the release boundary and refreshes the documentation writer receipt with the reviewed paths. Both findings from this review are resolved. Required CI must still pass, or the PR must record the repository-required maintainer waiver, before approval.

Comment thread test/maintainer-skills-policy.test.ts Outdated

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove this entire test, as it's a source-shape bundle of assertions and provides almost no verification value

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

copy-pr-bot Bot commented Aug 8, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

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.

3 participants