chore(openshell): trust v0.0.99 release manifests - #8499
Conversation
Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
📝 WalkthroughWalkthroughThe installer hash allowlist and verification fixtures now support OpenShell release ChangesOpenShell release trust
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related issues
Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
PR Review Advisor — No blocking findings reportedAdvisor assessment: No blocking advisor findings reported Model lanes
1 additional E2E selection from the second opinionAdvisory only. The primary lane did not select these E2E jobs or targets.
Second-opinion terminology and E2E selections are advisory. Live E2E does not run automatically for pull requests. 1 semantic terminology decisionTerminology decisions are advisory. They affect the assessment only when a separate finding identifies concrete semantic impact.
E2E guidanceAdvisory only. A maintainer can dispatch the default E2E suite against this exact revision. Recommended E2E: This automated review informs maintainers. Warnings and suggestions do not require a response. A maintainer decides whether to merge. |
|
Security review completed for the current branch revision.
Security review result: pass. |
|
CI follow-up for
No branch change is justified for this failure. Maintainer disposition is needed for this unrelated non-success check. |
Code Coverage OverviewLanguages: TypeScript TypeScript / code-coverage/pluginThe overall coverage in commit f0c0ad4 in the TypeScript / code-coverage/cliThe overall coverage in commit f0c0ad4 in the Show a code coverage summary of the most impacted files.
Updated |
senthilr-nv
left a comment
There was a problem hiding this comment.
Conditional approval of 01036dda4: the published v0.0.99 manifest hashes and product scope are verified. Before merge, add exact regression coverage for the new trust anchors, refresh onto current main, and require the current-head/base merge gate to pass. Peer maintainer to verify these conditions.
Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
There was a problem hiding this comment.
🧹 Nitpick comments (1)
test/installer-hash-check.test.ts (1)
999-999: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueRemove the PR number from the test title.
#8499is identified as a pull request, not a local issue. Remove the suffix unless a local issue#8499exists.Proposed change
- it("accepts the reviewed OpenShell 0.0.99 release manifests (`#8499`)", () => { + it("accepts trusted OpenShell 0.0.99 release manifests", () => {Based on learnings: only append a
(#1234)suffix when it references a real local issue, not a pull request.🤖 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/installer-hash-check.test.ts` at line 999, Update the test title in the `it` block for the reviewed OpenShell 0.0.99 release manifests to remove the `(`#8499`)` suffix, leaving the release description unchanged.Sources: Coding guidelines, 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/installer-hash-check.test.ts`:
- Line 999: Update the test title in the `it` block for the reviewed OpenShell
0.0.99 release manifests to remove the `(`#8499`)` suffix, leaving the release
description unchanged.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 2da02eb0-90c6-4a7a-80c4-1e1aabf0a4b9
📒 Files selected for processing (1)
test/installer-hash-check.test.ts
|
Security review refresh: PASS for the current branch revision 8bdc45e. Scope reviewed: the new test fixture carries the published OpenShell 0.0.99 CLI, gateway, and sandbox checksum-manifest contents and exercises them through the base-owned installer-hash checker. The test confirms that the fixture contents resolve to the three reviewed release-asset identities already added by this PR. Runtime selectors and consumed production pins remain on 0.0.85, and the follow-up adds no credential, network-policy, command-execution, or privilege boundary. Validation: 77 installer-hash tests passed, including the 0.0.99 selection and all three manifest checks; Biome, test-title, and diff checks passed. The follow-up commit is signed off and GitHub Verified. |
senthilr-nv
left a comment
There was a problem hiding this comment.
Approved at 345ff9056. The addressed regression test selects the published OpenShell v0.0.99 manifests and verifies all three trust identities; independent hashes match and the focused suite passes 77/77. Refresh onto current main and require the current-head/base merge gate before merge.
Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
Signed-off-by: Apurv Kumar <apurvk@nvidia.com>
|
Follow-up #8524 addresses the remaining terminology feedback by describing the OpenShell 0.0.99 release manifests as allowlisted. The existing local reference remains in the final suffix position accepted by the repository title-style gate; the focused installer-hash suite passes all 77 cases. |
<!-- markdownlint-disable MD041 --> ## Summary <!-- 1-3 plain sentences: what changes and why. Describe before-and-after behavior when it applies. Follow the NemoClaw Writing Guide: https://github.com/NVIDIA/NemoClaw/blob/main/WRITING.md. Do not add unrelated prose cleanup. --> Clarify the OpenShell `v0.0.99` installer-hash regression title by describing the manifests as allowlisted. This is the semantic wording follow-up identified after #8499 merged; test behavior is unchanged. ## Related Issue <!-- Fixes #NNN or Closes #NNN. Remove this section if none. --> Follow-up to #8499. ## Changes <!-- List concrete changes. If this adds an abstraction, configuration, fallback, migration, or compatibility path, name its current requirement and consumer, explain why a direct change is insufficient, and identify the test that protects it. --> - Replace process-oriented `reviewed` wording with the precise `allowlisted` state in the `v0.0.99` installer-hash test title. - Keep the existing local reference in the final suffix position accepted by the repository test-title gate. ## 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 one tests line and one docs line. Check other lines when applicable. Add every requested justification or approval reference. --> - [ ] Tests added or updated for changed behavior - [x] Existing tests cover changed behavior — justification: this is a test-title-only semantic correction; the focused installer-hash file passed all 77 cases and the title-style gate passed. - [ ] Tests not applicable — justification: - [ ] Docs updated for user-facing behavior changes - [x] Docs not applicable — justification: the change does not alter public behavior, configuration, commands, defaults, or documentation claims. - [ ] 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: - [ ] Non-success, skipped, or missing CI check accepted by maintainer — check name, approval link, and follow-up issue: ## Documentation Writer Review <!-- Required for code and documentation changes after the changes and applicable validation are complete. Keep one review checkbox and one instance of each visible or hidden field. For Evidence, list changed documentation paths. For documentation-only changes, also state that the writing rules and documentation style were reviewed. For other results, explain why no documentation change is needed or why the review is blocked. For Agent, use a consistent product and surface name, such as Codex Desktop, Codex CLI, Claude Code, or Cursor. After committing all review changes, put `git rev-parse --short HEAD` and `git rev-parse --short HEAD:AGENTS.md` in the hidden metadata below. Rerun the review and refresh that metadata after any new commit. This receipt is advisory during the data-collection pilot. --> - [x] Documentation writer subagent reviewed the completed changes - Result: `no-docs-needed` - Evidence: only `test/installer-hash-check.test.ts` title terminology changes; public behavior, configuration, commands, defaults, and documentation claims are unchanged. - Agent: Codex Desktop <!-- docs-review-head-sha: 392c9bb --> <!-- docs-review-agents-blob-sha: c69aad4 --> ## DGX Station Hardware Evidence <!-- Required only when scripts/prepare-dgx-station-host.sh changes. Maintainers must review the linked evidence before approving or merging. This is human-reviewed evidence, not authenticated hardware provenance. Exceptional bypasses use existing repository governance and must be documented on the PR. --> - [ ] Tested on DGX Station - Tested commit: - Station profile/scenario: - Result: - Supporting evidence: ## Verification <!-- Check each applicable item only when supported by the requested evidence. Run targeted tests once per relevant change set and rerun after later edits or hook autofixes that can affect the tested behavior. Do not rerun hook-covered checks. --> - [x] PR description includes a `Signed-off-by:` line and every commit appears as `Verified` in GitHub - [x] 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 - [x] Targeted behavior tests pass for the current change set, or tests are marked not applicable above — `npx vitest run --project integration test/installer-hash-check.test.ts` passed 77 tests; `npm run test:titles:check` passed. - [ ] Applicable broad gate passed — `npm test` for broad runtime/test-harness changes; `npm run check` for repo-wide validation/coverage changes — command/result: - [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: Apurv Kumaria <akumaria@nvidia.com> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Tests** * Updated release test wording to clarify that the manifests are allowlisted. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Signed-off-by: Apurv Kumaria <akumaria@nvidia.com> Co-authored-by: Carlos Villela <cvillela@nvidia.com>
<!-- markdownlint-disable MD041 --> ## Summary Upgrade NemoClaw's consumed OpenShell runtime from v0.0.85 to v0.0.99 after #8499 pinned the exact v0.0.99 release manifests. This PR pins the corresponding CLI, gateway, sandbox, supervisor, and child-visible credential identities across install, blueprint, managed-agent, Brev, and E2E paths. It also resolves v0.0.99 policy-activation incompatibilities for OpenClaw npm, Homebrew's GitHub endpoints, and Outlook's shared Microsoft endpoints. ## Related Issue Part of #8497. ## Changes - Move OpenShell selectors and exact CLI, gateway, sandbox, and supervisor artifact identities to v0.0.99 across installer, blueprint, Hermes, Brev, and CI consumers. - Add the v0.0.99 child-visible credential manifest and migration review covering supported platforms, onboarding, managed MCP lifecycle, credential exposure, network policy, backup/recovery, and uninstall behavior. - Enforce OpenShell v0.0.99's routable sandbox-name contract (1–19 lowercase characters, no consecutive hyphens) across schema, CLI, policy/MCP boundaries, managed activation, installer upgrade preflight, and live workflows; legacy incompatible names now stop before backup, gateway retirement, OpenShell installation, or sandbox recreation and require manual state migration. - Reconcile OpenShell v0.0.99 policy activation: keep the Restricted OpenClaw npm baseline GET-only until npm is active, preserve approved exclusions, fail closed on drift, use automatic TLS for Homebrew's overlapping GitHub routes, and align Outlook's request-body credential rewrite with Microsoft Teams. - Update user documentation for v0.0.99 MCP commands, runtime identity, network-policy behavior, troubleshooting, and security behavior. - Add and update focused fixtures and tests that protect version selection, exact artifact verification, all-agent runtime contracts, MCP lifecycle boundaries, policy compatibility, and migration evidence. ## Type of Change - [ ] Code change (feature, bug fix, or refactor) - [x] Code change with doc updates - [ ] Doc only (prose changes, no code sample modifications) - [ ] Doc only (includes code sample changes) ## Quality Gates <!-- Check one tests line and one docs line. Check other lines when applicable. Add every requested justification or approval reference. --> - [x] Tests added or updated for changed behavior - [ ] Existing tests cover changed behavior — justification: - [ ] Tests not applicable — justification: - [x] Docs updated for user-facing behavior changes - [ ] Docs not applicable — justification: - [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: Contributor migration and credential-boundary review is recorded in `docs/security/openshell-0.0.99-migration-review.md` and `src/lib/actions/sandbox/openshell-child-visible-credentials.v0.0.99.json`; repository-owned maintainer review routing remains authoritative. - [ ] Non-success, skipped, or missing CI check accepted by maintainer — check name, approval link, and follow-up issue: ## Documentation Writer Review <!-- Required for code and documentation changes after the changes and applicable validation are complete. Keep one review checkbox and one instance of each visible or hidden field. For Evidence, list changed documentation paths. For documentation-only changes, also state that the writing rules and documentation style were reviewed. For other results, explain why no documentation change is needed or why the review is blocked. For Agent, use a consistent product and surface name, such as Codex Desktop, Codex CLI, Claude Code, or Cursor. After committing all review changes, put `git rev-parse --short HEAD` and `git rev-parse --short HEAD:AGENTS.md` in the hidden metadata below. Rerun the review and refresh that metadata after any new commit. This receipt is advisory during the data-collection pilot. --> - [x] 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/network-policy/create-custom-policy-presets.mdx`, `docs/reference/architecture.mdx`, `docs/reference/commands.mdx`, `docs/reference/configure-runtime-identity.mdx`, `docs/reference/network-policies.mdx`, `docs/reference/troubleshoot-mcp-servers.mdx`, `docs/reference/troubleshooting.mdx`, `docs/security/best-practices.mdx`, `docs/security/openshell-0.0.72-compatibility-review.mdx`, and `docs/security/openshell-0.0.99-migration-review.md` - Agent: Codex Desktop <!-- docs-review-head-sha: 93646ec --> <!-- docs-review-agents-blob-sha: 12ad395 --> ## DGX Station Hardware Evidence <!-- Required only when scripts/prepare-dgx-station-host.sh changes. Maintainers must review the linked evidence before approving or merging. This is human-reviewed evidence, not authenticated hardware provenance. Exceptional bypasses use existing repository governance and must be documented on the PR. --> - [ ] Tested on DGX Station - Tested commit: - Station profile/scenario: - Result: - Supporting evidence: ## Verification <!-- Check each applicable item only when supported by the requested evidence. Run targeted tests once per relevant change set and rerun after later edits or hook autofixes that can affect the tested behavior. Do not rerun hook-covered checks. --> - [x] PR description includes a `Signed-off-by:` line and every commit appears as `Verified` in GitHub - [x] 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 - [x] Targeted behavior tests pass for the current change set, or tests are marked not applicable above — command/result or justification: Focused installer, CLI, plugin, integration, and E2E-support suites passed for the legacy-name preflight, canonical validation, generated/runtime names, workflow contracts, policy/MCP boundaries, and Brev instance-name separation. The CI-repair rerun passed 100 E2E-support tests and 13 MCP-policy tests. `npm run validate:pr` passed on final head `93646ec56`. - [ ] Applicable broad gate passed — `npm test` for broad runtime/test-harness changes; `npm run check` for repo-wide validation/coverage changes — command/result: `npm test` was attempted locally but the heavily loaded host produced widespread unrelated loopback/timing failures across untouched suites; changed-area suites pass in isolation and fresh PR CI is required. - [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) — final-head command passed with 0 errors and 2 existing Fern warnings, so this remains unchecked. - [x] Doc pages follow the [style guide](https://github.com/NVIDIA/NemoClaw/blob/main/docs/CONTRIBUTING.md) (doc changes only) - [x] 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: Apurv Kumaria <akumaria@nvidia.com> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added support for OpenShell 0.0.99 with updated sandbox credentials, runtime compatibility, and verified release artifacts. - Improved gateway inference detection across supported output formats. - Enforced a 19-character maximum for sandbox names. - **Bug Fixes** - Gateway configurations using JWT authentication now reject unsupported wildcard bindings. - Direct IPv6-literal MCP URLs are rejected as unqualified. - **Documentation** - Updated setup, migration, troubleshooting, security, and compatibility guidance for OpenShell 0.0.99. - Clarified gateway binding, glibc, TLS, DNS, and provider-operation limitations. - **Tests** - Refreshed installation, gateway, sandbox, MCP, and end-to-end coverage. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Signed-off-by: Apurv Kumaria <akumaria@nvidia.com> Signed-off-by: Senthil Ravichandran <senthilr@nvidia.com> Co-authored-by: Senthil Ravichandran <senthilr@nvidia.com> Co-authored-by: Carlos Villela <cvillela@nvidia.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: J. Yaunches <jyaunches@nvidia.com>
Summary
Extend the base-owned OpenShell release-manifest trust allowlist to
v0.0.99. This prerequisite lets a later selector PR verify the published CLI, gateway, and sandbox checksum manifests without letting proposed branch code authorize its own release identities.Related Issue
Part of #8497
Changes
v0.0.99CLI checksum manifest.v0.0.99gateway checksum manifest.v0.0.99sandbox checksum manifest.v0.0.99manifests and asset digests.v0.0.85for the separate qualification and selector workstream.Type of Change
Quality Gates
test/installer-hash-check.test.tsselectsv0.0.99, validates the three reviewed manifest identities, and checks the consumed assets against the published contents.v0.0.85selectors, commands, configuration, defaults, or supported runtime behavior. Documentingv0.0.99now would imply support before qualification completes.Documentation Writer Review
no-docs-needed345ff9056is refreshed onto currentmain; the PR-relative diff adds the three trust identities and published-manifest coverage. Runtime selectors remainv0.0.85, so the change has no user-facing behavior to document.DGX Station Hardware Evidence
Verification
Signed-off-by:line and every commit appears asVerifiedin GitHubpre-commit,commit-msg, andpre-pushhooks passed, ornpm run validate:prpassed after refreshingorigin/mainwhen hooks were skipped or unavailablenpx vitest run --project integration test/installer-hash-check.test.tspassed 77 tests; source-shape and test-title gates passed.npm testfor broad runtime/test-harness changes;npm run checkfor repo-wide validation/coverage changes — command/result:npm run docsbuilds without warnings (doc changes only)Signed-off-by: Apurv Kumaria akumaria@nvidia.com
Summary by CodeRabbit