Skip to content

refactor(skills): give each contributor lifecycle stage one owner - #8545

Open
laitingsheng wants to merge 8 commits into
mainfrom
refactor/contributor-lifecycle-routing
Open

refactor(skills): give each contributor lifecycle stage one owner#8545
laitingsheng wants to merge 8 commits into
mainfrom
refactor/contributor-lifecycle-routing

Conversation

@laitingsheng

@laitingsheng laitingsheng commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Summary

The contributor skills overlapped: PR creation owned review repair and test selection, onboarding restated first-PR rules, and a component-specific skill owned messaging guidance. Each lifecycle stage now has one owner. PR creation preserves the DCO and commit-verification gate, uses repository permission for self-assignment, and leaves label selection to repository triage.

Related Issue

Resolves #8364
Parent epic: #8240
Follow-up bug: #8555

Changes

  • nemoclaw-contributor-create-pr collects and classifies review feedback, groups valid code-changing findings by root cause, and routes repair and validation to nemoclaw-contributor-implement-issue. It keeps the push gate, including final documentation review of the candidate revision and resolved blocking feedback.
  • The PR creation workflow runs gh repo view NVIDIA/NemoClaw --json viewerPermission before deciding on --assignee. The workflow adds the flag only for TRIAGE, WRITE, MAINTAIN, or ADMIN. Otherwise, it runs the base command without self-assignment. The repository triage workflow owns label selection and application.
  • nemoclaw-contributor-implement-issue accepts a routed repair inside the pull request's already accepted product scope, bounds it to the finding's root-cause group, validates it, and returns evidence without collecting review feedback or pushing.
  • nemoclaw-contributor-onboard hands off to the planning, implementation, and publication owners instead of restating branch, commit, DCO, and template rules.
  • nemoclaw-contributor-update-dependencies states that the implementation workflow loads it for a dependency upgrade and retains issue-scope and handoff ownership.
  • Removed nemoclaw-contributor-onboard-messaging-channel. Its durable channel-contract, credential, network-policy, reachability, security-review, and negative-test rules now live in src/lib/messaging/AGENTS.md, the package that owns them.
  • nemoclaw-skills-guide, root AGENTS.md, and CONTRIBUTING.md describe the resulting lifecycle and route each stage to its owner.
  • Added positive, negative, ambiguous, adversarial, and clean-context routing evaluations plus repository tests that protect lifecycle ownership and publication safety gates.

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 contributor-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: nine-category maintainer review passed at refactor(skills): give each contributor lifecycle stage one owner #8545 (comment). No executable product path changes; the review confirmed permission gating and preservation of messaging security guidance.
  • 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: .agents/skills/nemoclaw-contributor-create-pr/SKILL.md, .agents/skills/nemoclaw-contributor-create-pr/evals/evals.json, test/skills-frontmatter.test.ts, and test/maintainer-skills-policy.test.ts. The review confirmed that publication uses repository permission for self-assignment and leaves label selection to repository triage. No Fern or user-guide change is needed because no public CLI, configuration, runtime, policy schema, supported product behavior, or Markdown route for AI documentation clients changed.
  • Agent: Codex Desktop

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/maintainer-skills-policy.test.ts — 58 passed. CLI build and type checking pass; the push's normal pre-push hooks pass.
  • 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) — 0 errors and 2 pre-existing Fern warnings
  • Doc pages follow the style guide (no Fern page changed; contributor guidance was independently reviewed and markdownlint passed)
  • New doc pages include SPDX header and frontmatter (new pages only)

Signed-off-by: Tinson Lai tinsonl@nvidia.com

Summary by CodeRabbit

  • New Features

    • Added clearer contributor lifecycle handoffs for planning, implementation, dependency updates, and pull-request publication.
    • Added permission-aware pull-request assignment and labeling with safe defaults when access is unavailable.
    • Added review-driven repair routing and expanded workflow coverage for contributor and maintainer scenarios.
  • Documentation

    • Updated contributor guidance, workflow ownership, and messaging-channel safety requirements.
    • Removed the deprecated messaging-channel onboarding workflow.
  • Tests

    • Expanded validation coverage for onboarding, dependency updates, pull requests, review handling, and workflow routing.

Publication keeps branch state, DCO, the trusted template, and review
follow-up, and routes valid code-changing findings and test selection to
the implementation workflow. Onboarding hands off instead of restating
first-PR rules. Messaging channel guidance moves to the owning package.
Assignment and labels become a decision the workflow makes before it
assembles the create command, so a contributor without triage permission
still opens the pull request.

Signed-off-by: Tinson Lai <tinsonl@nvidia.com>
Signed-off-by: Tinson Lai <tinsonl@nvidia.com>
Signed-off-by: Tinson Lai <tinsonl@nvidia.com>
@coderabbitai

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: f7bb55d7-d79c-421a-8e4a-4a4c909ed963

📥 Commits

Reviewing files that changed from the base of the PR and between bdfe7ff and bc0e9db.

📒 Files selected for processing (4)
  • .agents/skills/nemoclaw-contributor-create-pr/SKILL.md
  • .agents/skills/nemoclaw-contributor-create-pr/evals/evals.json
  • test/maintainer-skills-policy.test.ts
  • test/skills-frontmatter.test.ts
🚧 Files skipped from review as they are similar to previous changes (3)
  • .agents/skills/nemoclaw-contributor-create-pr/evals/evals.json
  • .agents/skills/nemoclaw-contributor-create-pr/SKILL.md
  • test/skills-frontmatter.test.ts

📝 Walkthrough

Walkthrough

The PR separates contributor workflow ownership across planning, implementation, publication, dependency migration, onboarding, and messaging guidance. It adds permission-aware PR triage, routes classified review repairs to implementation, removes the messaging-channel skill, and expands routing evaluations.

Changes

Contributor lifecycle and routing

Layer / File(s) Summary
Implementation and dependency handoff
.agents/skills/nemoclaw-contributor-implement-issue/SKILL.md, .agents/skills/nemoclaw-contributor-implement-issue/evals/evals.json, .agents/skills/nemoclaw-contributor-update-dependencies/...
The implementation workflow handles scoped review repairs and returns changed behavior with validation evidence. Dependency updates delegate issue scope and handoff to this workflow.
PR publication and review routing
.agents/skills/nemoclaw-contributor-create-pr/..., test/skills-frontmatter.test.ts, test/maintainer-skills-policy.test.ts
PR creation performs final validation, uses permission-aware assignment and label handling, preserves conditional reviewer requests, and routes valid code-changing findings to implementation.
Onboarding and lifecycle catalog
.agents/skills/nemoclaw-contributor-onboard/..., .agents/skills/nemoclaw-skills-guide/..., AGENTS.md, CONTRIBUTING.md, test/skills-frontmatter.test.ts
Onboarding now hands off to lifecycle workflows. Repository guidance, the skills guide, and evaluations define updated ownership and routing.
Messaging package guidance
src/lib/messaging/AGENTS.md
Messaging guidance adds scope, upstream, security, egress, negative-test, and live-E2E requirements.

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

Sequence Diagram(s)

sequenceDiagram
  participant PRWorkflow
  participant ReviewSystem
  participant ImplementationWorkflow
  PRWorkflow->>ReviewSystem: collect and classify review findings
  PRWorkflow->>ImplementationWorkflow: route valid code-changing findings
  ImplementationWorkflow-->>PRWorkflow: return repair and validation evidence
  PRWorkflow->>ReviewSystem: complete final validation and review follow-up
Loading

Possibly related issues

Possibly related PRs

  • NVIDIA/NemoClaw#8533: Both PRs modify review-feedback routing, repair handling, validation, and push gating.
  • NVIDIA/NemoClaw#8159: The PRs modify overlapping contributor skill workflows, dependency-update guidance, messaging guidance, and skills-guide tests.

Suggested reviewers: jyaunches

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main refactor: assigning ownership for each contributor lifecycle stage.
Linked Issues check ✅ Passed The changes satisfy the lifecycle ownership, routing, onboarding, dependency, messaging, guide, and evaluation requirements in [#8364].
Out of Scope Changes check ✅ Passed The code, guidance, configuration, and tests directly support the contributor lifecycle refactor described in [#8364].
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ 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 refactor/contributor-lifecycle-routing

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

@github-code-quality

github-code-quality Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Code Coverage Overview

Languages: TypeScript

TypeScript / code-coverage/plugin

The overall coverage in commit bc0e9db in the refactor/contributor... branch remains at 96%, unchanged from commit 0da798a in the main branch.

TypeScript / code-coverage/cli

The overall coverage in commit bc0e9db in the refactor/contributor... branch remains at 81%, unchanged from commit 0da798a in the main branch.

Show a code coverage summary of the most impacted files.
File main 0da798a refactor/contributor... bc0e9db +/-
src/lib/onboard...carryforward.ts 96% 88% -8%
src/lib/onboard/temp-files.ts 100% 100% 0%
src/lib/sandbox...rce-identity.ts 83% 83% 0%

Updated August 07, 2026 12:34 UTC

@laitingsheng laitingsheng added refactor PR restructures code without intended behavior change area: skills Skills, agent behaviors, prompts, or skill packaging labels Aug 7, 2026

@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-contributor-create-pr/evals/evals.json:
- Around line 35-43: The negative-review-repair evaluation currently requires
review collection and classification despite targeting the implementation
workflow. Update the question and expected_behavior in the
negative-review-repair entry so the finding is already classified by the
publication workflow, and require only code repair, validation, and returning to
nemoclaw-contributor-create-pr for the push gate.

In @.agents/skills/nemoclaw-contributor-create-pr/SKILL.md:
- Around line 254-261: Update the triage-flag instructions to remove the
current-user statement condition. Require running the gh repo view command
first, and add --assignee and --label only when viewerPermission is TRIAGE,
WRITE, MAINTAIN, or ADMIN.

In @.agents/skills/nemoclaw-contributor-implement-issue/evals/evals.json:
- Around line 99-106: Update the “positive-routed-review-repair” evaluation
wording so the classified finding bounds the repair to its root-cause group
within the pull request’s already accepted product scope, rather than defining
new product scope. Preserve the existing workflow, skill, and no-push
expectations.

In `@test/skills-frontmatter.test.ts`:
- Around line 303-305: Remove the duplicate trailing type assertions in
test/skills-frontmatter.test.ts at lines 303-305 and 472-477, keeping exactly
one closing JSON.parse(...) as Array<{ id: string; expected_skill: string | null
}> expression at each affected location.
🪄 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: c953c55e-a8e1-46d6-859a-737d476318f7

📥 Commits

Reviewing files that changed from the base of the PR and between d8fbb6e and e7331a4.

📒 Files selected for processing (15)
  • .agents/skills/nemoclaw-contributor-create-pr/SKILL.md
  • .agents/skills/nemoclaw-contributor-create-pr/agents/openai.yaml
  • .agents/skills/nemoclaw-contributor-create-pr/evals/evals.json
  • .agents/skills/nemoclaw-contributor-implement-issue/SKILL.md
  • .agents/skills/nemoclaw-contributor-implement-issue/evals/evals.json
  • .agents/skills/nemoclaw-contributor-onboard-messaging-channel/SKILL.md
  • .agents/skills/nemoclaw-contributor-onboard/SKILL.md
  • .agents/skills/nemoclaw-contributor-onboard/evals/evals.json
  • .agents/skills/nemoclaw-contributor-update-dependencies/SKILL.md
  • .agents/skills/nemoclaw-contributor-update-dependencies/evals/evals.json
  • .agents/skills/nemoclaw-skills-guide/SKILL.md
  • .agents/skills/nemoclaw-skills-guide/evals/evals.json
  • AGENTS.md
  • src/lib/messaging/AGENTS.md
  • test/skills-frontmatter.test.ts
💤 Files with no reviewable changes (1)
  • .agents/skills/nemoclaw-contributor-onboard-messaging-channel/SKILL.md

Comment thread .agents/skills/nemoclaw-contributor-create-pr/evals/evals.json
Comment thread .agents/skills/nemoclaw-contributor-create-pr/SKILL.md Outdated
Comment thread test/skills-frontmatter.test.ts
@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

PR Review Advisor — No blocking findings reported

Advisor assessment: No blocking advisor findings reported
Next action: No advisor follow-up needed.
Findings: 0 blockers · 0 warnings · 0 suggestions

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 · 2 warnings · 0 suggestions
  • Model comparison: normalized findings differ; normalized terminology decisions differ; normalized E2E selections match; Nemotron reported the same number of blockers, 2 more warnings, the same number of suggestions.
4 terminology differences from the second opinion

Advisory only. These are normalized differences from the primary terminology receipt.

  • triage write at .agents/skills/nemoclaw-contributor-create-pr/SKILL.md:251: primary classified it as define; the second opinion classified it as justified.
  • triage permission at .agents/skills/nemoclaw-contributor-create-pr/SKILL.md:252: selected only by the second-opinion lane as justified.
  • push gate at .agents/skills/nemoclaw-contributor-create-pr/SKILL.md:65: selected only by the second-opinion lane as justified.
  • repository triage workflow at .agents/skills/nemoclaw-contributor-create-pr/SKILL.md:277: selected only by the second-opinion lane as justified.

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

3 semantic terminology decisions

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

  • established — root-cause group at .agents/skills/nemoclaw-contributor-create-pr/SKILL.md:63: Keep the established term for grouped related findings.
  • define — triage write at .agents/skills/nemoclaw-contributor-create-pr/SKILL.md:251: Define the term at first use as a write that requires triage permission.
  • established — lifecycle stage at .agents/skills/nemoclaw-contributor-create-pr/evals/evals.json:64: Keep the established term for contributor workflow phases.

E2E guidance

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

Recommended E2E: None

Workflow run details

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

@apurvvkumaria apurvvkumaria self-assigned this Aug 7, 2026
Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
@apurvvkumaria

Copy link
Copy Markdown
Collaborator

Security review

Verdict: PASS for branch revision bdfe7ff. This pull request changes agent guidance, routing evaluations, and contributor documentation; it changes no executable product path.

Category Result Evidence
Secrets and credentials PASS No secrets, credential values, or credential-bearing schema fields are added. The repository secret scan passes.
Input validation PASS The publication workflow now derives triage capability from the repository-reported viewer permission and permits only TRIAGE, WRITE, MAINTAIN, or ADMIN.
Authentication and authorization PASS Self-asserted permission no longer authorizes assignment or label writes. Reviewer routing remains repository-owned.
Dependencies PASS No package, image, workflow dependency, or lockfile changes.
Errors and logging PASS No runtime error, logging, or diagnostic path changes.
Cryptography and data protection PASS No cryptographic, storage, or data-retention behavior changes.
Configuration and secure defaults PASS Messaging guidance retains accepted-scope gating, credential custody and removal, deny-by-default network policy, opt-in egress, and the security-review trigger in the owning package guide.
Security testing PASS The routing and policy suites pass 58 of 58 tests. Repository hooks, skill YAML validation, Markdown checks, and secret scanning pass.
Holistic posture PASS One workflow owns each lifecycle stage, reducing conflicting write authority. Review repair remains grouped and validated; publication still requires final documentation review and resolved blocking feedback.

Files reviewed include the contributor lifecycle skills and evaluations, root and messaging package guidance, CONTRIBUTING.md, and test/skills-frontmatter.test.ts.

No security finding remains.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: skills Skills, agent behaviors, prompts, or skill packaging refactor PR restructures code without intended behavior change release-target v0.0.105 Release target

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Complete the contributor lifecycle and fold component-specific routing

3 participants