Skip to content

ci(e2e): select OpenShell 0.0.106 - #9378

Open
prekshivyas wants to merge 13 commits into
NVIDIA:nemopatch-stack/openshell-0.0.106-pr-9224-44c2636dfrom
prekshivyas:codex/openshell-0106-e2e-selector
Open

ci(e2e): select OpenShell 0.0.106#9378
prekshivyas wants to merge 13 commits into
NVIDIA:nemopatch-stack/openshell-0.0.106-pr-9224-44c2636dfrom
prekshivyas:codex/openshell-0106-e2e-selector

Conversation

@prekshivyas

@prekshivyas prekshivyas commented Aug 18, 2026

Copy link
Copy Markdown
Collaborator

Summary

The trusted full-E2E workflow qualifies OpenShell 0.0.106 while the supported NemoClaw product pin remains 0.0.101. This prerequisite now uses the product installer plus one declarative qualification identity for the reviewed 0.0.106 CLI, gateway, sandbox, and supervisor runtime.

Changes

  • Delete the parallel E2E-only installer and keep scripts/install-openshell.sh as the sole installer implementation.
  • Add the complete reviewed 0.0.106 pin cohort to scripts/install-openshell.sh; the supported default remains 0.0.101.
  • Define one 0.0.106 qualification record for the version, source commit, archive hashes, binary hashes, and supervisor digest.
  • Reuse that record for workflow selection, both provenance payloads, dependency checks, and workflow boundary checks.
  • Use the base-trusted multi-release verifier to check each complete nine-asset cohort independently. Keep the Brev product selector on 0.0.101.

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 E2E qualification only; supported product behavior and the 0.0.101 product pin do not 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: Nine-category maintainer security review passed for e1166f5c3. Credential variables are removed before installation, candidate-controlled shell generation is absent, workflows invoke one checked-in installer, fixed SHA-256 and OCI digest identities bind 0.0.106, the base verifier checks both cohorts, and product defaults and authorization boundaries are unchanged.
  • 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: no-docs-needed
  • Evidence: No documentation paths changed. The change affects internal E2E qualification only; supported product behavior and the OpenShell 0.0.101 product default do not change.
  • 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 — justification: The clean repair worktree could not resolve local TypeScript packages, so the repair commits and push bypassed hooks. GitHub Actions is running these checks.
  • Targeted behavior tests pass for the current change set — 154 passed and 1 skipped across installer-hash, installer-version, gateway-auth workflow-boundary, and MCP workflow-boundary tests. The corrective commits restore byte-identical reviewed installer content, and the synchronization commit is empty. The base-verifier repair passed 83 focused installer hash tests.
  • Local static validation passed — git diff --check passed for the behavior correction and the final comment correction; the synchronization commit is empty. Shell formatting, ShellCheck, YAML, secret scanning, and structural checks passed. Dependency-backed local checks did not run because the clean worktree has no installed packages.
  • Applicable broad gate passed — command/result: GitHub Actions is running the broad repository gates for PR commit e1166f5c3 with stacked base verifier commit 6fb04d3eb.
  • 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: Prekshi Vyas prekshiv@nvidia.com
Signed-off-by: Carlos Villela cvillela@nvidia.com

@prekshivyas prekshivyas self-assigned this Aug 18, 2026
@copy-pr-bot

copy-pr-bot Bot commented Aug 18, 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 18, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

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

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 5f8cb6fa-c656-4328-a393-13556d24edf3

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

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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

Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
@github-actions

github-actions Bot commented Aug 18, 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 · medium confidence · 0 blockers · 1 warning · 0 suggestions
  • Nemotron 3 Ultra (second opinion): Failed after a partial review · low confidence · 2 blockers · 5 warnings · 0 suggestions

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 — qualification identity at tools/e2e/mcp-workflow-boundary.mts:483: Continue to use “qualification identity” for the selected qualification release and its artifact values.
  • define — product pin at test/dependency-pins-check.test.ts:226: Define “product pin” at its first explanatory use as the supported product version.
  • justified — exact credential-free OpenShell 0.0.106 install at tools/e2e/openshell-gateway-auth-contract-workflow-boundary.mts:164: Continue to use “credential-free” only when the installation environment removes credential access.

E2E guidance

Advisory only. A maintainer can dispatch the default E2E suite for the commit under review.

Recommended E2E: None

Manual-only E2E: cloud-onboard, managed-image-multiarch-startup, security-posture, cloud-inference
The manual PR workflow does not run these selectors for the commit under review. Run them from reviewed code on main.

3 optional E2E recommendations
  • openshell-gateway-auth-contract
  • mcp-bridge
  • openshell-credential-generation-window
1 warning · 0 suggestions

Warnings

Warnings do not block.

PRA-1 Warning — Cover qualification installer materialization

  • Location: tools/e2e/openshell-qualification.mts:75
  • Category: tests
  • Problem: The test suite checks that the generated installer parses with Bash, but it does not verify the generated archive-pin and sandbox-version mappings or the failure path for a changed canonical pin owner.
  • Impact: A future edit can produce a syntactically valid installer that downloads an unverified archive, uses an incorrect sandbox-version mapping, or silently loses the expected transformation.
  • Recommendation: Add fixture-based tests for materializeOpenShellQualificationInstaller that verify every 0.0.106 archive hash and standalone-sandbox mapping, preserve the canonical 0.0.101 source table, and reject missing or duplicate canonical pin owners.
  • Verification: Read test/e2e/support/openshell-gateway-auth-contract-workflow-boundary.test.ts and verify that it only runs bash -n on the materialized installer.
  • Test coverage: A unit test that materializes controlled installer fixtures, asserts each qualification mapping, and asserts that missing and duplicate source pin cases throw.
  • Evidence: tools/e2e/openshell-qualification.mts:75-105 transforms archive pins and adds a sandbox digest mapping. test/e2e/support/openshell-gateway-auth-contract-workflow-boundary.test.ts:25-54 only checks validateOpenShellQualificationInstaller and bash -n for the materialized installer.

Workflow run details

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

@prekshivyas
prekshivyas force-pushed the codex/openshell-0106-e2e-selector branch from 9de04aa to fd6f90e Compare August 18, 2026 00:59
prekshivyas added a commit to prekshivyas/NemoClaw that referenced this pull request Aug 18, 2026
Prerequisite-PR: NVIDIA#9378
Prerequisite-Commit: fd6f90e

Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>

@jyaunches jyaunches 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.

Could this migration keep scripts/install-openshell.sh as the one installer? The new tools/e2e/install-openshell-v00106-qualification.sh repeats the existing installer OS and architecture checks, archive validation, download, installation, and version verification in 84 lines. The workflow already used scripts/install-openshell.sh with NEMOCLAW_OPENSHELL_PIN_VERSION. Adding the reviewed 0.0.106 pins to that owner would remove the parallel installer while leaving the default supported pin at 0.0.101.

Please also consider one declarative 0.0.106 identity record for the version, source commit SHA, archive hashes, binary hashes, and supervisor digest. The current diff copies parts of that identity across the new installer, tools/e2e/mcp-workflow-boundary.mts, .github/workflows/e2e.yaml, and tests. expectedOpenShellE2eVersion then adds another hard-coded transition rule. A shared record consumed by installation, provenance generation, and boundary checks would reduce lines of code and make the next version change update one source. It would also let the two nearly identical provenance JSON blocks use one helper.

This is a simplicity and refactoring suggestion. I did not find missing validation in the current path.

@jyaunches jyaunches 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.

LOC Reduction / Codebase Simplicity Review

Why this blocks

  • tools/e2e/install-openshell-v00106-qualification.sh duplicates the existing installer path in about 84 lines.
  • The 0.0.106 version, source SHA, archive digest, binary digests, and supervisor digest are repeated across the installer, workflow boundary, workflow, and tests.

Refactor direction

  • Keep scripts/install-openshell.sh as the one installer and add the reviewed 0.0.106 pins to its existing version owner.
  • Retain 0.0.101 as the supported default.
  • Define one declarative 0.0.106 identity record and consume it from installation, provenance generation, and boundary checks.
  • Reuse one helper for the two provenance JSON blocks.

Expected result

  • Delete the parallel qualification installer.
  • Reduce hard-coded transition rules and make the next OpenShell update change one source of truth.

@jyaunches jyaunches 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.

LOC Reduction / Codebase Simplicity Review\n\nRequesting changes because this PR adds a second OpenShell installer and repeats one provenance record across the installer, workflow boundary, workflow, and tests. Reuse �[0;32m[install]�[0m Detected macOS (aarch64)

�[0;32m[install]�[0m Installing OpenShell from release 'v0.0.101'...
�[0;32m[install]�[0m Downloading OpenShell Homebrew formula...
�[0;32m[install]�[0m staging Homebrew formula in tap nvidia/openshell...
�[0;32m[install]�[0m installing OpenShell with Homebrew...
==> Would install 1 formula:
openshell
==> Installing openshell from nvidia/openshell, add the reviewed 0.0.106 pins to its existing version owner while retaining 0.0.101 as the supported default, and generate the version, source SHA, archive digest, binary digests, and supervisor digest from one declarative record. This should remove and the duplicated provenance JSON without weakening qualification.

@jyaunches
jyaunches dismissed their stale review August 18, 2026 02:35

Superseded by the correctly rendered structured LOC Reduction / Codebase Simplicity Review.

Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
@copy-pr-bot

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

@prekshivyas
prekshivyas changed the base branch from nemopatch-stack/openshell-0.0.106-pr-9224-9b8d25b8c396 to nemopatch-stack/openshell-0.0.106-pr-9224-44c2636d August 18, 2026 03:22
@prekshivyas
prekshivyas marked this pull request as ready for review August 18, 2026 05:50
Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
prekshivyas and others added 10 commits August 17, 2026 23:47
Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
Signed-off-by: Carlos Villela <cvillela@nvidia.com>
Signed-off-by: Carlos Villela <cvillela@nvidia.com>
Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
Signed-off-by: Carlos Villela <cvillela@nvidia.com>
Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
Signed-off-by: Carlos Villela <cvillela@nvidia.com>
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

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants