Skip to content

feat(openshell): upgrade managed runtime to v0.0.101 - #8660

Merged
apurvvkumaria merged 2 commits into
mainfrom
codex/openshell-v101-focused
Aug 10, 2026
Merged

feat(openshell): upgrade managed runtime to v0.0.101#8660
apurvvkumaria merged 2 commits into
mainfrom
codex/openshell-v101-focused

Conversation

@apurvvkumaria

@apurvvkumaria apurvvkumaria commented Aug 9, 2026

Copy link
Copy Markdown
Collaborator

Summary

Upgrade NemoClaw's managed OpenShell runtime from v0.0.99 to the reviewed v0.0.101 release identities, including the Hermes MCP compatibility path. Preserve only the v0.0.99 sandbox fallback needed to migrate existing installations, and add focused regression coverage and user documentation for the changed behavior.

Related Issue

Closes #8606

Changes

  • Pin the v0.0.101 CLI, gateway, sandbox, supervisor, and source identities across active installer, blueprint, Brev, Docker, Podman, and E2E consumers.
  • Activate the v0.0.101 child-visible credential probe contract while retaining the v0.0.99 sandbox identity strictly as an existing-installation migration fallback.
  • Align the Hermes image, MCP configuration transaction, manifest provenance, fixtures, and regression tests with v0.0.101.
  • Update OpenShell and Hermes MCP diagnostics, tests, workflows, and user documentation for the new managed version.
  • Publish first for CI and review feedback, then run the existing live E2E workflow on the exact PR head. No public NemoClaw tag contains the v0.0.99 pin, so this PR does not claim a live v0.0.99-to-v0.0.101 row; that needs a dedicated exact-commit fixture rather than misusing the v0.0.105 tag.

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:
  • 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: independent Codex security/correctness diff review checked active pins, immutable provenance, credential boundaries, Hermes MCP behavior, and migration fallbacks; it returned a conditional publication pass with only the disclosed live v0.0.99 fixture gap.
  • 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: docs/deployment/set-up-mcp-bridge.mdx, docs/manage-sandboxes/add-mcp-server.mdx, docs/manage-sandboxes/update-sandboxes.mdx, docs/reference/commands.mdx, docs/reference/configure-runtime-identity.mdx, docs/reference/platform-support.mdx, docs/reference/troubleshooting.mdx, docs/security/best-practices.mdx, docs/security/gateway-authentication-controls.mdx, and docs/security/openshell-0.0.72-compatibility-review.mdx
  • Agent: Codex Desktop

DGX Station Hardware Evidence

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

Verification

  • PR description includes a Signed-off-by: line and every commit appears as Verified in GitHub
  • Normal pre-commit, commit-msg, and pre-push hooks passed, or npm run validate:pr passed after refreshing origin/main when hooks were skipped or unavailable
  • Targeted behavior tests pass for the current change set, or tests are marked not applicable above — command/result or justification: focused CLI, installer, runner, migration, OpenShell policy, Podman, Hermes layout/update/sandbox, MCP lifecycle, package-contract, and workflow tests passed. Follow-up exact-head local validation passed 131/131 workflow-boundary tests, 4/4 installer-pin tests including 0.0.99 to 0.0.101 replacement, and 48/48 focused integration tests. Hermes Python manifest tests passed; the transaction suite passed 24/27 locally, with three macOS FS_IOC_GETFLAGS permission failures outside the changed behavior.
  • Applicable broad gate passed — npm test for broad runtime/test-harness changes; npm run check for repo-wide validation/coverage changes — command/result: npm run checks:repository, npm run typecheck:cli, plugin npm run typecheck, repository project/title/source-shape checks, live installer hash verification, and changed-file Biome checks passed.
  • 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: Apurv Kumaria akumaria@nvidia.com

Summary by CodeRabbit

  • Release Update

    • Updated the supported OpenShell release from 0.0.99 to 0.0.101 across installation, onboarding, sandbox provisioning, runtime compatibility, and security validation.
    • Refreshed release integrity checks and platform-specific artifacts for reliable downloads and upgrades.
    • Updated credential-boundary and gateway compatibility metadata for the new release.
  • Documentation

    • Updated setup, configuration, troubleshooting, security, and command references for OpenShell 0.0.101.
  • Tests

    • Refreshed automated coverage, fixtures, and end-to-end validation for the new release.

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

coderabbitai Bot commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

OpenShell pins, trust metadata, manifests, compatibility references, and test fixtures were updated from v0.0.99 to v0.0.101 across production workflows, installers, runtime code, documentation, and validation tests.

Changes

OpenShell v0.0.101 migration

