Skip to content

docs(release): require exact-SHA E2E evidence - #6208

Merged
cv merged 4 commits into
mainfrom
codex/release-e2e-evidence-policy
Jul 2, 2026
Merged

docs(release): require exact-SHA E2E evidence#6208
cv merged 4 commits into
mainfrom
codex/release-e2e-evidence-policy

Conversation

@cv

@cv cv commented Jul 2, 2026

Copy link
Copy Markdown
Collaborator

Summary

Define exact-SHA E2E evidence as an explicit precondition of the release process. The candidate commit's .github/workflows/e2e.yaml remains the sole source of truth: every declared E2E test needs at least one green execution or an itemized maintainer exception before the exact tag confirmation is requested.

Changes

  • Freeze the candidate SHA with the release plan, then build an evidence ledger across workflow runs, reruns, and attempts.
  • Require green evidence for every E2E test declared by that SHA's workflow, including explicit-only and expanded matrix executions, without maintaining a second test inventory.
  • Preserve maintainer discretion through itemized exceptions and invalidate both evidence and exceptions whenever the candidate SHA changes.
  • Carry the gate through the cut-tag, evening, daily-flow, and maintainer-cadence guidance while keeping overnight QA as additional post-tag validation.
  • Add a maintainer-policy contract test for the exact-SHA, flaky-run, exception, and confirmation-order invariants.

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 internal maintainer policy and skills only; documentation review found no user-facing CLI, configuration, API, or runtime change.
  • 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: maintainer-directed release-policy design received an independent diff review; both hardening findings were addressed before commit.
  • Non-success, skipped, or missing CI check accepted by maintainer — check name, approval link, and follow-up issue:

Verification

  • PR description includes the DCO sign-off declaration and every commit appears as Verified in GitHub
  • Git hooks passed during commit and push, or npx prek run --from-ref main --to-ref HEAD passes
  • Targeted tests pass for changed behavior
  • Full npm test passes (broad runtime changes only)
  • 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: Carlos Villela cvillela@nvidia.com

Summary by CodeRabbit

  • Documentation

    • Strengthened release workflow guidance to require pre-tag, exact commit-based E2E evidence before confirming a tag.
    • Added an evidence-ledger approach using the E2E workflow as the single source of truth, including detailed green evidence (counts plus run/job links and attempt numbers), explicit itemized exceptions for non-green tests, and rules to regenerate evidence if the candidate SHA changes.
  • Tests

    • Added automated coverage to ensure the updated evidence and confirmation gating rules are enforced across the maintainer release workflows.

Signed-off-by: Carlos Villela <cvillela@nvidia.com>
@cv cv added area: e2e End-to-end tests, nightly failures, or validation infrastructure area: skills Skills, agent behaviors, prompts, or skill packaging labels Jul 2, 2026
@cv cv self-assigned this Jul 2, 2026
@coderabbitai

coderabbitai Bot commented Jul 2, 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: 0649b298-4345-4efc-a0cc-43a1c4cfc718

📥 Commits

Reviewing files that changed from the base of the PR and between 86b4cb0 and 6503823.

📒 Files selected for processing (4)
  • .agents/skills/nemoclaw-maintainer-cut-release-tag/SKILL.md
  • .agents/skills/nemoclaw-maintainer-evening/SKILL.md
  • .agents/skills/nemoclaw-maintainer-policies/references/release-train.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-cut-release-tag/SKILL.md
  • .agents/skills/nemoclaw-maintainer-policies/references/release-train.md

📝 Walkthrough

Walkthrough

Documentation across maintainer skill and policy files now requires a pre-tag E2E evidence ledger tied to the exact candidate origin/main commit SHA before release confirmation. A new test validates the updated policy wording and ordering.

Changes

Pre-tag E2E evidence policy

Layer / File(s) Summary
Core policy references for pre-tag E2E evidence
.agents/skills/nemoclaw-maintainer-policies/references/release-train.md, .agents/skills/nemoclaw-maintainer-policies/references/daily-flow.md
Adds the release-train pre-tag evidence section and the daily-flow release-boundary requirement for frozen SHA verification against .github/workflows/e2e.yaml, including itemized exceptions and ledger regeneration on SHA changes.
Maintainer skill workflows apply the evidence gate
.agents/skills/nemoclaw-maintainer-cut-release-tag/SKILL.md, .agents/skills/nemoclaw-maintainer-day/PR-REVIEW-PRIORITIES.md, .agents/skills/nemoclaw-maintainer-evening/SKILL.md
Updates the release skill steps and maintainer cadence guidance to freeze the candidate SHA, review E2E evidence, list exceptions, and defer the confirmation prompt until the gate is satisfied.
Policy validation test
test/maintainer-skills-policy.test.ts
Adds a Vitest test asserting the evidence-ledger wording, green-execution semantics, exception handling, and confirmation-prompt ordering across the updated docs.

Estimated code review effort: 2 (Simple) | ~12 minutes

Suggested labels: area: docs, chore
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 matches the main change: requiring exact-SHA E2E evidence in release documentation.
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.
✨ 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/release-e2e-evidence-policy

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

@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

E2E Advisor Recommendation

Required E2E: None
Optional E2E: None

Workflow run

Full advisor summary

E2E Recommendation Advisor

Base: origin/main
Head: HEAD
Confidence: high

Required E2E

  • None. No existing E2E jobs are needed. This PR changes maintainer-agent Markdown policy/runbooks and a corresponding unit policy test only. It does not alter runtime code or workflows that affect installer/onboarding, sandbox lifecycle, credentials, security boundaries, network policy, inference routing, deployment automation, or real assistant user flows.

Optional E2E

  • None.

New E2E recommendations

  • None.

@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

E2E Target Recommendation

Required E2E targets: None
Optional E2E targets: None

Workflow run

Full E2E target advisor summary

E2E Target Advisor

Base: origin/main
Head: HEAD
Confidence: high

Required E2E targets

  • None. Changes are limited to maintainer skill documentation/policy and non-E2E unit tests outside test/e2e; they do not affect E2E target registry, workflow machinery, live fixtures, or target behavior.

Optional E2E targets

  • None.

Relevant changed files

  • None.

@github-code-quality

github-code-quality Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Code Coverage Overview

Languages: TypeScript

TypeScript / code-coverage/plugin

The overall coverage in the codex/release-e2e-ev... branch is 96%. Coverage data for the main branch is not yet available.

Show a code coverage summary of the most covered files.
File main codex/release-e2e-ev... 6503823 +/-
nemoclaw/src/se...cret-scanner.ts 100%
nemoclaw/src/commands/slash.ts 100%
nemoclaw/src/bl...eprint/state.ts 98%
nemoclaw/src/onboard/config.ts 98%
nemoclaw/src/bl...int/snapshot.ts 97%
nemoclaw/src/blueprint/ssrf.ts 97%
nemoclaw/src/bl...print/runner.ts 95%
nemoclaw/src/co...ration-state.ts 94%
nemoclaw/src/bl...ate-networks.ts 94%
nemoclaw/src/index.ts 94%

TypeScript / code-coverage/cli

The overall coverage in the codex/release-e2e-ev... branch is 69%. Coverage data for the main branch is not yet available.

Show a code coverage summary of the most covered files.
File main codex/release-e2e-ev... 6503823 +/-
src/lib/actions...dbox/rebuild.ts 82%
src/lib/actions...all/run-plan.ts 80%
src/lib/state/o...oard-session.ts 80%
src/lib/shields/index.ts 75%
src/lib/state/sandbox.ts 73%
src/lib/onboard...er-gpu-patch.ts 69%
src/lib/onboard/preflight.ts 69%
src/lib/actions...licy-channel.ts 59%
src/lib/policy/index.ts 56%
src/lib/onboard.ts 20%

Updated July 02, 2026 22:41 UTC
Code Coverage is in Public Preview. Learn more and provide us with your feedback.

@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

PR Review Advisor (Nemotron Ultra) — No blocking findings

Merge posture: No blocking advisor findings
Primary next action: Add or justify PRA-T1 and any related test follow-ups.
Open items: 0 required · 0 warnings · 1 suggestion · 1 test follow-up
Since last review: 1 prior item resolved · 0 still apply · 0 new items found

Action checklist

  • PRA-T1 Add or justify test follow-up: Consider future integration test for evidence ledger matrix expansion
  • PRA-1 In-scope improvement: Consider future integration test for evidence ledger matrix expansion in test/maintainer-skills-policy.test.ts:101

Findings index

ID Severity Category Location Required action
PRA-1 Improvement tests test/maintainer-skills-policy.test.ts:101 Add integration test when ledger automation is implemented; not needed for current policy-only change
Review findings by urgency: 0 required fixes, 0 items to resolve/justify, 1 in-scope improvement

⚠️ Resolve or justify before merge

Investigate these in the current review; either fix them, explain why they are not applicable, or document the accepted risk.

  • None.

💡 In-scope improvements

These are lower-risk, not throwaway. Prefer fixing them in this PR when they are local to changed code; defer only with rationale or a linked follow-up.

PRA-1 Improvement — Consider future integration test for evidence ledger matrix expansion

  • Location: test/maintainer-skills-policy.test.ts:101
  • Category: tests
  • Problem: The new documentation-contract test validates policy text presence. A future integration test could simulate release plan generation at a specific SHA and verify the evidence ledger builder correctly reads e2e.yaml at that commit and expands matrix executions per the policy rules.
  • Impact: Would catch drift between policy documentation and actual ledger implementation if/when a ledger builder script is added
  • Suggested action: Add integration test when ledger automation is implemented; not needed for current policy-only change
  • Expected follow-up: Prefer a current-PR fix when local to changed code; defer only with rationale or linked follow-up.
  • Verification: No ledger builder script exists yet; policy is enforced manually via skill checklist
  • Missing regression test: Integration test simulating release:plan → ledger build → matrix expansion verification
  • Done when: The local improvement is applied, or the PR notes why it should be deferred.
  • Evidence: Current test validates 23 policy strings across 5 files; no runtime enforcement code changed
Simplification opportunities: 1 possible cut

These are safe simplification checks only. Do not remove validation, security controls, data-loss prevention, or required tests.

  • PRA-1 yagni (test/maintainer-skills-policy.test.ts:101): None — test appropriately validates documentation contract
    • Replacement: N/A
    • Net: 0 lines
    • Safety boundary: No runtime behavior to simplify; test is documentation contract
Test follow-ups to resolve or justify

If these cover changed behavior, prefer adding them in this PR; otherwise state why existing coverage is enough or link the follow-up.

  • PRA-T1 Consider future integration test for evidence ledger matrix expansion — Add integration test when ledger automation is implemented; not needed for current policy-only change
Since last review details

Current findings, using the urgency labels above:

PRA-1 Improvement — Consider future integration test for evidence ledger matrix expansion

  • Location: test/maintainer-skills-policy.test.ts:101
  • Category: tests
  • Problem: The new documentation-contract test validates policy text presence. A future integration test could simulate release plan generation at a specific SHA and verify the evidence ledger builder correctly reads e2e.yaml at that commit and expands matrix executions per the policy rules.
  • Impact: Would catch drift between policy documentation and actual ledger implementation if/when a ledger builder script is added
  • Suggested action: Add integration test when ledger automation is implemented; not needed for current policy-only change
  • Expected follow-up: Prefer a current-PR fix when local to changed code; defer only with rationale or linked follow-up.
  • Verification: No ledger builder script exists yet; policy is enforced manually via skill checklist
  • Missing regression test: Integration test simulating release:plan → ledger build → matrix expansion verification
  • Done when: The local improvement is applied, or the PR notes why it should be deferred.
  • Evidence: Current test validates 23 policy strings across 5 files; no runtime enforcement code changed

Workflow run details

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.

@github-actions

github-actions Bot commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

PR Review Advisor — No blocking findings

Merge posture: No blocking advisor findings
Primary next action: No advisor follow-up required beyond maintainer review.
Open items: 0 required · 0 warnings · 0 suggestions · 0 test follow-ups
Since last review: 0 prior items resolved · 0 still apply · 0 new items found

Workflow run details

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.

Signed-off-by: Carlos Villela <cvillela@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-evening/SKILL.md:
- Around line 45-52: The release flow description in SKILL.md is inconsistent
because it says to “tag main,” which conflicts with the SHA-frozen release
process already described. Update the wording in the release-tag instructions
and Step 5 summary to use the confirmed release commit/Candidate SHA as the tag
target, while keeping the version tag and the existing release-plan details in
the same section.
🪄 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: dc3fccc1-84a7-473e-b502-d0b41ff30572

📥 Commits

Reviewing files that changed from the base of the PR and between 2c447b7 and 9d05ab3.

📒 Files selected for processing (6)
  • .agents/skills/nemoclaw-maintainer-cut-release-tag/SKILL.md
  • .agents/skills/nemoclaw-maintainer-day/PR-REVIEW-PRIORITIES.md
  • .agents/skills/nemoclaw-maintainer-evening/SKILL.md
  • .agents/skills/nemoclaw-maintainer-policies/references/daily-flow.md
  • .agents/skills/nemoclaw-maintainer-policies/references/release-train.md
  • test/maintainer-skills-policy.test.ts

Comment thread .agents/skills/nemoclaw-maintainer-evening/SKILL.md Outdated
@cv

cv commented Jul 2, 2026

Copy link
Copy Markdown
Collaborator Author

Automated review follow-up for 86b4cb0fb:

  • PRA-1 / PRA-T1 addressed: the policy contract now asserts the daily-flow.md release boundary and PR-REVIEW-PRIORITIES.md evening cadence, in addition to the cut/evening skills.
  • PRA-2 addressed: the canonical policy now makes every expanded matrix execution a separate ledger entry, identified by matrix id or all distinguishing dimensions. This keeps e2e.yaml as the only test inventory.
  • PRA-3 justified: overlap with docs(skills): gate release tags on pre-tag docs #6205 is intentional because the docs gate and E2E-evidence gate are separate concerns. There is no semantic dependency between the PRs. Whichever PR lands second should rebase and preserve both pre-tag gates before exact release confirmation; the policy contract tests in the two PRs should verify the combined checklist after conflict resolution.

cv added 2 commits July 2, 2026 14:58
Signed-off-by: Carlos Villela <cvillela@nvidia.com>
Signed-off-by: Carlos Villela <cvillela@nvidia.com>
@cv

cv commented Jul 2, 2026

Copy link
Copy Markdown
Collaborator Author

Overlap follow-up: resolved in 6503823e1 by merging current origin/main; #6205 (12ec9fee3) is now an ancestor of this branch. The combined flow preserves both gates in order: release-prep docs before release:plan, exact-SHA E2E evidence before confirmation. The merged maintainer-policy test passes 10/10.

@cv
cv merged commit e33c093 into main Jul 2, 2026
57 of 60 checks passed
@cv
cv deleted the codex/release-e2e-evidence-policy branch July 2, 2026 23:26
Hadar301 pushed a commit to Hadar301/NemoClaw-OpenShift that referenced this pull request Jul 12, 2026
<!-- markdownlint-disable MD041 -->
## Summary
<!-- 1-3 sentences: what this PR does and why. -->

Define exact-SHA E2E evidence as an explicit precondition of the release
process. The candidate commit's `.github/workflows/e2e.yaml` remains the
sole source of truth: every declared E2E test needs at least one green
execution or an itemized maintainer exception before the exact tag
confirmation is requested.

## Changes
<!-- Bullet list of key changes. -->

- Freeze the candidate SHA with the release plan, then build an evidence
ledger across workflow runs, reruns, and attempts.
- Require green evidence for every E2E test declared by that SHA's
workflow, including explicit-only and expanded matrix executions,
without maintaining a second test inventory.
- Preserve maintainer discretion through itemized exceptions and
invalidate both evidence and exceptions whenever the candidate SHA
changes.
- Carry the gate through the cut-tag, evening, daily-flow, and
maintainer-cadence guidance while keeping overnight QA as additional
post-tag validation.
- Add a maintainer-policy contract test for the exact-SHA, flaky-run,
exception, and confirmation-order invariants.

## 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: this changes internal
maintainer policy and skills only; documentation review found no
user-facing CLI, configuration, API, or runtime change.
- [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: maintainer-directed
release-policy design received an independent diff review; both
hardening findings were addressed before commit.
- [ ] 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

* **Documentation**
* Strengthened release workflow guidance to require pre-tag, exact
commit-based E2E evidence before confirming a tag.
* Added an evidence-ledger approach using the E2E workflow as the single
source of truth, including detailed green evidence (counts plus run/job
links and attempt numbers), explicit itemized exceptions for non-green
tests, and rules to regenerate evidence if the candidate SHA changes.

* **Tests**
* Added automated coverage to ensure the updated evidence and
confirmation gating rules are enforced across the maintainer release
workflows.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Carlos Villela <cvillela@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: e2e End-to-end tests, nightly failures, or validation infrastructure area: skills Skills, agent behaviors, prompts, or skill packaging

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants