Repository navigation
chore(deps): upgrade OpenShell runtime and SDK to 0.1.7 - #12603
nvidia-nemopatch-writer[bot] wants to merge 360 commits into
Conversation
|
Important Review skippedBot user detected. To trigger a single review, invoke the
|
|
🌿 Preview your docs: https://nvidia-preview-pr-12603.docs.buildwithfern.com/nemoclaw |
Code coverage overviewLanguages: TypeScript TypeScript / code-coverage/plugin
View coverage of the 10 most impacted files.
TypeScript / code-coverage/cli
View coverage of the 10 most impacted files.
ℹ️ Calculations represent line coverage. Results may change as calculations are updated. Updated |
|
@coderabbitai review |
|
…2847) ## Outcome PR E2E uses the upgrade commit's reviewed dependency inputs instead of forcing main's versions. This change consolidates #12848's Deep Agents controller fix and extends candidate selection through protected CPU/GPU image builds and the OpenShell host runtime. The acceptance target is at most two PRs for upgrades to existing supported dependencies: normally one upgrade PR, plus one trust/bootstrap prerequisite when necessary. Ordinary version bumps must not need a third workflow-fix PR. ## Reason OpenShell #12603 needs candidate runtime qualification, and Deep Agents #12376 needs its candidate base in the protected controller. Selecting candidate artifacts only in ordinary jobs leaves protected consumers on main's dependencies. Pi also needs to publish source before it can attach the resulting qualification receipts. ## Changes - Resolve a reviewed OpenShell release from fixed files at the candidate commit. Run this resolver only for its selected gateway consumers. Candidate source remains inert input to pin and operational-template verification. - Derive image prerequisites from the existing workflow dependency graph. Gateway-only and native-producer selections do not wait for unused image publication. Image consumers and full release qualification retain their gates. - Reuse the existing candidate image path for OpenClaw, Hermes, Deep Agents, Pi, OpenShell and shared npm inputs. Published base reuse now checks Dockerfiles, parser inputs, ignore rules and copied files for all three managed agents. - Build candidate OpenClaw, Hermes and Deep Agents bases on native CPU runners. Export each as OCI content with its agent, source, workflow, platform and run identity. Protected GPU consumers verify those bytes and identities before offline use; they reject published-base substitution for PR runs. - Project only reviewed OpenShell modules and release literals into the trusted GPU controller. Select the reviewed candidate SDK archive, retain the trusted dependency graph, then build and verify the CLI. Restore the seven projected source files after qualification. These steps reuse existing pin, archive and dependency-resolution controls because arbitrary candidate host code cannot run with protected credentials. - Reuse main's Pi `--publication` check for local source publication, including later repairs in the same PR. The same PR then adds both published receipts and matching authority. CI remains strict; partial refreshes and source drift fail. - Retain verified-byte receipt parsing, staging Launchable opt-in, failure propagation, resource cleanup and full-release gates. Update the owning E2E guidance. - Refresh both Pi qualification receipts from the successful candidate image publication. Correct the managed-base fixture's platform and image-label inputs. Validate and read protected files through the same descriptor, with symlink and hardlink rejection tests. Add fixed, non-secret approval-selector failure categories without changing its acceptance rules. ## Verification Current commit: `da4ce1d219e538cab23cb519aa65e90fda55c8e7`; base: `6a02aac7f0053978a20eaed73159386e0ad2aff9`. - [Core CI](https://github.com/NVIDIA/NemoClaw/actions/runs/37865126626) passed, including all twelve CLI shards, coverage, static checks and the final gate. [Security scanning](https://github.com/NVIDIA/NemoClaw/actions/runs/37865126621) passed. - [Managed-image publication and activation](https://github.com/NVIDIA/NemoClaw/actions/runs/37865126620) passed. Both native Pi producers and all three managed-agent producers succeeded. Docker and Podman artifacts bind the current commit and image digests. Each reports 28 controlled-inference turns, zero activation builds and 13 successful cleanup callbacks. - [Self-hosted GPU qualification](https://github.com/NVIDIA/NemoClaw/actions/runs/37865127484) passed on attempt 2. The initial selector timed out before managed publication completed; one affected-job rerun after publication succeeded passed selection and the live test. Verified evidence binds `da4ce1d`, records full GPU offload, an authenticated real OpenClaw agent turn, public runtime destruction and provider resources already absent. All three cleanup callbacks passed. - [Focused manual qualification](https://github.com/NVIDIA/NemoClaw/actions/runs/37869966568) passed from trusted main, including Relevant E2E. All five selected jobs passed: cloud onboarding, full OpenClaw E2E, Hermes E2E, and OpenClaw/Hermes security posture. Verified artifacts bind the current PR commit, workflow and dispatch correlation; each reports one passed test with no failures, skips or errors. All recorded cleanup callbacks passed. These tests do not establish candidate OpenShell 0.1.2 coverage. Jetson, DGX Spark queue and staging Launchable opt-ins were false; full Release qualification was not selected. - Focused local validation of the expanded repair passed 13 files / 571 distinct tests. Projection tests cover immutable commits, reviewed templates, SDK integrity, dependency metadata, tampering, filesystem redirection, rollback and restoration. Executable SDK fixtures exercise installation/import without lifecycle scripts or package credentials. - Image handoff tests cover three agents and both native platforms. They reject wrong-agent, source, workflow, run, platform and digest evidence. Dependency-input regressions select candidate artifacts without workflow edits and reject fallback to main after failed candidate publication. - OpenShell #12603 package and lock inputs at `f473315ca9b64cab56305f3bf4a15a877f0904b2` select reviewed SDK `0.1.2` through the pure projector. This is not live SDK/runtime qualification. - All four Pi checker/runner conflicts are resolved; those files match the recorded main commit. The isolated checker/runner suite passed 57 tests. Normal commit hooks, isolated pre-push publication validation and CLI TypeScript passed. All six PR commits are GitHub Verified. - Local broad coverage could not finish under the approved macOS isolation. The current Linux CI coverage result above supplies the completed broad gate; no local broad-check pass or waiver is claimed. - The diff contains no secrets, API keys or credentials. ## Review notes Sensitive paths include `.github/workflows/e2e.yaml`, changed `scripts/**`, `tools/e2e/**` and `tools/pr-review-advisor/REVIEW-QUEUE.md`. Source self-review covers candidate admission, protected execution, prerequisite propagation, OCI/SDK verification and cleanup. The [actual Advisor run](https://github.com/NVIDIA/NemoClaw/actions/runs/37866718854) reviewed current commit `da4ce1d` against base `6a02aac7`. All nine specialists completed with no findings. Their artifacts and published review were read. The deterministic E2E floor remains required; clear reviews do not waive it. [CodeRabbit's actual review](#12847 (comment)) covers the final repair from `2cde38759` to `da4ce1d` and reports no actionable comments. All three recorded review threads are resolved. Earlier parity, receipt, fixture, pathname-race and diagnostic findings were repaired; current core CI and security scanning passed afterward. All reported PR checks and the focused manual E2E run are green on `da4ce1d`. GitHub reports no merge conflicts, but human review remains required. The protected qualification boundary below remains unresolved; no automated review grants human approval or merge authority. ### Remaining qualification boundary Current trusted main accepts only the v1 protected activation contract; this PR introduces the v2 controller needed by candidate builds. Running that known-rejected protected path before adoption would not qualify it. Live protected candidate OpenShell/SDK projection therefore still needs the adopted trusted controller, followed by testing the existing upgrade PR. No third workflow PR should be needed for that supported path. The completed Docker/Podman tests do not establish OpenShell 0.1.2 coverage or every dependency combination. Both current native Pi publications and strict CI passed; Pi source publication and receipt attachment remain within this PR. New release trust, SDK dependency graphs, permissions or controller protocols may require the one allowed trust/bootstrap prerequisite. This PR does not claim full release qualification, waive missing evidence, resolve the separate inference epic, or authorize merge. --- Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Reliability** * E2E checks can skip managed-image publication when selected checks don’t require those images, while still enforcing publication for dependent checks. * Protected runtime checks verify candidate image artifacts and use reviewed OpenShell sources and SDK versions. * Admin approval selection errors now produce specific diagnostics without exposing sensitive details. * **Compatibility** * OpenShell gateway checks resolve the version from the selected candidate rather than relying on a fixed version. * **Documentation** * Added guidance on managed-image handling, E2E prerequisites, and protected runtime checks. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
|
@coderabbitai full review |
|
…13041) ## Outcome Trust the OpenShell 0.1.2 supervisor operational template that results from main's #12928 thread-group process reader, so the base-trusted installer-pin verifier accepts the 0.1.2 upgrade (#12603). ## Reason #12597 trusted the 0.1.2 release manifests and template hashes, but #12928 later changed the supervisor operational template. The 0.1.2 selection now hashes to `31e6923609575d64ac36943e58218c801be366b782def8d33406df6e938ef5dd`, which `scripts/checks/extract-installer-pins.mts` does not list. Because `installer-hash-check.yaml` runs the verifier from the PR base, #12603 cannot approve this itself: `check-hash` fails, and the manual E2E planner stops at "Resolve reviewed candidate OpenShell version". ## Changes - Append the exact hash to the 0.1.2 `runtimeTemplateSha256` list. No existing trust record is changed or removed. ## Verification - Against #12603's tree (`0b34b45f6`), main's parser fails with `supervisor runtime operational template is not base-trusted ... actual_sha256=31e69236…`. With this change the same command succeeds and emits the 0.1.2 `release-tsv` records. - Added `test/install/installer-hash-check.test.ts` coverage for the 0.1.2 thread-group template: it accepts the exact template and rejects it after the runtime bytes are altered. Without the trust line the acceptance case fails with `actual_sha256=31e69236…`. File: 96 passed, at its 1500-line budget. - Commit hooks passed, including secret scan and growth guardrails; pre-push typechecks passed. - This does not touch #12603's other blocker (the activation E2E inference-route observation), which is tracked separately in #12558. --- Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com> 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Chores** * Updated verification data for the OpenShell 0.1.2 runtime templates. No user-facing behavior changed. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com> Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
|
@coderabbitai full review |
|
…dits (#13183) ## Outcome Let an independently reviewed upgrade PR supply OpenShell installer trust records and an SDK identity as data, while keeping verification code on the trusted base. Preserve reviewed records after merge, distribute verified SDK archives to ordinary PR CI, and build candidate managed images on native AMD64 and ARM64 runners. Main remains pinned to OpenShell 0.0.116. This prerequisite prepares support for #12603; it does not activate or qualify OpenShell 0.1.3. ## Reason Ordinary upgrades should reuse the existing qualification infrastructure instead of requiring a new workflow PR for every version or template change. The accepted scope uses at most the existing prerequisite and upgrade PRs. Candidate code must not gain shared protected-host authority. ### Related issues Refs #12603. Inference migration remains tracked separately in #12558. ## Changes - Add a bounded OpenShell trust registry to the existing verifier. Preserve historical artifact identities, complete manifest sets and template revocations. Authenticate changed candidate trust against an exact upstream PR head/base and an independent maintainer's current approval. Approval does not replace upstream artifact hashing. - Connect installer-hash checks and E2E version selection to that admission path. Refresh the complementary commit status using trusted-base code and inert API data. Reject stale identities, edited or revoked approvals, forks and incomplete observations. - Extend the existing SDK producer and npm verifier to approval-bound official SDK archives. Validate matching manifests/locks, archive bytes, workflow provenance and unchanged npm/audit policy. Remove API credentials before candidate dependency installation. Support GitHub's verified merge checkout without executing the PR source as the controller. - Extend managed-image production to native AMD64 and ARM64, retaining rootless Podman on AMD64. Validate platform-specific digests, catalogs and lifecycle contracts. Add a Pi receipt collector that verifies both architecture artifacts from one successful run and emits a patch without applying it or dispatching work. - Close the reviewed installer bypass: a newer installed CLI no longer skips inspection of retained legacy state. Revoke the unsafe prospective template fingerprint and retain real shell-process denial regressions. - Prepare the prospective OpenShell 0.1.3 trust record and SDK identity while retaining the active 0.0.116 producer. - Make dependency-pin consistency checking use the existing strict registry parser and resolver instead of scanning the old inline release table. This lets registry-only 0.1.3 records be checked while retaining legacy identities and rejecting malformed, duplicate, incomplete or conflicting records. Regression tests cover these boundaries and consumer/formula drift. - Consolidate duplicated fixture and npm-preparation code within the existing architecture and growth budgets. No budget limit, required gate or live assertion is weakened. ## Verification Latest registry-checker repair `6ac688cfeaf7dc9b2f00fc198d9092da86d604b0`: - Dependency-pin integration tests: 19/19 passed. - Existing candidate trust/admission support tests: 41/41 passed. - Repository checks: all 18 passed, including dependency pins, architecture, assertion ratchet, Pi receipt refresh and growth checks. - Formatting and `git diff --check` passed. - Normal commit hooks and pre-push publication validation passed, including CLI TypeScript. GitHub marks the new signed commit Verified. An independent documentation writer reviewed the two-file diff and found no documentation impact. - Broad `npm run check` exited 1 in the initial isolated test wrapper. Focused reproductions found its long `HOME` broke a Unix socket, its temporary root inherited the wrong group, and its file policy denied a test-owned `/private/tmp` directory. Corrected isolated runs passed the pairing and snapshot files; the unrelated Google Chat proxy file passed 8/8 with an empty environment outside the sandbox. The full broad check has not been repeated, so no local broad-pass claim is made. - Latest-head [core CI 38703064782](https://github.com/NVIDIA/NemoClaw/actions/runs/38703064782) and [managed images 38703065346](https://github.com/NVIDIA/NemoClaw/actions/runs/38703065346) completed successfully. The managed-image run includes direct OpenClaw, Hermes and Deep Agents Code startup on AMD64 and ARM64 and real rootless Podman activation. GitHub reports 49 successful checks, 14 skipped checks, and no failed or pending checks for this head. These runs use the prerequisite's active OpenShell 0.0.116. Previous published head `d1cf7ea4203144f688b23f8176aee0fa222d60c7`: - [Core CI 38684851255](https://github.com/NVIDIA/NemoClaw/actions/runs/38684851255) passed. - [Managed images 38684851036](https://github.com/NVIDIA/NemoClaw/actions/runs/38684851036) passed, including Docker AMD64/ARM64 and rootless Podman activation. These results use the prerequisite's active OpenShell 0.0.116, not the 0.1.3 upgrade. - Both Pi receipts were acquired from successful [managed-images run 38678295208](https://github.com/NVIDIA/NemoClaw/actions/runs/38678295208) on `0394cd43a`. Archive/receipt hashes, both platform identities and common cohort were verified. Receipt tests and the refresh guard passed. These are managed-image receipts, not full Pi lifecycle qualification. - Earlier installer, registry, admission, SDK provenance, workflow, platform/catalog and receipt suites passed their recorded focused checks. Their historical results do not establish latest-head CI or full runtime qualification. Repository checks and the actual Git hooks ran in a credential-free filesystem/network sandbox. A non-secret out-of-boundary canary was denied; GitHub token and SSH-agent environment variables were absent. Git signing and SSH transport remain outside that boundary. Diff inspected: no secrets or credentials. No live 0.1.3 E2E result is claimed. ## Review notes Sensitive paths include `.github/workflows/**`, `.github/actions/**`, `scripts/**` and `tools/e2e/**`. Self-review covers immutable artifacts, independent admission, credential isolation, fail-closed errors, merged-source provenance, lifecycle and cleanup. For the latest two-file checker repair, self-review checked that the inspected registry is parsed as data, historical identities cannot be replaced, complete manifests remain required, and formula/consumer comparisons remain enforced. This is consistency checking, not independent authorization of candidate trust. Actual CodeRabbit review of `d1cf7ea42` completed without actionable findings. No CodeRabbit review is posted for `6ac688c`. All nine specialist findings artifacts in the [latest-head Advisor run 38705459213](https://github.com/NVIDIA/NemoClaw/actions/runs/38705459213) bind `6ac688c` and contain no findings; its blocker gate passed. A human review of the latest head is still required. The human [changes-requested review](#13183 (review)) identified the installer early-return bypass, repaired in `1edc1af4e` with retained-state regressions. That human review has not been dismissed. Earlier CodeRabbit registry-subset, documentation, SDK merge-checkout and Git PATH findings are repaired; all five observed review threads were resolved on `d1cf7ea42`. Independent acceptance remains required. Remaining qualification boundaries: protected hosts still use finite trusted projections; full isolated candidate product/helper execution and SDK/transitive coverage there are incomplete. Jetson's operator protocol, complete Pi lifecycle qualification, consolidated preflight and full live 0.1.3 qualification are not established. This PR is not proof that every dependency upgrade can use at most two PRs. Image-publication gates remain enforced. Inference, unrelated and baseline exclusions are not passing E2E results. --- Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com> --------- Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
## Outcome Upgrade admission accepts a same-repository PR authored by a GitHub App bot. It still requires an approval from a different human with current `maintain` or `admin` permission, bound to the exact head and base commits. ## Reason The trusted verifier on `main` rejects [#12603](#12603) before it reads approvals because its author is `nvidia-nemopatch-writer[bot]`. This blocks candidate admission and check-hash even though the PR's repository, head, and base match the expected values. ### Related issues Refs #12603. ## Changes - Accept the GitHub App `[bot]` suffix only when parsing the PR author's login. Keep the existing human login and account-type checks for approvers. - Add regression tests for bot-authored PR admission with and without independent approval, and for a malformed bot login. - Clarify the bot-author and human-approval rule in the E2E README. ## Verification - `npx vitest run --project e2e-support test/e2e/support/candidate-upgrade-admission.test.ts` — 46 tests passed after rebasing onto current `main`. - `npm run checks:repository` — all 18 checks passed. - `npm run docs` — 0 errors, 2 warnings. - `git diff --check` — passed. - Normal `pre-commit`, `commit-msg`, and `pre-push` hooks — passed. The pre-push hook ran through a credential restricted macOS sandbox while SSH transport stayed outside it. - The three-file diff contains no secrets, API keys, or credentials. ## Review notes `tools/e2e/candidate-upgrade-admission.mts` is a sensitive enforcement path. An independent documentation writer reviewed the code, tests, and README for writing and documentation accuracy: PASS, no findings. The trusted verifier change still awaits independent maintainer review. This draft does not claim approval or successful live E2E. --- Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Candidate upgrade pull requests authored by GitHub App bots are accepted when an independent human maintainer approves them. * **Bug Fixes** * Bot-authored pull requests are rejected if their author login is malformed or the required approval is removed. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
Read each blueprint plan snapshot through its own no-follow descriptor. Supply cold-recovery fixture identities and health responses, and keep all sandbox observations on the owned gateway. Retain every assertion, cleanup variant, credential boundary and timeout. Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
|
PR Review Advisor finished for commit Request review only when Require no Advisor blockers is green. |
## Outcome Trusted E2E planning can resolve the reviewed OpenShell 0.1.7 MCP runtime before candidate checkout. ## Reason PR #12603 selected 0.1.7 through upgrade admission, but trusted main lacked its MCP provenance mapping. Full E2E run [42307457549](https://github.com/NVIDIA/NemoClaw/actions/runs/42307457549) failed in the planner before runtime fanout. ### Related issues Refs #12603. ## Changes - Add the existing reviewed 0.1.7 source, supervisor digest, and Linux AMD64 binary identities to the trusted resolver. - Extend both installer consumers' success and altered-binary denial cases. Retain 0.1.5 coverage. ## Verification - `vitest run --project e2e-support test/e2e/support/candidate-openshell-version.test.ts` — 54 passed. - `vitest run --project e2e-support test/e2e/support/mcp-workflow-boundary.test.ts test/e2e/support/workflow-prerequisites.test.ts` — 57 passed. - Scoped Oxlint — zero warnings and errors; formatting and normal commit hooks passed. - The diff contains no secrets, API keys, or credentials. ## Review notes Independent local review covered both changed files in NVIDIA/NemoClaw at commit `d8f36a801e8a2df6f6afd265277bb76eb2cd34cf`: `tools/e2e/candidate-openshell-version.mts` and its support test. Source, security, and writing review found no issues. The enforcement-tooling path is sensitive under main's policy. Independent CI and maintainer review remain pending; this PR stays draft. The identities match cached upstream release archives and producer evidence. OCI signatures were not independently verified; no reproducible rebuild is claimed. Installer tests use synthetic binaries. Development dependencies were reused from the upgrade checkout, including its optional SDK 0.1.7; these focused tests do not load that SDK. Default runtime pins, admission rules, permissions, existing runtime assertions, and limits are unchanged. The failed full run remains failed. This PR does not authorize another dispatch, merge, or release. --- Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> <!-- coderabbit-ai-generated:v1 --> ## Summary by CodeRabbit * **New Features** * Added OpenShell 0.1.7 to the runtime versions recognized by the candidate-version workflow, with recorded release artifact metadata. * **Tests** * Expanded coverage for selecting and upgrading to reviewed versions, including checks that unapproved versions are rejected. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
|
PR Review Advisor finished for commit Request review only when Require no Advisor blockers is green. |
Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
## Outcome Manual PR E2E can prepare an independently admitted OpenShell SDK upgrade before compiling and running the candidate. The protected GPU controller retains its trusted dependency graph. If admission is revoked after preparation, verification rejects candidate use and cleanup restores trusted originals. Cleanup also reconciles a failed projection whose rollback failed. ## Reason PR #12603 selects SDK 0.1.7. Full E2E run 42696682762 failed before runtime because trusted preparation selected only older reviewed SDK packages. Restoration also depended on live approval, which could leave projected files behind after revocation. ## Changes - Reuse candidate/base admission and SDK packaging for manual PR runs. Preserve reviewed packages for main and exact-base runs. - Pass PR identity through direct and reusable consumers. Remove API tokens before npm cache staging, dependency installation, and SDK import. - Verify the protected controller's SDK-only projection, unchanged dependency metadata and transitive graph, current approval, and archive bytes before staging. Ordinary consumers retain full candidate manifest and lock parity. - Pin SDK installer callers to implementation commit `855b8b80e13c4dbd59411672e3c3dd7720bc590f`. Align workflow environment contracts, MCP read permissions, compile-action token expectations, and complete-object hashes without weakening their rejection cases. - Execute the inline manual-dispatch producer in a regression test. Assert candidate identity, API-token forwarding, the admitted artifact path, and rejection of the reviewed fallback for that admitted case. - Record dispatch identity and original/projected digests before projection writes in a mode-0600 receipt under trusted Git metadata. The existing restore CLI validates this receipt and all seven fixed destinations, then reads replacement bytes and modes only from the immutable trusted Git commit. This lets recovery proceed without live approval or the candidate checkout; preparation and verification retain live admission. - Keep completed trusted writes after a partial restoration failure so recovery can resume. Retain the receipt for idempotent recovery and replace it only after a later preparation validates clean trusted sources and admission. - Run workflow recovery with `always()` when preparation succeeded or a receipt entry remains. Preserve cleanup failure for missing required, malformed, or dangling receipts. Remove API credentials from restoration and bind its environment only to preparation outcome. Test the actual workflow shell with a real CLI after failed preparation and rollback; update the owning guidance. - Bind protected file reads and replacements to opened directory descriptors. Use the controller’s isolated Python standard library for descriptor-relative operations because Node lacks descriptor-relative rename. Projection, rollback, receipt publication, and restoration share the helper. Reject linked files, detached parents, and changed replacement preimages. Keep temporary creation, rename, and cleanup bound to the opened parent. ## Verification - Directory-race repair: 56 workspace cases and 22 filesystem cases passed. These include real descriptor-bound reads/writes, directory swaps at parent/file/temp/rename boundaries, root detachment, matching-content leaf links, external-file preservation, descriptor cleanup, credential isolation, and recovery after rejection. - The Python watch mapping passed 94 cases; seven growth guardrails passed. All 19 repository checks, scoped Oxlint/Oxfmt, source-shape checks, and the installed pre-commit/commit-message hooks passed. No test deadline or live assertion changed. - Three deliberate attachment/root/leaf-protection mutations each failed the regression suite. Original source was restored after every probe. The same directory-swap reproduction succeeded against both recorded base and previous candidate before the repair. - The earlier SDK producer and cleanup-caller selections remain recorded in the prior review history. This repair preserves their admission, archive, workflow, and receipt contracts. - Final publication commit: `13fd0f4ecba328e95383a2f5b86e744208cd52b2`. Actual isolated publication hooks passed, including publication validation and the applicable CLI type check. Fresh branch and PR readbacks match this commit, and all seven commits have valid GitHub verification. Source CI [42760095761](https://github.com/NVIDIA/NemoClaw/actions/runs/42760095761), security [42760096034](https://github.com/NVIDIA/NemoClaw/actions/runs/42760096034), and managed images [42760095782](https://github.com/NVIDIA/NemoClaw/actions/runs/42760095782) passed. All nine Advisor specialists and the blocker gate passed in [42762557930](https://github.com/NVIDIA/NemoClaw/actions/runs/42762557930). CodeRabbit review was requested for this final commit and remains pending. Gitleaks passed; the diff includes no secrets or credentials. Previous candidate `32b47b1` passed source CI [42742397422](https://github.com/NVIDIA/NemoClaw/actions/runs/42742397422), security [42742397403](https://github.com/NVIDIA/NemoClaw/actions/runs/42742397403), managed images [42742397502](https://github.com/NVIDIA/NemoClaw/actions/runs/42742397502), and CodeRabbit. Runtime activation passed on amd64, arm64, and rootless Podman. Those passes do not establish the new candidate’s results. This PR does not complete PR #12603’s Pi native-local qualification. ## Review notes The user authorized both receipt-based restoration after revocation/failed preparation and repair of the inherited directory race. Advisor [42744943062](https://github.com/NVIDIA/NemoClaw/actions/runs/42744943062) completed all nine specialists on `32b47b1`: eight were clear, including recovery and verification. Its security P1 `F-security-built-in-quality-bcb22538ebbd4723fab0` is addressed by this descriptor-bound repair, confirmed clear by the security, recovery, and verification specialists in the current Advisor run. The old failed gate was not waived or rerun unchanged. The sensitive paths received local source/security review across SDK admission, credential custody, all seven recovery destinations, descriptor attachment, partial writes, rollback, and cleanup. The receipt cannot supply replacement bytes or authorize candidate execution; immutable trusted Git blobs remain the source authority. The filesystem child receives no inherited environment and installs no dependencies. Tests execute the real helper with deterministic syscall interleavings. The PR remains draft pending CodeRabbit review; copied-branch self-hosted qualification and independent maintainer review remain necessary. Advisor recommends the existing managed-image-protected-runtime job as additional operational evidence. That recommendation does not independently authorize or require manual full E2E under the publication contract; no manual qualification is claimed here. CodeRabbit’s inherited multiarch extra-permission validator concern remains advisory; actual permissions remain read-only. Fallback execution cases and an explicit missing-step diagnostic remain deferred test improvements. Proposed redirect-policy hardening remains advisory. CodeQL posted two duplicated descriptor-close warnings. They are false positives: each successful parent-directory open immediately registers os.close with contextlib.ExitStack, which closes all acquired descriptors on normal and exceptional context exit. The real helper’s hard-link rejection test records every acquired descriptor and verifies that all close. No warning suppression, gate waiver, or maintainer approval is claimed. --- Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> <!-- coderabbit-ai-generated:v1 --> ## Summary by CodeRabbit * **New Features** * Manual end-to-end runs can test an approved SDK upgrade candidate against its pull request and base revision. * Candidate SDK packages are validated before use; runs report an error if approval or package checks fail. * **Improvements** * Standard end-to-end runs continue using reviewed SDK packages when no eligible candidate is selected. * API credentials are limited to eligible candidate preparation and removed before SDK connection checks. * Protected workspaces can restore trusted files after interrupted or failed preparation, with recovery support for incomplete restorations. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
prekshivyas
left a comment
There was a problem hiding this comment.
Recording my explicit maintainer approval, as instructed in the authoring chat, for the OpenShell CLI/SDK 0.1.7 candidate inputs and policy at 1b860ac. The frozen headless-v1 API remains 0.1.5. This approval does not assert that qualification is complete: the ARM64 Google Chat inspection timeout remains unresolved. Existing merge/release and manual E2E holds remain in effect.
Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
prekshivyas
left a comment
There was a problem hiding this comment.
Recording the maintainer’s explicit approval of the OpenShell input/policy changes at aa347a1: the bounded SDK artifact wait within the existing 10-minute job limit, verified Pi receipt refresh, and secret-safe inspection diagnostics. The 60-second inspection deadline and all provenance and cleanup checks remain. This records the user’s decision; independent source review is retained separately. Merge, reviewer-request, and manual E2E holds remain.
|
PR Review Advisor finished for commit Request review only when Require no Advisor blockers is green. |
Outcome
Not ready for approval or merge. Upgrade NemoClaw to OpenShell
0.1.7while preserving supported inference, lifecycle, credentials, ownership, recovery, legacy data, and GPU behavior. Local migration work is complete; runtime and platform qualification remain incomplete.Reason
OpenShell
0.1.7adds supervisor destination-CA support needed by the private MCP path and changes runtime contracts that NemoClaw must validate before use. The user explicitly authorized this0.1.7upgrade in the working session. Historical maintainer direction preserves GPU support and holds qualification until compatible runtime paths exist. Preserve legacy volumes without automatic copying; defer independent improvements.Accepted dependency-update scope
The earlier maintainer decision for #12603 authorized the v0.1.5 dependency update and continued qualification. It is historical scope evidence, not authorization for
0.1.7. The current target follows the user's separate, explicit0.1.7upgrade authorization. #12558 owns the inference pre-work and excludes the dependency update; #12603 owns this separate update.0.1.7.These authorizations do not approve merge or release. Private-CA MCP now has local integration and validation evidence, but its live qualification remains pending. Personal web-access policy overlap, GPU compatibility and runtime lifecycle holds remain.
Related issues
Refs #12558 and #13338. Registered-provider selection follows merged #12333. Controller #13486 is merged and consumed.
Changes
Pin OpenShell
0.1.7release artifacts and the SDK, including the gateway Homebrew formula, supervisor images, workflow selectors and child-visible credential compatibility manifest.Supply validated corporate CA certificates to supervisor destination trust through an owned, digest-bound immutable snapshot. Preserve gateway mTLS separation, prior snapshot generations, source-absent restart behavior and explicit opt-out semantics; existing sandboxes require recreation and verification.
Fail stop promptly when OpenShell retains
CompletedorError; require observedStoppedbefore recording an intentional stop.Require
0.1.7for Hermes Portable CLI and ACP while preserving the public headless lifecycle v1 API's0.1.5contract. Reject old executable-authority receipts without rewriting them or deleting their resources.Require absence of owned runtime control volumes for the current and immediate predecessor sandbox during managed-image activation cleanup. Preserve ownership checks and deletion scope.
Adapt SDK requests, workspace selection, pagination, authentication, policies, and forwarding. Reject incomplete inventories and ambiguous resource identities.
Use sandbox-attached native inference providers and preserve operator-owned providers and credentials.
Preserve retained-state refusals, legacy volumes, bounded Hermes recovery, and ownership checks during cleanup.
Update the owning inference and credential documentation.
Retry NVIDIA Endpoints HTTP 500 within existing request limits and retain the correct probe name in errors.
Request existing gateway cleanup while Pi qualification still has a registered sandbox.
Consume main's native-provider recovery and npm/image repairs; preserve registered-provider ownership, retained-volume handling, and credential isolation.
Separate host credential validation from gateway-provider checks to keep the rebuild dependency budget unchanged. Existing tests retain invalid-credential, endpoint pinning, and pre-delete refusal coverage.
Require HTTPS before using registered credential-bearing providers. Retained HTTP records remain readable and safely detachable; local-runtime HTTP contracts remain separate.
Verification
Qualification snapshot for
dead51999— November 9, 2026, 17:31 UTCCandidate
dead51999b6bfa7f1df4a366fb7dbd9825ba264cintegrates main4d5d613f73b96d51a92e7ae88df5da5103836067, including merged trusted-main MCP provenance PR #14288. The test merge is858b161261afd521b6335296d36b89efbca8dbf3.Admission matches this candidate and base. The verified SDK artifact is OpenShell 0.1.7. The public headless-v1 API remains 0.1.5.
Three governance workflows failed before starting jobs during GitHub's scheduled
pull_request_targetprotection brownout. Its documented window ends November 9 at 18:00 UTC. No policy was weakened and no governance recovery has been performed.The previous full PR E2E 42307457549 failed before runtime fanout and consumed the authorized run allowance. No further full E2E dispatch, rerun, or base replay is authorized. Current activation results, eligible Pi receipts, resolution of the hosted Advisor blocker, governance gates, and full E2E qualification remain outstanding. Merge and release remain on hold. Recurring monitoring stays stopped.
The following sections preserve historical results and pending work for their named candidates. They do not qualify
dead51999.Historical recovery integration
f38bab243Commit
f38bab2435504993420e8ba48cc59f9a81caf5fdintegrates main64c6ffe93acf3714448a5df44ed242ffc2c85b1e(#14153) and preserves OpenShell0.1.7native provider routing.All five failed build logs for the preceding candidate were reviewed. Debian snapshot downloads exhausted their attempts with HTTP 503/504 before activation. These historical results do not qualify this commit. Current code CI, CodeQL, Advisor, images, native and rootless Podman activation, and synthetic-DNS runtime evidence remain required. Monitoring stays paused; E2E has not been dispatched.
Historical main integration
d892556a5Commit
d892556a58157338743eebe7191df437568eecb6integrates main282ee15fdc8e8dccb391b1c7df16463fcf34c8a8, including #14230 and #14122. It resolves the managed vLLM conflicts while preserving OpenShell0.1.7native provider routing.127.0.0.1. Preserve main's default Docker daemon selection, immutable ownership checks, refusal of unsafe retained bindings, and cleanup checks. Preserve native NIM routing and the recorded model and port.Publication is verified: the local commit, remote branch and PR commit match, all 343 PR commits are Verified, and the actual test-merge parents are the candidate and integrated main above. Normal pre-push validation and CLI type checking passed. Refreshed upgrade admission was posted once and read back for this candidate and base. Hosted qualification remains pending; historical image passes and skipped activations do not qualify it. The synthetic-DNS runtime evidence and other qualification holds below remain open. Monitoring stays paused, and E2E has not been dispatched.
Historical repair
38b5b86bdCommit
38b5b86bdfb2df84ef642721f4d7be711b95ece5repairs directory validation during blueprint recovery and package retrieval during image builds. It changes four files relative toa816c34d; integrated main remainsefb44f12012ccbc430f3b4dbcd821065d05b9fe3.fsync, and close the descriptor on mismatch. Reject platforms without the required flags before remote work. Three real filesystem replacement tests cover a symlink, another directory and a regular file. This repairs CodeQL 3811's directory reopen guard; it does not establish atomic directory-relative receipt publication or a demonstrated exploit.blocker-repair/commit-review.jsonbinds the committed bytes toblocker-repair/independent-review.json.Publication is verified: the local commit, remote branch and PR commit all equal
38b5b86bdfb2df84ef642721f4d7be711b95ece5, and all 342 PR commits are Verified. Normal pre-push validation and the CLI type check passed. The actual test-merge parents are main525beba5024665def76bd69e81fad4d2b69e7cf6and repair38b5b86bd; integrated main and the stale API base field remainefb44f12012ccbc430f3b4dbcd821065d05b9fe3. Admission for this commit and actual test base is absent; earlier admission does not qualify them. New code CI, automated review, image builds, activations and Pi receipts must qualify the repaired image inputs. The recurring monitor is paused at the user's request; no automatic E2E dispatch is scheduled. Runtime, merge and release holds remain.Remaining review findings
0.1.5, independently of the CLI's0.1.7runtime. Changing that public API requires separate compatibility evidence.Historical candidate
a816c34dCode CI attempt 2 passed all 12 CLI shards and code gates. Image workflow
42100589213failed four builds on package-download HTTP 404 responses before startup; four image contracts passed and were verified, and all native/Podman activations were skipped. Advisor42106688209completed all nine specialists: six clear and the three findings described above. These results do not qualify38b5b86bd.The following preserves the earlier publication-time record.
Commit
a816c34dd1ea9a733f33925b6496a151b48f766fadds identity-checked recovery for interrupted blueprint inference configuration and integrates mainefb44f12012ccbc430f3b4dbcd821065d05b9fe3.41f91e35. No secrets, API keys or credentials were added. Live recovery, fresh code CI, automated reviews, images/activations and full default PR E2E remain pending. Admission must bind this published commit and the actual main base; earlier approvals do not qualify it. Runtime, merge and release holds remain.Historical candidate
41f91e35Code CI attempt 2 passed all 12 CLI shards and code gates after the approved SDK prerequisite became available. Image qualification failed before startup on six Debian snapshot HTTP 503 responses in OpenClaw ARM64; seven image contracts passed and were verified, while activations were skipped. Advisor completed all nine specialists: seven clear, one disputed scope finding and the blueprint recovery finding addressed by this repair. These results do not qualify the new commit.
Commit
41f91e35896dc4ea52947f51729b0b5582b795afsynchronizes the OpenShell0.1.7migration with mainffaaf7f65a69e8bc831c8ef9c725e8c3689c0eb8. CI on347ef55crejected a test merge whose main parent differed from its approved base. This integration addresses that identity mismatch without changing the admission guard.Historical candidate
347ef55cThe following records the receipt repair before this synchronization.
Commit
347ef55c86595709d11e060c13eea870602c700erefreshes both Pi qualification receipts and their accepted hashes from successful managed-image workflow 41933603090, attempt 7. These three files are the complete repair relative to47194fd4; Pi image inputs are unchanged.47194fd432562c33a1371d007d7435aa0c7ff974. Archive size, SHA-256, immutable image references, source revision and cohort were verified.47194fd4; it does not establish full E2E qualification for this repair commit.Historical candidate
47194fd4The following records the preceding publication cutoff. Its completed image qualification and receipt repair are summarized above.
Commit
47194fd432562c33a1371d007d7435aa0c7ff974integrates main1689c0d6fdd2deb1124db5138a095e874dc9fadbinto the OpenShell0.1.7migration. It resolves three Pi receipt conflicts and changes one audit digest relative toec08b61d.2026.10.5replacement lock identity. The active OpenClaw2026.9.2lock and OpenShell SDK0.1.7remain unchanged.ec08b61devaluation is complete. JavaScript/TypeScript and Python Code Quality passed. Current-commit admission was missing, and merge conflicts prevented code CI and image qualification. CodeRabbit skipped the bot-authored PR; no new findings or current Advisor qualification were observed.Historical candidate
ec08b61dThe following records the preceding publication cutoff. Its later results are summarized above.
Commit
ec08b61d19b1a8694ec6a5bc8cc1f74cdffd891aintegrates maine996df66cf3d81babc6ea7e7e15863b5daa3a4c5into the OpenShell0.1.7migration. It resolves six conflicts and changes 32 files relative to160c2660.160c2660; strict source parity passed. These receipts do not establish live runtime qualification for this new commit.160c2660evaluation is complete: all eight image contracts, native startup checks and three activation platforms passed with verified evidence. Code CI attempt 2 failed during SDK preparation when the PR merge commit became unavailable after main changed; CodeQL timed out, and Advisor skipped. Those historical results do not qualifyec08b61d.Historical candidate
160c2660The following records the preceding publication cutoff. Its later results are summarized above.
Commit
160c2660a5471a4c440b31cf065bcb5d54041284adds four test repairs to the OpenShell0.1.7migration atd79c6e3c. The integrated base remains12831d050df53d991ec52733680186b080d4e0a0.0.1.7version. Give external-image rebuild mocks distinct observed runtime IDs so both cleanup scopes are checked.160c2660. Code CI failed and Advisor skipped; neither is qualified. CodeQL alert 3809 is classified as a test-fixture false positive in the saved review, but its hosted gate has not been cleared.160c2660. The published upgrade approval is bound to d79 and its base; it does not admit this new commit. Private-CA MCP and the remaining platform/runtime contracts still need live qualification. Merge and release holds remain. The recurring monitor stays stopped.Historical integration candidate
d79c6e3cThe following records the preceding integration milestone. Later d79 results and the current repair are summarized above.
Published commit
d79c6e3cc8b1a08f9f23dac79cd4a7c3a1baafb8merges required main12831d050df53d991ec52733680186b080d4e0a0into thedd0c457dOpenShell0.1.7migration. It includes the published9a0fdc2binstaller trust repair and changes 212 files relative to that published candidate. Ten conflicts were resolved. Independent writer, correctness and security review is bound to this commit and its 212 changed files inintegration-12831-commit-review.json.fast-uri3.1.7 differing from locked 3.1.9; restoring locked dependencies and rebuilding made all five selected hash cases pass. Two of those five already passed initially, so the distinct passing count is 457, not 459. This is focused validation, not a full-suite pass.mktempwas denied a/var/folderspath before the intended assertion. A similar early temporary-path failure is suspected for the other cases but was not individually captured or proved. No unchanged retry or pass is claimed for them. Preserve the earlier migration failures and limits recorded below.shell-quotefan-in was 20 against its 21 allowance. Lowering the allowance from 21 to 20 passed independent review and the owning checker. All final normal pre-commit, commit-message and pre-push checks passed.9a0fdc2b. The user authorized one guarded resumption. Its immediate API readback lagged; that observation remains preserved. Later read-only reconciliation confirms the PR, SSH branch and local checkout all equald79c6e3cc8b1a08f9f23dac79cd4a7c3a1baafb8, with base12831d050df53d991ec52733680186b080d4e0a0. Publication is confirmed. All 334 PR commits are Verified. GitHub returned 250 through its PR connection; 84 exact-commit queries completed the verification. The PR description and opening authoring-session report have not been rewritten.NemoClaw-E2E-Growth: approve 2d90ba8d9b25c798e656b608c7f0754c5ee615278f3967fda8c4f18f0eefda16; the local exception does not satisfy the hosted gate. Other CI and managed-image jobs are ongoing; no aggregate pass is claimed. Current automated reviews, image provenance, Pi receipts, native startup, activation and cleanup remain pending. Independent approval bound to the current candidate/base and full default E2E remain required. Local review and tests do not establish a runtime pass or clear the upstream Personal, GPU and lifecycle blockers. Private-CA MCP remains unqualified live. Merge/release holds remain, and the recurring monitor stays stopped.Historical local migration
dd0c457dThe following preserves the local migration milestone before the required main integration. Its pending statements describe that earlier observation; current status is above.
The local
0.1.7migration builds on published9a0fdc2b9a78b57f4686ad065988fdc4b6e5a903. That parent includes the installer trust repair that rejects malformed gateway registrations; it is part of this candidate. The migration is committed locally asdd0c457d7ded3c6644f719d989501cd0133ef27dacross 168 files. Normal pre-commit and commit-message hooks passed. Pre-push verification and publication remain pending; no remote identity or GitHub Verified status is claimed.1.8.0. It does not relax gateway authentication, TLS verification, endpoint binding, credential isolation or retained-state refusals./private/tmp; eleven unchanged approval-fixture cases could not write their fixed/tmppaths. Those results are not passes. Earlier selector/receipt fixture errors,/dev/fddenial, package setup failures and the package-output buffer failure also remain recorded. Targeted repairs and explicitly authorized retries passed their recorded cases, including 31 Brev checks, three affected CLI cases, one SDK packaging case and ten Blueprint package checks. No broad deterministic-suite pass is claimed.0.1.7wording; the repair changes no limit. The third normal commit attempt passed all applicable hooks, including source-shape and assertion-growth checks. Original failed attempts remain saved. These repairs do not change product runtime behavior.Historical candidate
98d8d7bcThe following records the earlier
0.1.5candidate and its observation-time status. It does not qualifydd0c457d7ded3c6644f719d989501cd0133ef27dor the0.1.7migration.Candidate
98d8d7bc9f8238f50ebbcb2c208a6ac1a0094dfeintegrates main91f79b05f8f358868b265d928bcd7703783ac2ad, including merged #14104. OpenShell remains pinned to0.1.5. Local, SSH branch and PR identities agree; all 329 PR commits are Verified.Previous candidate
23639a47The following local validation describes
23639a47and is historical; it does not qualify98d8d7bc.Candidate
23639a4788cdee53d74a975c71d2353a22cdbaceincludes mainb4e43015757400346fcbd4bf438ba6a340304523. OpenShell remains pinned to 0.1.5. Local integration conflicts are resolved; hosted qualification for this commit is pending.Previous candidate
ec878588Full default PR E2E run 41675670035, attempt 1, completed with 69 successful jobs, 19 skipped jobs and 14 failed jobs: 13 scenarios plus the summary. All failed-job logs and the summary were reviewed. The protected GPU job passed with nine provider children and three rollback children, verified provenance, artifacts and cleanup. Native AMD64/ARM64 startup jobs passed; their evidence does not establish complete resource absence. These historical results do not qualify
98d8d7bc.Previous candidate
027c4516Candidate
027c451606c16e84288b7a9bd846f9d71735e7bbintegrates main8a24149de8ad15251b0f67319b0f7711cba17a1a, including merged #14062, and resolves ten merge conflicts. OpenShell remains pinned to 0.1.5.Previous candidate
f906f3eCode CI and all eight managed-image contracts passed. Native AMD64 and ARM64 activation passed, with verified candidate/image identities, all 13 phases, cleanup and final resource absence. Rootless Podman activation failed during Deep Agents Code public stop/start. The gateway recorded
StartingtoError/ContainerExitedbefore the new containers started and the start RPC succeeded. Both containers were running at diagnostic capture. This supports a reconciliation/start race, but the exact OpenShell cause remains unproved. Nine fixture cleanup callbacks passed; full resource absence after this failure remains unverified.All nine Advisor specialists completed. Two findings were classified as false positives: the scope finding contradicts the accepted maintainer decision above, and the NIM documentation finding omitted the caller’s matching-session metadata restoration. The hosted Advisor blocker remained failed. CodeQL was cancelled and was not retried. Admission and installer-hash checks required independent candidate/base E2E approval. These results do not qualify
027c4516.Previous candidate
a3f1fd22Code CI, CodeQL, all nine Advisor specialists, all eight managed-image contracts and all three activation platforms passed, with verified artifacts and recorded cleanup. Candidate-upgrade admission and installer-hash checks still required independent E2E approval for that candidate/base. No new full PR E2E was dispatched. Those results do not qualify
f906f3e.Previous candidate
675c1e10Candidate
675c1e10e31c4642d4accd8ba2718312255fffd1rechecks sandbox identity immediately before native provider configuration writes. It retains main82a1a8f9cb263b6fecdb508e407c5f84f72fd685and OpenShell 0.1.5.Previous candidate
4c6560Code CI and CodeQL passed. Advisor reported the configuration-write identity race repaired above. Seven of eight managed-image contracts were verified. Hermes ARM64 terminated with a native segmentation fault after the Switchyard probe printed its success message. The native crash cause remains unresolved; image activations were skipped. No full E2E was dispatched for that candidate.
Candidate
4c6560bca8f7a4dbd6daaf5935c77a2114fe015badds the missing forward-port release classification after the rootless Podman activation failure onbe981db9. It retains main82a1a8f9cb263b6fecdb508e407c5f84f72fd685and OpenShell 0.1.5.boundorindeterminate/<fixed-kind>without adding raw errors, command output or credentials. Update stop, destroy and rebuild messages to describe unverified release accurately.Previous candidate
be981db9The runtime identity timing diagnostic passed code CI and all nine Advisor specialists. All eight image contracts and native AMD64 and ARM64 activations were verified. Rootless Podman activation failed because external OpenClaw destroy returned exit 1 after host-port release could not be proved. The old message omitted whether the result was bound or indeterminate.
Final sandbox/container absence and registered cleanup were verified. Gateway recreation occurred before later successful cleanup, so that later success does not prove the original port released on its own. OpenClaw receipt and disclosure predicates after the failed destroy check were not evaluated; additional false predicates are not excluded. No full E2E was dispatched for this candidate.
Previous candidate
9902508Candidate
9902508b3942114ed3e4fd239bd064adfa163bcaadded bounded categories for failed OpenClaw pairing observations. Code CI, all nine Advisor specialists, image contracts and all three activation platforms passed. JavaScript/TypeScript CodeQL was cancelled at its existing timeout; it was not retried. Its full E2E result is recorded below. Historical approval and qualification evidence do not apply to a later commit.Previous candidate
e977a2fCandidate
e977a2f0eec46e88c6ed6f07b0947b01800b57d6adds bounded evidence for the OpenClaw restart readiness failure observed on3a2b73a. It retains integrated main82a1a8f9cb263b6fecdb508e407c5f84f72fd685, OpenShell 0.1.5, the receipt correction, #13997 diagnostics, #14027 DRM policy, and the explicitly approved upstream timeouts.Previous candidate
3a2b73aCandidate
3a2b73af55138dc8bb0d77af2c513e4cc216f241integrates main82a1a8f9cb263b6fecdb508e407c5f84f72fd685to resolve the Tavily test conflict and repairs plugin coverage. OpenShell remains pinned to 0.1.5. The receipt correction, #13997 diagnostics, #14027 DRM policy and explicitly authorized upstream timeouts remain included.Previous candidate
1892a2bCandidate
1892a2bf42a016c3247fdf509b7a94ab524da350integrated main444ce08acf2aa036060448357a0e36cfc6eb7b23, repaired the image-trigger and registered-provider transport findings, and retained custom-endpoint IP-pin conflict checks.Previous candidate
a98ef85dCandidate
a98ef85d3749c69e676e3a82708dc4bef07e09farefreshed Pi image receipts and integrated main85a3a8b29146e1e2e03a76a57ede184aa8231aa8, including #13515. The explicitly authorized WSL shard 1 limit of 300 minutes and expanded dashboard limit of 115 minutes remain included.43c50f4, with verified immutable references, source identity and receipt authority. All 69 receipt tests and 645 distinct integration tests across 21 files passed. Nine initial failures were local loopback denials; all 45 tests in the two affected files passed after localhost fixture traffic was allowed, with assertions and limits unchanged. Documentation validation passed with 125 routes, zero errors and two warnings; independent review covered all 54 changed files. Normal commit and push hooks passed.Previous candidate
43c50f4Candidate
43c50f4ac677ba36ac8edbddcc4c9db015a6b824integrated main81fe4746e00d66c4ffc28dccda1d9931458d536b, including #14027's DRM read grant. Its 84 policy tests and documentation validation passed.Previous candidate
6d4b87bCandidate
6d4b87b6412321b0f91f0cae8abc58ac0dc78e2cintegrates mainf0be87d73f43338b99e12b1530c9317cf407d534, including Discord PR #13873 and fetch/restart diagnostics PR #13997. OpenShell remains pinned to 0.1.5. The receipt correction, answer diagnostic and nested fetch evidence repair remain included.Previous candidate
8fef778Candidate
8fef778a09bc149669d7b3bc17f712e1877890a3integrated Tavily revocation PR #13662. Its 566 distinct targeted tests, later 164-test rerun, CLI build, docs and normal hooks passed. CodeQL passed. New main conflicts prevented code CI, images and Advisor from starting; admission required a new candidate-bound approval. Complete paginated feedback contained no new actionable source finding. This candidate did not run full E2E.Previous candidate
893befCandidate
893bef0ac6c9f3ab99cd5fa504c1097b409477e5adds evidence parsing for nestedweb_fetchresults from pinned OpenClaw 2026.9.2. It retains the main integration, receipt repair and runtime diagnostics in62b22a9b9d2618b19cc4b30acb0d3107d18b1007.Previous candidate
62b22Candidate
62b22a9b9d2618b19cc4b30acb0d3107d18b1007integrates main4ec4ec634e5e9cf5f00c6bb2d2786a5b5b73eef9to resolve the merge conflict. OpenShell remains pinned to 0.1.5; the receipt correction, answer diagnostic andba9214dfixture repairs remain included.Historical repair candidate
ba9214dCandidate
ba9214d17fdca2f0932d3ece814ae9f75027224aadds two test-fixture repairs and a bounded Hermes native-exit diagnostic on top of29bde. OpenShell remains pinned to 0.1.5.Main integration candidate
29bdeCandidate
29bdeabb1f1ce3247d5bd3f921dccaae0ab8fb10integrates mainde00977585d04f3bac7b090a0870b0d2dca4972dto resolve merge conflicts. It retains the host receipt correction from #13887 and the bounded answer diagnostic from #13932. The OpenShell CLI and SDK remain pinned to 0.1.5.Historical candidate validation
Preceding candidate
bfa084f396c11ae1aa504f286aaae88d56909737integrated mainb10117ecdf3318da48e882362d971dce6879750c. Its 566 focused tests, later 185-test overlap run, documentation build and publication hooks passed. CodeQL and growth checks passed. E2E admission required a new candidate approval, and subsequent merge conflicts prevented normal PR code CI and image qualification.Earlier candidate
5dfa15ccompleted code CI, CodeQL, admission and image qualification, including eight image contracts and three activation platforms. Its registered-provider HTTPS correction remains included. Nine Advisor specialists completed; the hosted scope blocker remained red despite the documented accepted scope decision. Historical results do not qualify the current candidate or bypass a current gate.Historical full PR E2E on
9902508Run 41189216914, attempt 1 tested
9902508b3942114ed3e4fd239bd064adfa163bca, starting October 31 at 09:34:02Z (2:34 AM Pacific). Empty job and target selectors selected the full default PR suite. Base and executing workflow:82a1a8f9cb263b6fecdb508e407c5f84f72fd685.Result: 73 successful jobs, 19 skipped, nine failed scenarios and the failed Relevant E2E summary.
Both public-reference fetch scenarios and the concurrent dashboard lifecycle passed. These results do not establish the historical failures' causes. Both native startup architectures passed with verified artifacts. Failed-job content, candidate/workflow provenance, result receipt bindings and the retained protected-runtime cleanup evidence were reviewed.
Registered cleanup callbacks passed within their recorded limits. Full protected-runtime resource absence remains unverified. The failed identity scenario did not reach its provider/profile deletion commands, which are not registered failure cleanup callbacks. No resource leak is confirmed. No unchanged retry, relaxed assertion or additional runtime limit was used. This run does not qualify the new diagnostic commit.
Historical full PR E2E on
3a2b73aRun 41151876561, attempt 1 tested
3a2b73af55138dc8bb0d77af2c513e4cc216f241, starting October 31 at 00:45:23Z (October 30 at 5:45 PM Pacific). Empty job and target selectors selected the full default PR suite. Base and executing workflow:82a1a8f9cb263b6fecdb508e407c5f84f72fd685.Result: 74 successful jobs, 19 skipped, eight failed scenarios and the failed Relevant E2E summary. Release qualification was skipped as expected for manual PR mode.
Protected managed-image runtime passed all nine agent/provider combinations across OpenClaw, Hermes and Deep Agents Code with Ollama, vLLM and NIM. All three bootstrap rollback cases, five phases, four registered cleanup actions, final owned provider/sandbox/network inventory, child cleanup guards and workflow registry/auth cleanup passed. Archive bytes and SHA-256, candidate/workflow identity, seven projected/restored sources and all 39 command artifacts were verified. The executing harness belongs to trusted workflow
82a1a8f; this does not claim execution of the differing candidate helper. NIM's recorded image ID binds its mutable requested tag.Both public-reference jobs and concurrent dashboard lifecycle passed. These passes do not establish the causes of the historical Wikimedia or forward-lifetime failures. Both native startup architectures also passed with verified evidence. All eight failed scenario logs and the source/runtime reconciliation are complete. No failure was excluded as inherited without evidence, and no unchanged retry, relaxed assertion or increased runtime limit was used. This run does not qualify the next commit or clear full runtime, release or merge holds.
Historical full PR E2E on
62b22Run 41087961129, attempt 1 tested
62b22a9b9d2618b19cc4b30acb0d3107d18b1007on October 30, from 16:13:52Z to 17:32:21Z. Empty job and target selectors selected the full default suite. Base and trusted workflow were4ec4ec634e5e9cf5f00c6bb2d2786a5b5b73eef9.Result: 74 successful jobs, 19 skipped, eight failed scenarios and the failed summary job.
Both public-reference jobs passed in this run. This does not prove the cause of the historical Wikimedia failure. Native startup passed for all three agents on AMD64 and ARM64, with verified artifacts.
All failed scenario logs, the summary log and 1,806 source predicates are reviewed. Candidate/workflow provenance and downloaded artifact hashes are verified. Registered cleanup actions passed within their recorded contracts; full protected sandbox-record and volume absence is not established. No leak is confirmed. No unchanged retry, relaxed assertion or additional timeout increase was used.
Historical full PR E2E on
909dbRun 40630819405, attempt 1 tested preceding candidate
909db53d941a772a778940ce5033f32afd2f2781: 73 passed jobs, 19 skipped, nine failed scenarios plus the failed summary check. Empty job and target selectors selected the full default suite. Base1864afdbaand trusted workflow3619e535eare verified. No failure is excluded as already present on main.All nine failure archives have verified identities and successful cleanup. Complete failed-job logs and the affected source assertion audit are reviewed. In that historical PR run, protected NIM/vLLM and later agent phases were unreached. Source diagnosis and local tests do not establish live success.
For tested candidate
909db, code CI, admission, installer hashes and managed images passed. All eight builds and AMD64, ARM64 and rootless Podman activation passed; their archives and cleanup are verified. CodeQL passed its one bounded cancellation retry. These results do not qualify the current candidate.Documentation Writer Review
Documentation writer subagent reviewed the completed changes
Result:
docs-updatedHistorical evidence: Independent review covers all 46 paths in the integration at
027c451606c16e84288b7a9bd846f9d71735e7bb, including these 19 documentation files:docs/deployment/deploy-to-headless-server.mdx,docs/get-started/quickstart-langchain-deepagents-code.mdx,docs/inference/configure-model-capabilities.mdx,docs/inference/set-up-llama-cpp.mdx,docs/inference/set-up-ollama.mdx,docs/inference/switch-models.mdx,docs/inference/switch-providers.mdx,docs/inference/use-nvidia-endpoints.mdx,docs/inference/verify-inference-route.mdx,docs/manage-sandboxes/backup-restore.mdx,docs/manage-sandboxes/recover-rebuild-sandboxes.mdx,docs/manage-sandboxes/uninstall-nemoclaw.mdx,docs/reference/architecture.mdx,docs/reference/commands.mdx,docs/reference/network-policies.mdx,docs/reference/troubleshooting.mdx,docs/security/best-practices.mdx,docs/security/credential-rotation.mdx,docs/security/credential-storage.mdx. The review checks the writing rules, documentation style, implementation and validation evidence. Earlier changes retain their recorded reviews and evidence limits.Historical evidence: Independent correctness, security and documentation writer review covers all 17 integration paths at
98d8d7bc9f8238f50ebbcb2c208a6ac1a0094dfe, including.agents/references/provider-profile-inventory.md,ci/platform-matrix.json,docs/reference/platform-support.mdxandsrc/lib/onboard/lifecycle-contracts.md. The final return-type repair was independently reviewed and reconciled to the committed bytes. The review checks the writing rules, documented behavior and saved validation evidence; it does not establish runtime qualification.Historical evidence: Independent writer, correctness and security review passed for all 212 changed files at
d79c6e3cc8b1a08f9f23dac79cd4a7c3a1baafb8, including the OpenShell0.1.7migration, required main integration and subsequent repairs.integration-12831-commit-review.jsonbinds the reviewed file hashes to the final commit. The review checks the writing rules, documented behavior, preserved contracts and saved validation failures as well as passes; it does not establish runtime qualification.Historical evidence: Independent writer, correctness and security review passed for the four-file repair at
160c2660a5471a4c440b31cf065bcb5d54041284.ci-repair-commit-review.jsonbinds all four files and the complete diff toci-repair-independent-review-2.json. No public documentation change is required for this test repair. Historical migration reviews remain applicable to unchanged files; runtime qualification remains pending.Historical evidence: Independent writer, correctness and security review passed for all 32 integration and repair files at
ec08b61d19b1a8694ec6a5bc8cc1f74cdffd891a.integration-e996/commit-review.jsonbinds the complete diff and file hashes to this commit. The review covers the installer permission repair, conflict resolutions, refreshed Pi receipts, documentation and validation evidence. Six interactive-shell tests remain unverified locally; runtime qualification remains pending.Agent: Codex Desktop
Historical evidence: Independent writer, correctness and security review passed for the one-file integration at
47194fd432562c33a1371d007d7435aa0c7ff974.integration-1689/commit-review.jsonbinds the audit digest correction and verifies that all three conflict resolutions preserve the prior receipt and authority bytes. Pi qualification is pending; no runtime pass is claimed.Historical evidence: Independent writer, correctness and security review passed for the three-file Pi receipt repair at
347ef55c86595709d11e060c13eea870602c700e.images-attempt7/receipt-repair/independent-review.jsonbinds both receipt files and their authority hashes to the commit. All 60 focused tests, strict source parity and unmocked production receipt reads passed. No public documentation change is required. Full runtime qualification remains pending.Historical evidence: Independent writer, correctness and security review passed for the three-file main integration at
41f91e35896dc4ea52947f51729b0b5582b795af.integration-ffaaf7/independent-review.jsonbinds the integrated files and validation evidence. All 22 resource tests and strict Pi source parity passed; no documentation change is required. Runtime qualification remains pending.Historical evidence: Independent writer, correctness and security review passed for the seven-file blueprint repair and five-file main integration at
a816c34dd1ea9a733f33925b6496a151b48f766f. The review binds the committed file hashes, preserves the upgrade assertions and verifies the 345 distinct passing tests. Documentation covers configuration-only recovery; live recovery and hosted qualification remain pending.Historical evidence: Independent writer, correctness and security review passed for the four-file repair at
38b5b86bdfb2df84ef642721f4d7be711b95ece5.blocker-repair/commit-review.jsonverifies that the committed bytes matchblocker-repair/independent-review.json. All 91 focused tests passed. No additional documentation change is required: the repair enforces the existing recovery boundary and retrieves unchanged verified package contents. New hosted qualification remains pending.Historical evidence: Independent source, security and documentation writer review passed for the 50-file main integration at
d892556a58157338743eebe7191df437568eecb6.integration-282ee15/commit-review.jsonbinds the committed bytes to the source review and approved assertion budget. All 762 focused tests passed. Documentation explains loopback publication, retained-state refusal and physical-host access checks; its build passed with two existing warnings. Normal commit hooks passed. Hosted qualification and runtime evidence remain pending.Review notes
Independent writer, correctness and security review passed for the committed
0.1.7migration and required main integration atd79c6e3cc8b1a08f9f23dac79cd4a7c3a1baafb8; its 212 file bindings are recorded inintegration-12831-commit-review.json. Hosted qualification remains pending. Independent review of the 17-path integration and final type-only repair at98d8d7bc9f8238f50ebbcb2c208a6ac1a0094dfeis historical. The earlier 46-path integration review at027c451606c16e84288b7a9bd846f9d71735e7bbremains historical. Repair reviews and runtime evidence retain their recorded limits. Source review does not supply the independent candidate/base E2E approval or approve runtime qualification.The PR author,
nvidia-nemopatch-writer[bot], posted the opening authoring-session report. The report marks the original session evidence unavailable and excludes later repair and qualification work. Exact bot identity, unchanged report text and complete comment pagination were verified; the retrieved report passes the repository validator.Main integration includes the receipt-authority correction from #13887 and the bounded answer diagnostic from #13932. Main protected-runtime run 40877717150 passed all-agent Ollama/vLLM phases and the OpenClaw NIM command, then exhausted the shared 45-minute deadline during Hermes NIM. That historical main run did not qualify Hermes/Deep Agents Code NIM or rollback, and interrupted-child resource absence was not established. Historical PR run 41151876561 on
3a2b73acompleted those phases. Neither run proves a permanent repair for the historical empty-answer behavior.Controller repairs #13635 and #13763 and SDK prerequisite #13796 remain integrated. Historical candidate
98d8d7bcintegrated main91f79b05f8f358868b265d928bcd7703783ac2adafter its preceding candidate completed scheduled feedback. It preserves the prior runtime identity diagnostics. Runtime qualification, release and merge holds remain.The historical Podman restart race remains tracked by OpenShell #4932. Later activation passes do not prove that race fixed. No restart workaround, readiness relaxation or unsupported main-failure exclusion was introduced.
Sensitive paths in the overall PR include workflows, runtime scripts and images, policy, inference, messaging, onboarding and validation tooling. Independent review covers the recorded repair files; all nine Advisor specialists passed for previous candidate
a3f1fd22. The two hosted Advisor findings forf906f3eare classified above; its hosted blocker remains failed. Hosted review ofd79c6e3cc8b1a08f9f23dac79cd4a7c3a1baafb8remains pending; historical hosted results do not qualify it. Full qualification, approval and merge remain blocked.Signed-off-by: Prekshi Vyas prekshiv@nvidia.com