Layer / File(s) Summary
Release selectors and trust identities
.github/workflows/*, nemoclaw-blueprint/blueprint.yaml, scripts/*, src/lib/onboard/*, tools/e2e/*
Production selectors, artifact digests, supervisor image mappings, installer bounds, and release provenance now target OpenShell v0.0.101.
Credential manifests and MCP validation
agents/hermes/*, src/lib/actions/sandbox/*
Hermes and MCP validation now use the v0.0.101 child-visible credential manifest and updated source-evidence hashes.
Compatibility documentation and runtime references
docs/*, agents/hermes/*, src/lib/*, scripts/checks/*
Compatibility references, source links, comments, and diagnostics now identify OpenShell v0.0.101.
Tests and release fixtures
test/*
Installer, runtime, migration, Hermes, MCP, workflow, and end-to-end tests now use v0.0.101 versions, fixtures, digests, manifests, and expected messages.

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

Possibly related issues

Possibly related PRs

  • NVIDIA/NemoClaw#8523 — Updates the managed OpenShell runtime across the same installers, manifests, workflows, documentation, and tests.
  • NVIDIA/NemoClaw#8617 — Updates the v0.0.101 child-visible-credentials manifest and migration-review tests.
  • NVIDIA/NemoClaw#8656 — Updates v0.0.101 provenance artifacts targeted by qualification checks.

Suggested labels: feature, release-target, v0.0.106, integration: hermes

Suggested reviewers: cv, senthilr-nv

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Out of Scope Changes check ⚠️ Warning The changes update platform notes with a corrected installer line reference, which is unrelated to the v0.0.101 selector and pin scope. Remove the unrelated ci/platform-matrix.json and docs/reference/platform-support.mdx line-reference changes, or document why they are required for this upgrade.
Docstring Coverage ⚠️ Warning Docstring coverage is 16.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (3 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 change: upgrading the managed OpenShell runtime to v0.0.101.
Linked Issues check ✅ Passed The changes update the v0.0.101 selectors, pins, identities, manifests, fixtures, tests, workflows, and documents required by [#8606].
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/openshell-v101-focused

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

@github-code-quality

github-code-quality Bot commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Code Coverage Overview

Languages: TypeScript

TypeScript / code-coverage/plugin

The overall coverage in commit 14bdbe5 in the codex/openshell-v101... branch remains at 96%, unchanged from commit 794c754 in the main branch.


Updated August 10, 2026 00:29 UTC

@github-actions

github-actions Bot commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

@apurvvkumaria

Copy link
Copy Markdown
Collaborator Author

Exact-head E2E is running for candidate c6b8c45434b1a9e2a4ee3cbc606483dda244eaaa: run 31343070494.

The trusted controller validated the PR head, packaged the exact-commit CLI, and launched the matrix. One early failure is classified as a workflow/candidate version mismatch, not an upgrade regression: trusted workflow 794c7549 injects NEMOCLAW_OPENSHELL_PIN_VERSION=0.0.99, while this candidate intentionally activates v0.0.101 and has no active v0.0.99 CLI checksum. The job therefore stopped before its test with No NemoClaw-pinned SHA-256 for OpenShell v0.0.99.

Other lanes remain in progress. The PR-triggered rootless Podman check installed the pinned v0.0.101 runtime successfully and is exercising the lifecycle now. No later candidate push has invalidated this run.

@apurvvkumaria

Copy link
Copy Markdown
Collaborator Author

E2E follow-up: the full run above was canceled after the trusted-workflow audit confirmed that its main-sourced OpenShell and MCP pins make it unusable as v0.0.101 qualification evidence.

Focused replacements are running:

The repository currently has no supported pre-merge focused Hermes MCP dispatch that can use this PR's updated static workflow pins. That controller skew is recorded as an infrastructure limitation, not treated as an OpenShell upgrade blocker; the candidate's Hermes MCP regression suites passed locally and its PR-triggered Hermes managed-startup check is green.

@github-actions

github-actions Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

PR Review Advisor — Informational

Advisor assessment: Informational / low confidence
Next action: No advisor follow-up needed.
Findings: 0 blockers · 0 warnings · 0 suggestions
Status: PR review advisor failed: PR review advisor SDK execution failed: session: correctness-state-analysis omitted required analysis; turn: correctness-state-analysis: correctness-state-analysis omitted required analysis

Model lanes

  • GPT-5.6 Terra (primary): Failed
  • Nemotron 3 Ultra (second opinion): Failed

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

E2E guidance

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

Recommended E2E: cloud-inference, cloud-onboard, full-e2e, hermes-e2e, hermes-inference-switch, managed-image-multiarch-startup, managed-image-protected-runtime, security-posture, bedrock-runtime-compatible-anthropic, channels-stop-start, dashboard-remote-bind, hermes-shields-config, inference-routing, network-policy, onboard-repair, onboard-resume, openclaw-plugin-runtime-exdev, openclaw-plugin-runtime-exdev-release, openshell-gateway-auth-contract, openshell-gateway-upgrade

Workflow run details

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

@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: 2

🤖 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 `@docs/security/openshell-0.0.72-compatibility-review.mdx`:
- Line 38: Align OpenShell release references across all affected sites: in
docs/security/openshell-0.0.72-compatibility-review.mdx:38, keep the historical
0.0.72 evidence separate and update current compatibility guidance to reference
the reviewed release whose title, evidence, tests, and runtime version match;
update the corresponding OpenShell references in
docs/reference/commands.mdx:4399, docs/reference/troubleshooting.mdx:349, and
docs/security/gateway-authentication-controls.mdx:56 to use the matching review
and release identity while preserving the valid published route.

In `@scripts/install-openshell.sh`:
- Around line 40-49: The stable preflight must handle an existing OpenShell
0.0.99 installation before applying the MIN_VERSION gate. Update the
version-check flow in scripts/install-openshell.sh so 0.0.99 reaches
openshell_has_required_messaging_features and pinned_sandbox_build_version()
rather than the below-minimum upgrade branch, while preserving normal
minimum-version behavior; add a regression test covering an existing 0.0.99
installation.
🪄 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: 1be47261-eee9-479e-a98f-e5a43daa61c5

📥 Commits

Reviewing files that changed from the base of the PR and between 794c754 and c6b8c45.

📒 Files selected for processing (74)
  • .github/workflows/e2e.yaml
  • .github/workflows/podman-cpu-proof.yaml
  • agents/hermes/Dockerfile
  • agents/hermes/mcp-config-transaction.py
  • agents/hermes/runtime-config-guard.py
  • agents/hermes/start.sh
  • docs/deployment/set-up-mcp-bridge.mdx
  • docs/manage-sandboxes/add-mcp-server.mdx
  • docs/manage-sandboxes/update-sandboxes.mdx
  • docs/reference/commands.mdx
  • docs/reference/configure-runtime-identity.mdx
  • docs/reference/troubleshooting.mdx
  • docs/security/best-practices.mdx
  • docs/security/gateway-authentication-controls.mdx
  • docs/security/openshell-0.0.72-compatibility-review.mdx
  • nemoclaw-blueprint/blueprint.yaml
  • nemoclaw/src/shared/openshell-policy-boundary.cts
  • scripts/brev-launchable-ci-cpu.sh
  • scripts/checks/managed-image-protected-runtime-contract.ts
  • scripts/install-openshell.sh
  • scripts/install.sh
  • scripts/update-hermes-agent.sh
  • src/lib/actions/sandbox/mcp-bridge-input-validation.test.ts
  • src/lib/actions/sandbox/mcp-bridge-url-validation.ts
  • src/lib/actions/sandbox/mcp-bridge-validation.ts
  • src/lib/actions/sandbox/openshell-child-visible-credentials.v0.0.101.json
  • src/lib/onboard/docker-driver-gateway-runtime.test.ts
  • src/lib/onboard/docker-driver-gateway-runtime.ts
  • src/lib/onboard/experimental/portable-demo-lifecycle.ts
  • src/lib/onboard/forward-start.ts
  • src/lib/onboard/managed-bootstrap/podman-held-workload.test.ts
  • src/lib/onboard/managed-bootstrap/podman-held-workload.ts
  • src/lib/onboard/openshell-feature-gate.test.ts
  • src/lib/onboard/openshell-feature-gate.ts
  • src/lib/onboard/openshell-install.test.ts
  • src/lib/onboard/openshell-install.ts
  • src/lib/onboard/openshell-version.ts
  • src/lib/onboard/runtime-provider/podman-lifecycle.ts
  • src/lib/policy/index.ts
  • test/brev-launchable-ci-cpu-checksum.test.ts
  • test/deepagents-mcp-legacy-lifecycle.test.ts
  • test/e2e/live/mcp-bridge-sandbox.ts
  • test/e2e/live/network-policy.test.ts
  • test/e2e/live/openclaw-plugin-runtime-exdev.test.ts
  • test/e2e/live/openshell-gateway-auth-source-contract-helpers.ts
  • test/e2e/live/openshell-gateway-auth-source-contract.test.ts
  • test/e2e/live/openshell-gateway-upgrade.test.ts
  • test/e2e/live/podman-cpu-lifecycle-helpers.ts
  • test/e2e/live/podman-cpu-lifecycle.test.ts
  • test/e2e/support/mcp-bridge-sandbox.test.ts
  • test/e2e/support/podman-cpu-proof-workflow.test.ts
  • test/fixtures/openshell-v0.0.101
  • test/hermes-doctor-config-hash.test.ts
  • test/hermes-final-image-layout.test.ts
  • test/hermes-mcp-config-transaction.test.ts
  • test/hermes-mcp-credential-boundary-manifest.test.ts
  • test/install-openshell-version-check.test.ts
  • test/install-openshell-version-pin.test.ts
  • test/installer-sandbox-build-trust.test.ts
  • test/mcp-add-crash-consistency.test.ts
  • test/mcp-destroy-lifecycle.test.ts
  • test/mcp-openshell-workflow.test.ts
  • test/mcp-policy-key-ownership.test.ts
  • test/mcp-restart-policy-order.test.ts
  • test/openshell-0.0.101-migration-review.test.ts
  • test/openshell-0.0.85-migration-review.test.ts
  • test/openshell-channel-workflow.test.ts
  • test/openshell-e2e-qualification.test.ts
  • test/pr-risk-plan.test.ts
  • test/runner.test.ts
  • test/sandbox-provisioning.test.ts
  • test/sandbox-rlimit-hooks.test.ts
  • test/update-hermes-agent-script.test.ts
  • tools/e2e/mcp-workflow-boundary.mts

Comment thread docs/security/openshell-0.0.72-compatibility-review.mdx
Comment thread scripts/install-openshell.sh
Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
@apurvvkumaria

Copy link
Copy Markdown
Collaborator Author

Exact-head validation refreshed after focused follow-up commit 14bdbe550e5c4bfc5b2e01700bdee409ce9bb1de.

Local follow-up evidence is green: 131/131 workflow-boundary tests, 4/4 installer-pin tests including a full 0.0.99 → 0.0.101 replacement path, 48/48 focused integration tests, Biome, title checks, repository hooks, CLI type-checking, and docs validation.

Fresh runs:

The prior c6b8c454 branch-validation run completed fully green but is now superseded by this pushed head. No later push has invalidated 14bdbe550.

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
test/install-openshell-version-pin.test.ts (1)

339-339: 🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win

Assert the pinned tag for every downloaded component.

At Line [362], the test checks only that v0.0.101 appears somewhere in downloads. It does not reject another tag for the gateway or sandbox. In the 0.0.102 case, a 0.0.99 or 0.0.100 request can pass because Line [366] excludes only v0.0.102. The fake tar setup at Line [339] writes 0.0.101 for every archive, so the final replacement check cannot detect a mixed download set. Assert that every logged asset request uses v0.0.101 and verify all three installed components.

As per path instructions, review tests for behavioral confidence rather than implementation lock-in. Based on the PR objective, every production consumer must select the same trusted release.

Also applies to: 354-388, 397-421

🤖 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/install-openshell-version-pin.test.ts` at line 339, Strengthen the
version-pin assertions in the test cases around the fake tar setup and download
checks so every logged asset request uses v0.0.101, rather than merely checking
that the tag appears and v0.0.102 is absent. Verify all three installed
components—CLI, gateway, and sandbox—select the same trusted release, while
keeping the assertions focused on observable download and installation behavior.

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.

Outside diff comments:
In `@test/install-openshell-version-pin.test.ts`:
- Line 339: Strengthen the version-pin assertions in the test cases around the
fake tar setup and download checks so every logged asset request uses v0.0.101,
rather than merely checking that the tag appears and v0.0.102 is absent. Verify
all three installed components—CLI, gateway, and sandbox—select the same trusted
release, while keeping the assertions focused on observable download and
installation behavior.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: a1d140b1-c366-4a71-85ad-0eee7f482a79

📥 Commits

Reviewing files that changed from the base of the PR and between c6b8c45 and 14bdbe5.

📒 Files selected for processing (10)
  • ci/platform-matrix.json
  • docs/reference/platform-support.mdx
  • test/exit-code-user-error-surfaces.test.ts
  • test/install-openshell-version-pin.test.ts
  • test/onboard-gateway-port-conflict-fast-fail.test.ts
  • test/rebuild-credential-preflight.test.ts
  • test/rebuild-shields-auto-unlock.test.ts
  • test/rebuild-stale-recovery.test.ts
  • test/repro-2201.test.ts
  • tools/e2e/cli-artifact-workflow-boundary.mts

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

Labels

v0.0.106 Release target

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update NemoClaw selectors and pins for OpenShell v0.0.101

2 participants