fix(skills): align maintainer workflows with canonical policy#5953
Conversation
|
Note Reviews pausedIt 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 Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughThis PR updates maintainer skill docs and scripts to add contributor compliance checks, replace label-bumping with carry-forward release semantics, switch priority handling to GitHub Project fields, and rewrite triage and verify-stale workflows around canonical policy loading and approved write sets. ChangesContributor compliance gates
Carry-forward release semantics and Project Priority
Canonical triage workflow rewrite
Verify-stale approval flow
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Suggested labels
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Code Coverage OverviewLanguages: TypeScript TypeScript / code-coverage/pluginThe overall coverage in the branch is 96%. Coverage data for the branch is not yet available. Show a code coverage summary of the most covered files.
TypeScript / code-coverage/cliThe overall coverage in the branch is 68%. Coverage data for the branch is not yet available. Show a code coverage summary of the most covered files.
Updated |
E2E Advisor RecommendationRequired E2E: None Full advisor summaryE2E Recommendation AdvisorBase: Required E2E
Optional E2E
New E2E recommendations
|
Vitest E2E Scenario RecommendationRequired Vitest E2E scenarios: None Full Vitest E2E advisor summaryVitest E2E Scenario AdvisorBase: Required Vitest E2E scenarios
Optional Vitest E2E scenarios
Relevant changed files
|
PR Review Advisor — No blocking findingsMerge posture: No blocking advisor findings Action checklist
Test follow-ups to resolve or justifyIf these cover changed behavior, prefer adding them in this PR; otherwise state why existing coverage is enough or link the follow-up.
This is an automated, non-binding review; it still expects maintainers and agents to respond to each required or warning item. Treat suggestions as current-PR improvements when they touch changed code; defer only with maintainer rationale or a linked follow-up. A human maintainer must make the final merge decision. |
PR Review Advisor (Nemotron Ultra) — BlockedMerge posture: Do not merge until addressed Action checklist
Findings index
🚨 Required before mergeAddress these before merging unless a maintainer explicitly overrides the advisor with rationale.
|
There was a problem hiding this comment.
Actionable comments posted: 20
🧹 Nitpick comments (1)
test/maintainer-skills-policy.test.ts (1)
56-69: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winExpand this carry-forward assertion to the other migrated docs.
This test only guards
eveningandcut-release-tag, but the same policy move also touchednemoclaw-maintainer-morningand.agents/skills/nemoclaw-maintainer-day/PR-REVIEW-PRIORITIES.md. A regression in either of those files would still pass this suite. As per path instructions,**/*.test.{ts,js,mts,mjs,cts,cjs}: “Review tests for behavioral confidence rather than implementation lock-in.”🤖 Prompt for 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. In `@test/maintainer-skills-policy.test.ts` around lines 56 - 69, The carry-forward policy coverage in the test is too narrow because it only asserts the migrated behavior for `evening` and `cut-release-tag`. Expand the `preserves open release labels as carry-forward work` test to also check `nemoclaw-maintainer-morning` and `.agents/skills/nemoclaw-maintainer-day/PR-REVIEW-PRIORITIES.md` for the same policy text and absence of `bump-stragglers`, using the existing `read` helper and `fs.existsSync` assertions so regressions in those migrated docs are caught.Source: Path instructions
🤖 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-cut-release-tag/SKILL.md:
- Around line 124-127: Step 5 currently asks for a “shipped/closed items”
summary even though the workflow only gathers open issues/PRs, so update the
skill spec to make the output match the collected data. In SKILL.md, revise the
Step 5 summary under the release workflow so it either adds an explicit
closed-item retrieval step before summarizing, or removes the shipped/closed
bullet and keeps only carry-forward open issues/PRs. Keep the wording aligned
with the existing release summary section and the hand-authored nemoClaw
maintainer skill conventions.
In @.agents/skills/nemoclaw-maintainer-day/MERGE-GATE.md:
- Around line 9-14: The Markdown source is missing the required repository SPDX
header, so add the standard SPDX license block at the top of this file before
any content. Update this docs file in the same style used by other compliant .md
sources, and verify the header appears as the first content in the file.
In @.agents/skills/nemoclaw-maintainer-day/PR-REVIEW-PRIORITIES.md:
- Around line 7-13: The Markdown source file is missing the required SPDX header
at the top, so update the document to start with the repo’s mandatory SPDX
license block using Markdown-friendly comment syntax. Place it before the
existing policy text in PR-REVIEW-PRIORITIES.md and keep the rest of the content
unchanged.
In @.agents/skills/nemoclaw-maintainer-day/scripts/check-gates.ts:
- Around line 362-372: The contributor-compliance DCO check in
checkContributorCompliance uses a case-insensitive DCO_DECLARATION matcher,
which conflicts with the case-sensitive comparator logic in collect-gates.sh.
Update the DCO_DECLARATION regex in check-gates.ts to match the same casing
rules as the shell comparator so both gate paths use one consistent
signed-off-by requirement. Keep the fix localized to DCO_DECLARATION and the
checkContributorCompliance flow.
In @.agents/skills/nemoclaw-maintainer-day/scripts/triage.ts:
- Around line 493-496: The enrichment flow in triage.ts applies projectPriority
only after the classified PR list has already been capped, so urgent items
outside the initial prefix can be missed. Update the triage pipeline around
fetchProjectPriorities, classified, and the enrichment-cap logic so
projectPriority is loaded and used before selecting which PRs receive CI/review
enrichment. Make sure the ordering or filtering step considers projectPriority
early enough that Urgent/High PRs are not excluded from the queue just because
they appear after the initial slice.
- Around line 317-359: The priority lookup in fetchProjectPriorities is reading
a non-existent top-level priority from gh project item-list output, so the
scoring path never gets a project boost. Update fetchProjectPriorities to
retrieve the project priority from a source that actually exposes it, such as a
GraphQL query or another API response, and keep the Map<number, string>
population keyed by PR number in triage.ts so the downstream priority-based
scoring can work.
In @.agents/skills/nemoclaw-maintainer-find-review-pr/SKILL.md:
- Around line 106-110: Update the review recommendation ordering so Project
Priority is the primary criterion in the final one-line suggestion, not PR age.
In the relevant guidance section of SKILL.md, adjust the recommendation logic to
prefer Urgent over High before considering older waiting time, while still using
passing checks as the next tie-breaker. Keep the final recommendation line
aligned with the priority-first behavior described by the skill.
In @.agents/skills/nemoclaw-maintainer-pr-comparator/checks/tier-0-gates.md:
- Around line 3-12: The Markdown file is missing the required SPDX license
header at the top. Update the document header by adding the repository-standard
SPDX comment in Markdown/HTML comment form as the first content in this file,
keeping the rest of the gate checklist unchanged; use the existing file type
convention for markdown files and ensure the header is present before any
headings or text.
- Line 66: Update the tier-0 gates contract to include the new Ineligible bucket
alongside trivial and substantive, and make sure contributor-compliance failures
are classified as Ineligible rather than substantive. Adjust the wording in the
tier-0 gates spec to match the policy used in tiebreakers.md so maintainers do
not treat missing PR-body DCO or unverified commits as salvageable failures.
In @.agents/skills/nemoclaw-maintainer-pr-comparator/repo-policy.md:
- Around line 27-28: The repo-policy.md file is missing the required SPDX
license header at the top, so add the repository-standard Markdown/HTML SPDX
comment before any content. Make sure the header uses the correct comment syntax
for a Markdown file and appears as the first line, while leaving the existing
policy text intact.
In @.agents/skills/nemoclaw-maintainer-pr-comparator/scripts/collect-gates.sh:
- Around line 55-77: The DCO detection in collect-gates.sh is still
case-sensitive, which can disagree with the comparator’s case-insensitive check.
Update the Signed-off-by matching logic in the contributor-compliance section to
treat the declaration case-insensitively, consistent with the check in
check-gates.ts, so the same PR casing yields the same result in both places.
In @.agents/skills/nemoclaw-maintainer-pr-comparator/templates/verdict.md:
- Around line 78-86: The example in verdict.md is using an ineligible PR as the
closer, which conflicts with the current policy. Update the "closer" example to
use an eligible PR (referencing the PR `#A` / PR `#B` example block) or rewrite the
example so it shows a rejection-only verdict when all candidates are ineligible.
Make sure the sample language no longer suggests salvaging PR `#A` after marking
it Ineligible, and instead aligns with the verdict flow used by the surrounding
template.
- Around line 78-86: The Markdown template is missing the repository-required
SPDX license header at the top of the file. Add the standard SPDX comment using
Markdown/HTML comment syntax before any content so the file complies with the
shared license-header rule for markdown sources. Keep the existing verdict
content unchanged and ensure the header is the first thing in the file.
In @.agents/skills/nemoclaw-maintainer-pr-comparator/tiebreakers.md:
- Around line 34-35: Add the repository-required SPDX license header comment at
the very top of the tiebreakers.md file using the Markdown/HTML comment form.
Keep the existing content unchanged and ensure the file begins with the standard
SPDX header so it complies with the markdown source-file licensing rule.
- Around line 34-35: Update the tiebreaker logic to rank on the new Ineligible
class so degraded mode never lets an ineligible PR win. In the
comparator/ranking section of tiebreakers.md, add Ineligible ahead of
substantive/trivial failures and make sure PR-body DCO missing or
non-GitHub-Verified commits are treated as immediate rejection rather than a
salvageable tie-break condition. Refer to the new Ineligible classification
consistently wherever the ranking order is documented.
In @.agents/skills/nemoclaw-maintainer-triage/SKILL.md:
- Around line 16-23: The triage skill still references the removed
triage-instructions.md in the ordered reading list, leaving a dead dependency
and unclear schema source. Update the SKILL.md guidance to stop requiring that
file and instead point the payload contract to the remaining canonical policy
docs, using the existing workflow-policy.md, label-taxonomy.json, and
examples.md references to locate the correct source of truth.
In
@.agents/skills/nemoclaw-maintainer-verify-stale/reference/candidate-selection.md:
- Around line 26-50: The selection step is missing fields it relies on, so
update the single-issue fetch and the paginated GraphQL query in
candidate-selection.md to load native issueType plus the live Project 199
Priority and Status fields, and increase the comments retrieval so the durable
marker scan does not silently miss older activity. Use the existing
candidate-selection flow and its issueType.name == "Bug" filter, and make sure
the Project 199 checks read from live project data instead of labels or inferred
state.
In
@.agents/skills/nemoclaw-maintainer-verify-stale/reference/scoring-comments-and-logging.md:
- Around line 93-96: The still-reproduces guidance is inconsistent about
transcript content, so update the template in scoring-comments-and-logging.md to
follow one rule only. Align the instructions used by the generation path (likely
the still-reproduces comment builder around the referenced marker/template) so
the final comment stays within the 30–80 word limit and does not mention both
transcripts if the template says to omit them; keep the marker and TTL wording
intact.
- Around line 297-319: The accepted write set handling in the verification flow
should fail fast on self-assignment errors as well, not just Project
lookup/update failures. Update the canonical apply path so the self-assignment
step is treated as part of the same atomic unit before posting the comment, and
abort the remaining writes if assignment fails; keep the exact accepted comment
as the final write only after Project and assignment both succeed. Use the
existing verification/write orchestration around the dry run, pre-post
state-check, and activity log to preserve the “exact accepted write set”
behavior.
In `@test/skills/check-gates-compliance.test.ts`:
- Around line 183-213: Add a comparator contributor-compliance test that covers
the missing-DCO path in check-gates-compliance.test.ts. Extend the existing
maintainer PR comparator block to verify that runComparatorGate returns
contributor_compliance false when the PR body lacks the Signed-off-by
declaration, while the commit itself remains verified. Assert the output details
include dco_declaration_present: false, a non-empty failure reason for the DCO
branch, and that failures contains substantive:contributor_compliance.
---
Nitpick comments:
In `@test/maintainer-skills-policy.test.ts`:
- Around line 56-69: The carry-forward policy coverage in the test is too narrow
because it only asserts the migrated behavior for `evening` and
`cut-release-tag`. Expand the `preserves open release labels as carry-forward
work` test to also check `nemoclaw-maintainer-morning` and
`.agents/skills/nemoclaw-maintainer-day/PR-REVIEW-PRIORITIES.md` for the same
policy text and absence of `bump-stragglers`, using the existing `read` helper
and `fs.existsSync` assertions so regressions in those migrated docs are caught.
🪄 Autofix (Beta)
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: 77949c8f-18ad-4110-a5a7-60c105e334de
📒 Files selected for processing (30)
.agents/skills/nemoclaw-maintainer-cross-issue-sweep/SKILL.md.agents/skills/nemoclaw-maintainer-cut-release-tag/SKILL.md.agents/skills/nemoclaw-maintainer-day/MERGE-GATE.md.agents/skills/nemoclaw-maintainer-day/PR-REVIEW-PRIORITIES.md.agents/skills/nemoclaw-maintainer-day/scripts/bump-stragglers.ts.agents/skills/nemoclaw-maintainer-day/scripts/check-gates.ts.agents/skills/nemoclaw-maintainer-day/scripts/shared.ts.agents/skills/nemoclaw-maintainer-day/scripts/triage.ts.agents/skills/nemoclaw-maintainer-evening/SKILL.md.agents/skills/nemoclaw-maintainer-find-review-pr/SKILL.md.agents/skills/nemoclaw-maintainer-morning/SKILL.md.agents/skills/nemoclaw-maintainer-pr-comparator/SKILL.md.agents/skills/nemoclaw-maintainer-pr-comparator/checks/tier-0-gates.md.agents/skills/nemoclaw-maintainer-pr-comparator/repo-policy.md.agents/skills/nemoclaw-maintainer-pr-comparator/scripts/collect-gates.sh.agents/skills/nemoclaw-maintainer-pr-comparator/templates/verdict.md.agents/skills/nemoclaw-maintainer-pr-comparator/tiebreakers.md.agents/skills/nemoclaw-maintainer-triage/SKILL.md.agents/skills/nemoclaw-maintainer-triage/references/triage-instructions.md.agents/skills/nemoclaw-maintainer-verify-stale/SKILL.md.agents/skills/nemoclaw-maintainer-verify-stale/reference/brev-provisioning.md.agents/skills/nemoclaw-maintainer-verify-stale/reference/by-design.md.agents/skills/nemoclaw-maintainer-verify-stale/reference/candidate-selection.md.agents/skills/nemoclaw-maintainer-verify-stale/reference/environment-and-reproducer.md.agents/skills/nemoclaw-maintainer-verify-stale/reference/reproduction-rubrics.md.agents/skills/nemoclaw-maintainer-verify-stale/reference/scoring-comments-and-logging.md.agents/skills/nemoclaw-skills-guide/SKILL.mdtest/bump-stragglers.test.tstest/maintainer-skills-policy.test.tstest/skills/check-gates-compliance.test.ts
💤 Files with no reviewable changes (3)
- test/bump-stragglers.test.ts
- .agents/skills/nemoclaw-maintainer-day/scripts/bump-stragglers.ts
- .agents/skills/nemoclaw-maintainer-triage/references/triage-instructions.md
There was a problem hiding this comment.
🧹 Nitpick comments (1)
test/skills/check-gates-compliance.test.ts (1)
136-136: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winUse the repo’s POSIX PATH separator convention.
This test suite intentionally uses
:for mocked-bin PATH setup on Linux runners; keep this consistent here.Based on learnings, this repo’s tests should construct
process.env.PATHwith the POSIX separator:rather thanpath.delimiter.Proposed fix
- env: { ...process.env, PATH: `${bin}${path.delimiter}${process.env.PATH ?? ""}` }, + env: { ...process.env, PATH: `${bin}:${process.env.PATH ?? ""}` },🤖 Prompt for 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. In `@test/skills/check-gates-compliance.test.ts` at line 136, The PATH setup in the check-gates compliance test is using the platform-dependent path.delimiter, but this repo’s test convention for mocked bins should stay POSIX-style. Update the env construction in check-gates-compliance.test.ts to build process.env.PATH with ":" instead of path.delimiter, keeping the mocked-bin setup consistent with the existing Linux-oriented test behavior.Source: Learnings
🤖 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.
Nitpick comments:
In `@test/skills/check-gates-compliance.test.ts`:
- Line 136: The PATH setup in the check-gates compliance test is using the
platform-dependent path.delimiter, but this repo’s test convention for mocked
bins should stay POSIX-style. Update the env construction in
check-gates-compliance.test.ts to build process.env.PATH with ":" instead of
path.delimiter, keeping the mocked-bin setup consistent with the existing
Linux-oriented test behavior.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: ea679916-20ab-4855-84e6-d44b2e3187e7
📒 Files selected for processing (2)
.agents/skills/nemoclaw-maintainer-pr-comparator/scripts/collect-gates.shtest/skills/check-gates-compliance.test.ts
There was a problem hiding this comment.
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-pr-comparator/templates/verdict.md:
- Around line 79-90: The remediation for PR `#A` is too broad: it combines the
PR-body DCO gap with the GitHub Verified commit history gap into one
history-rewrite requirement. In the verdict template, update the guidance so the
DCO declaration is fixed by editing the PR body only, while the Verified-commits
requirement still points to replacing the branch with compliant history. Keep
the PR `#A` / PR `#B` decision flow and the suggested action wording aligned with
these distinct remedies.
🪄 Autofix (Beta)
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: 7e037b67-d6df-4179-a05e-deed6db527f3
📒 Files selected for processing (15)
.agents/skills/nemoclaw-maintainer-cut-release-tag/SKILL.md.agents/skills/nemoclaw-maintainer-day/MERGE-GATE.md.agents/skills/nemoclaw-maintainer-day/PR-REVIEW-PRIORITIES.md.agents/skills/nemoclaw-maintainer-day/scripts/check-gates.ts.agents/skills/nemoclaw-maintainer-day/scripts/triage.ts.agents/skills/nemoclaw-maintainer-find-review-pr/SKILL.md.agents/skills/nemoclaw-maintainer-pr-comparator/checks/tier-0-gates.md.agents/skills/nemoclaw-maintainer-pr-comparator/repo-policy.md.agents/skills/nemoclaw-maintainer-pr-comparator/scripts/collect-gates.sh.agents/skills/nemoclaw-maintainer-pr-comparator/templates/verdict.md.agents/skills/nemoclaw-maintainer-pr-comparator/tiebreakers.md.agents/skills/nemoclaw-maintainer-verify-stale/reference/candidate-selection.md.agents/skills/nemoclaw-maintainer-verify-stale/reference/scoring-comments-and-logging.mdtest/maintainer-skills-policy.test.tstest/skills/check-gates-compliance.test.ts
💤 Files with no reviewable changes (1)
- .agents/skills/nemoclaw-maintainer-cut-release-tag/SKILL.md
✅ Files skipped from review due to trivial changes (1)
- .agents/skills/nemoclaw-maintainer-pr-comparator/repo-policy.md
🚧 Files skipped from review as they are similar to previous changes (10)
- .agents/skills/nemoclaw-maintainer-pr-comparator/tiebreakers.md
- .agents/skills/nemoclaw-maintainer-day/MERGE-GATE.md
- .agents/skills/nemoclaw-maintainer-pr-comparator/checks/tier-0-gates.md
- .agents/skills/nemoclaw-maintainer-day/PR-REVIEW-PRIORITIES.md
- test/maintainer-skills-policy.test.ts
- test/skills/check-gates-compliance.test.ts
- .agents/skills/nemoclaw-maintainer-verify-stale/reference/candidate-selection.md
- .agents/skills/nemoclaw-maintainer-day/scripts/check-gates.ts
- .agents/skills/nemoclaw-maintainer-pr-comparator/scripts/collect-gates.sh
- .agents/skills/nemoclaw-maintainer-verify-stale/reference/scoring-comments-and-logging.md
|
Automated-review follow-up for head
Validation: 24 focused tests pass, CLI typecheck passes, Biome/shfmt/ShellCheck pass, normal commit hooks pass, and the pushed commit is GitHub Verified. |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
test/skills/triage-runtime.test.ts (1)
154-159: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winAvoid pinning this test to exact score totals.
The
55/50/40assertions lock the test to current scoring weights instead of the behavior under review. Assert priority mapping and relative ordering instead, so future score rebalancing does not break a still-correct test. As per path instructions, "Review tests for behavioral confidence rather than implementation lock-in" and "Prefer observable outcomes through the public boundary over source-text, private-shape, or mock-call assertions."🤖 Prompt for 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. In `@test/skills/triage-runtime.test.ts` around lines 154 - 159, The test in triage-runtime.test.ts is over-specifying implementation details by asserting exact score totals for queue items. Update the expectations around the output.queue assertions to verify the priority mapping and relative ordering of the items using the existing triage runtime behavior, while removing dependency on the exact 55/50/40 values. Keep the assertions centered on observable outcomes through the public boundary in the triage-runtime flow rather than scoring weights.Source: Path instructions
🤖 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 `@test/skills/triage-runtime.test.ts`:
- Around line 90-114: The inline fake gh dispatcher in the triage runtime test
is using forbidden if statements, so rewrite that helper script to dispatch
without any if-based branching. Update the fs.writeFileSync fixture content in
the test by replacing the current conditional chain with an allowed structure
such as switch-based dispatch or an extracted helper fixture, while preserving
the existing behaviors for api, pr view, pull request file listing, and the
fallback error path.
---
Nitpick comments:
In `@test/skills/triage-runtime.test.ts`:
- Around line 154-159: The test in triage-runtime.test.ts is over-specifying
implementation details by asserting exact score totals for queue items. Update
the expectations around the output.queue assertions to verify the priority
mapping and relative ordering of the items using the existing triage runtime
behavior, while removing dependency on the exact 55/50/40 values. Keep the
assertions centered on observable outcomes through the public boundary in the
triage-runtime flow rather than scoring weights.
🪄 Autofix (Beta)
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: f037de5a-9802-4c05-8461-d3d001cdfbd2
📒 Files selected for processing (4)
.agents/skills/nemoclaw-maintainer-day/scripts/triage.ts.agents/skills/nemoclaw-maintainer-pr-comparator/scripts/collect-gates.shtest/skills/check-gates-compliance.test.tstest/skills/triage-runtime.test.ts
🚧 Files skipped from review as they are similar to previous changes (3)
- test/skills/check-gates-compliance.test.ts
- .agents/skills/nemoclaw-maintainer-pr-comparator/scripts/collect-gates.sh
- .agents/skills/nemoclaw-maintainer-day/scripts/triage.ts
|
Disposition for the remaining non-blocking Nemotron warnings on head
These items are therefore documented as pre-existing, false-positive, or design-expanding follow-ups rather than current-PR correctness gaps. The five required DCO/Project findings are separately dispositioned in the earlier source-of-truth comment. |
|
Automated-review follow-up for head
Current validation: 14 focused release/policy tests pass, CLI typecheck passes, normal commit and push hooks pass, DCO and CodeRabbit checks pass, and the pushed commit is GitHub Verified. |
|
Final automated-review disposition for head
Local validation: 31 focused tests pass, CLI typecheck passes, all commit/push hooks pass, and every pushed commit is GitHub Verified. |
…#5953) <!-- markdownlint-disable MD041 --> ## Summary Aligns NemoClaw maintainer skills with the canonical workflow policy so triage, review prioritization, post-release retargeting, stale verification, and PR approval use one consistent model. Removes duplicated or conflicting instructions and adds executable policy regressions. ## Changes - Route triage and stale verification through native Issue Type, Project 199 fields, and canonical labels. - Automatically bump open version-labeled stragglers to the next patch after the tag and workflow-managed latest are verified. - Keep cross-issue sweeping separate from comparator scoring and use Project Priority for review ordering. - Require a PR-body DCO declaration and GitHub-verified commits in merge-gate and comparator checks. - Add behavioral and static regression tests for the aligned maintainer policies, including post-tag straggler bumping. ## Type of Change - [x] 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 <!-- Check all that apply. For any "covered by existing tests", "not applicable", or waiver entry, add a brief justification on the same line or in the Changes section. --> - [x] Tests added or updated for changed behavior - [ ] Existing tests cover changed behavior — justification: - [ ] Tests not applicable — justification: - [ ] Docs updated for user-facing behavior changes - [x] Docs not applicable — justification: internal maintainer skills only; user-facing product behavior and documentation are unchanged. - [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: self-reviewed against the canonical maintainer policy references; static policy ratchets and executable gate tests cover the changed decisions. - [ ] Non-success, skipped, or missing CI check accepted by maintainer — check name, approval link, and follow-up issue: ## Verification <!-- Check each item you ran and confirmed. Leave unchecked items you skipped. Doc-only changes do not require npm test unless you ran it. --> - [x] PR description includes the DCO sign-off declaration and every commit appears as `Verified` in GitHub - [x] Git hooks passed during commit and push, or `npx prek run --from-ref main --to-ref HEAD` passes - [x] Targeted tests pass for changed behavior - [ ] Full `npm test` passes (broad runtime changes only) - [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) - [ ] Doc pages follow the [style guide](https://github.com/NVIDIA/NemoClaw/blob/main/docs/CONTRIBUTING.md) (doc changes only) - [ ] New doc pages include SPDX header and frontmatter (new pages only) --- <!-- DCO sign-off is required in this PR description, and every commit must appear as Verified in GitHub. Run: git config user.name && git config user.email --> Signed-off-by: Carlos Villela <cvillela@nvidia.com> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added contributor compliance as a mandatory Tier-0 gate (DCO in PR body plus all commits marked “Verified”). * Expanded Tier-0 gate model to include additional required checks (and updated degraded-mode eligibility/salvage behavior). * Incorporated Project Priority (Urgent/High) into maintainer triage and security PR selection/scoring. * **Bug Fixes** * Made required CI-check handling fail closed with clearer “missing” reporting. * **Documentation** * Updated maintainer playbooks to emphasize explicit carry-forward recording and clarified label/version semantics. * **Tests** * Added/expanded automated coverage for gate behavior and priority mapping; removed obsolete straggler-bumping tests. * **Chores** * Removed the straggler-bumping script in favor of carry-forward workflows. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
Summary
Aligns NemoClaw maintainer skills with the canonical workflow policy so triage, review prioritization, post-release retargeting, stale verification, and PR approval use one consistent model. Removes duplicated or conflicting instructions and adds executable policy regressions.
Changes
Type of Change
Quality Gates
Verification
Verifiedin GitHubnpx prek run --from-ref main --to-ref HEADpassesnpm testpasses (broad runtime changes only)npm run docsbuilds without warnings (doc changes only)Signed-off-by: Carlos Villela cvillela@nvidia.com
Summary by CodeRabbit