feat(onboard): add transactional Docker bootstrap adapter - #8128
Conversation
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Preserve the exact reviewed tree while moving the stacked base to merged PR3.3. Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Preserve the exact reviewed tree while moving the stacked base to restacked PR3.4a. Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Preserve the exact reviewed tree while moving the stacked base to restacked PR3.4b. Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Carry the reviewed PR3.4b slice unchanged onto the CodeRabbit feedback fix for PR3.4a. Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Carry the reviewed PR3.5 slice unchanged onto the CodeRabbit feedback restack through PR3.4b. Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Carry the reviewed PR3.4b slice unchanged onto the serialized PR3.4a transaction contract. Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Carry the reviewed PR3.5 slice unchanged onto the serialized PR3.4a transaction contract. The review patch remains unchanged through PR3.4b. Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Restack PR3.4b without changing its review patch. Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Restack PR3.5 without changing its review patch. Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/lib/onboard/managed-bootstrap/docker-test-fixture.ts`:
- Around line 352-356: Wrap the body of the --commit-shared-state-transaction
case in braces so the result declaration is scoped within its switch clause.
Preserve the existing sharedState update, event recording, and return behavior.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 1420e8b5-79b3-431e-add3-cf9cd22036b1
📒 Files selected for processing (5)
src/lib/onboard/managed-bootstrap/adapter.tssrc/lib/onboard/managed-bootstrap/docker-shared-state.tssrc/lib/onboard/managed-bootstrap/docker-test-fixture.tssrc/lib/onboard/managed-bootstrap/docker.test.tssrc/lib/onboard/managed-bootstrap/docker.ts
🚧 Files skipped from review as they are similar to previous changes (2)
- src/lib/onboard/managed-bootstrap/adapter.ts
- src/lib/onboard/managed-bootstrap/docker.ts
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
|
Addressed all CodeRabbit feedback on exact head
The five inline threads are resolved. Local validation passed 45/45 review-fix tests plus the 16/16 exact follow-up Docker suite, both typechecks, Biome, growth/test-size checks, repository checks, and normal hooks. Public exact-head requalification is running. |
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
src/lib/onboard/managed-bootstrap/docker.test.ts (1)
328-332: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winRequire the
--agentflag before reading its value.
args.indexOf("--agent")returns-1when the flag is absent. The assertion then checksargs[0]. It can pass without proving that--agent <agent>was emitted if the first argument equalsagent. Add an explicitagentIndex >= 0check.Proposed fix
const agentIndex = args.indexOf("--agent"); - return args.includes("--shared-state-transaction-status") && args[agentIndex + 1] === agent; + return ( + agentIndex >= 0 && + args.includes("--shared-state-transaction-status") && + args[agentIndex + 1] === agent + );🤖 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 `@src/lib/onboard/managed-bootstrap/docker.test.ts` around lines 328 - 332, Update the mock-call predicate in the docker bootstrap test to require agentIndex >= 0 before comparing args[agentIndex + 1] with agent, while preserving the existing shared-state flag check.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Outside diff comments:
In `@src/lib/onboard/managed-bootstrap/docker.test.ts`:
- Around line 328-332: Update the mock-call predicate in the docker bootstrap
test to require agentIndex >= 0 before comparing args[agentIndex + 1] with
agent, while preserving the existing shared-state flag check.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: e97cb327-1ddd-48ae-8189-ace4dd6b0808
📒 Files selected for processing (1)
src/lib/onboard/managed-bootstrap/docker.test.ts
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Preserve the reviewed append-only PR head while making the current main reconstruction and the managed-bootstrap helper environment repair explicit ancestry. Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/lib/onboard/managed-bootstrap/docker-shared-state.test.ts`:
- Around line 57-68: Remove the args[0] === "run" conditional from the shared
test assertion helper. Extract the run-specific and exec-specific assertions
into separate named helpers, then update each test to call the applicable helper
directly while preserving the existing argument-slice expectations.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 4af4e343-f700-4880-96ec-eec67cbb2006
📒 Files selected for processing (3)
src/lib/onboard/managed-bootstrap/adapter.test.tssrc/lib/onboard/managed-bootstrap/docker-shared-state.test.tssrc/lib/onboard/managed-bootstrap/docker-shared-state.ts
🚧 Files skipped from review as they are similar to previous changes (1)
- src/lib/onboard/managed-bootstrap/docker-shared-state.ts
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Preserve the reviewed append-only PR head while making the current-main reconstruction, managed-bootstrap security follow-up, and documentation precision repair explicit ancestry. Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/lib/onboard/temp-files.test.ts`:
- Around line 46-48: Update the assertion around fs.writeFileSync in the
temp-file test to verify that the thrown error has the EEXIST code, rather than
accepting any exception. Preserve the existing write attempt and subsequent
content check.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 14ab4620-6c21-406c-9ad1-ade109af6fda
📒 Files selected for processing (5)
src/lib/onboard/managed-bootstrap/README.mdsrc/lib/onboard/managed-bootstrap/docker-shared-state.test.tssrc/lib/onboard/managed-bootstrap/docker-shared-state.tssrc/lib/onboard/managed-startup-shared-state-transaction.test.tssrc/lib/onboard/temp-files.test.ts
🚧 Files skipped from review as they are similar to previous changes (3)
- src/lib/onboard/managed-bootstrap/docker-shared-state.test.ts
- src/lib/onboard/managed-bootstrap/README.md
- src/lib/onboard/managed-bootstrap/docker-shared-state.ts
|
Nemotron F-001 disposition on exact head The cited fourth file, The file-local mocks are therefore retained to preserve module isolation. No production or test correctness issue remains from this suggestion. |
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
E2E Target Results — ❌ Some tests failedRun: 30836022706
|
<!-- markdownlint-disable MD041 --> ## Summary Bind managed sandbox creation to the pluggable runtime-provider bundle without activating buildless support in production. The candidate Docker surface owns create lifecycle and routing, while central onboarding accepts the same contract from an MXC-style provider and keeps every current production bundle bootstrap-unsupported. This slice also makes the existing Docker compatibility path retain rollback authority through readiness, GPU-proof, and applicable local-inference gates. A failed late rollback is propagated and reported instead of being treated as success. ## Related Issue Part of #7744. ## Changes - Add one provider-neutral managed-create contract covering create lifecycle, routing, runtime patches, authority storage, and runtime snapshots. - Add an inert Docker candidate surface that composes the transactional bootstrap adapter; central orchestration does not select Docker, Podman, or MXC by switch. - Carry identity-bound held startup through OpenClaw, Hermes, and DCode launch construction without putting encoded profiles in sandbox argv. - Make GPU creation and host-local inference use the provider transaction, including exact rollback before fallback/failure and commit only after applicable readiness and inference gates. - Preserve the pre-patch container through late qualification, propagate `rolledBack: false`, and emit manual-cleanup guidance only when exact rollback does not complete. - Protect the abstraction with registry, MXC-style provider, all-agent launch, GPU lifecycle, local-inference, rollback-failure, and compatibility-path tests. - Update inference, commands, troubleshooting, and internal architecture documentation to match the exact rollback behavior. ## 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 - [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: Exact-tree local review covers provider neutrality, immutable rollback authority, all-agent held startup, late rollback outcome propagation, GPU/local-inference commit gates, and production dormancy. Public exact-head advisors and protected E2E remain required before merge. - [ ] Non-success, skipped, or missing CI check accepted by maintainer — check name, approval link, and follow-up issue: ## Documentation Writer Review - [x] Documentation writer subagent reviewed the completed changes - Result: `docs-updated` - Evidence: Clean candidate `7ed953c7d0934b4c8781b125a4ce57757591781d` and append-only graft `48526666b6b975d6e6173f7f2bc7a76ab0f46361` share exact tree `048dc1f0dd8e0dbbe8de6511bbac75b18828dc61`. Independent exact-diff review covered provider neutrality, the MXC-style path, production dormancy, rollback wording, and the four changed documentation files. Final signed+DCO qualification child `34b43764dd37885b88d1b931861cdf6de92b508b` changes only the stale local-NIM docs contract assertion, so every reviewed documentation blob remains unchanged; the exact assertion now passes 23/23. - Agent: Codex Desktop <!-- docs-review-head-sha: 34b4376 --> <!-- docs-review-agents-blob-sha: 3dd7c24 --> ## DGX Station Hardware Evidence - [ ] Tested on DGX Station - Tested commit: - Station profile/scenario: - Result: - Supporting evidence: ## Verification - Exact base/head: `c63e7eb5ec07448e26a6cd8617a24601216bec35` / `34b43764dd37885b88d1b931861cdf6de92b508b`. - Review budget: 30 paths, `+1,842/-313`. - Stable patch ID: `dad9c0a58cb8b696a0a29c787ff116a0438190b0`. - Binary diff SHA-256: `91d6f4f300ace2ce4f7110e397b09f9f153a936bf1cde28140219f857e2c4f2e`. - Clean exact-base reconstruction: signed+DCO commit `7ed953c7d0934b4c8781b125a4ce57757591781d`, direct child of merged #8128 main `c63e7eb5ec07448e26a6cd8617a24601216bec35`; graft tree equality is exact at `048dc1f0dd8e0dbbe8de6511bbac75b18828dc61`. Final test-only qualification child `34b43764dd37885b88d1b931861cdf6de92b508b` has tree `cc3b68897023975c70225ddde2559a3d44357e5d`. - Append-only ancestry: signed+DCO graft `48526666b6b975d6e6173f7f2bc7a76ab0f46361` has preserved prior live head `c14be060337d19318be9324e883cf4ddf5040d72` as first parent and clean reconstruction `7ed953c7d0934b4c8781b125a4ce57757591781d` as second parent. Signed+DCO child `34b43764dd37885b88d1b931861cdf6de92b508b` is a normal fast-forward. No remote history is rewritten. - Durable refs: `backup/podman-stack/pr8040-live-head-c14be0603`, `backup/podman-stack/pr8040-clean-7ed953c7d`, `backup/podman-stack/pr8040-graft-48526666b`, `backup/podman-stack/pr8040-final-34b43764d`, and `hold/podman-stack/pr8041-base-34b43764d`. - Exact c63-based focused behavior suite passed 164/164: 141 CLI tests and 23 integration tests. The hardened central-source boundary passed 8/8. Final docs contract test passed 23/23 after updating its stale local-NIM wording assertion. - CLI/plugin builds, all three typecheck surfaces, Biome, repository architecture, source-shape, test-size, conditional scan, documentation preparation and route checks, diff checks, gitleaks, markdownlint, and the complete commit-time pre-commit suite passed. - Documentation validation passed across OpenClaw, Hermes, and DCode variants. - Production provider construction still returns unsupported bootstrap/recovery surfaces; no selectable runtime or buildless activation is added. ## Risk Plan - Primary risk: central orchestration acquiring a runtime-specific branch, or committing compatibility-path changes before late readiness/GPU/inference qualification and losing exact rollback authority. - Containment: one injected provider bundle owns managed create; MXC-style tests forbid Docker-specific central routing; commit is deferred through applicable gates; unsuccessful exact rollback is propagated and reported. - Regression risk: the compatibility path changes failure/recovery timing. Focused lifecycle and local-inference tests cover successful commit, pre-commit failure, exact rollback, rollback failure, and manual-cleanup reporting. - Rollback: the managed-create candidate remains unregistered; the compatibility-path change can be reverted independently if qualification exposes a regression. ## Stack - Base: merged PR3.10B2 #8128 at main commit `c63e7eb5ec07448e26a6cd8617a24601216bec35`. - This slice: PR3.11 #8040, branch `feat/managed-bootstrap-provider-create`, exact head `34b43764dd37885b88d1b931861cdf6de92b508b`. - Next: PR3.12A #8041 on protected handoff `hold/podman-stack/pr8041-base-34b43764d`. - Buildless and Podman support remain disabled until the complete all-agent, multiarch, GPU/local-inference, recovery, installer, and protected-E2E activation gates in #7744 pass. Signed-off-by: Aaron Erickson <aerickson@nvidia.com> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added managed startup and provider-driven sandbox creation support. * Added Docker GPU onboarding with native and compatibility routing. * Added durable sandbox identity resolution for OpenShell environments. * **Bug Fixes** * GPU verification now completes before changes are finalized. * Failed readiness, GPU, or inference checks attempt rollback and report recovery issues. * Improved diagnostics and error propagation during sandbox recreation. * **Documentation** * Expanded GPU rollback, diagnostics, cleanup, and local NVIDIA NIM guidance. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Signed-off-by: Aaron Erickson <aerickson@nvidia.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
<!-- markdownlint-disable MD041 --> ## Summary Adds the canonical dated `v0.0.101` changelog entry that was missing when the release tag was cut. This post-release recovery records the shipped behavior on current `main` without changing or replacing the existing tag. ## Changes - Add `docs/changelog/2026-08-03.mdx` with the exact `## v0.0.101` heading, release summary, detailed behavior changes, support boundaries, and links to durable documentation. - [#7317](#7317) -> `docs/changelog/2026-08-03.mdx`: Records experimental OpenClaw Google Chat support and its restricted credential and webhook boundary. - [#7715](#7715) -> `docs/changelog/2026-08-03.mdx`: Records strict onboarding recovery state and authoritative resume identity. - [#7749](#7749) -> `docs/changelog/2026-08-03.mdx`: Records the provider-neutral policy seam and unchanged runtime support boundary. - [#7817](#7817) -> `docs/changelog/2026-08-03.mdx`: Records preserved Hermes home-channel assignments across rebuilds. - [#7820](#7820) -> `docs/changelog/2026-08-03.mdx`: Records the SSH-session status field correction. - [#7847](#7847) -> `docs/changelog/2026-08-03.mdx`: Records fail-closed credential filtering for migration and rebuild backups. - [#7870](#7870) -> `docs/changelog/2026-08-03.mdx`: Records sandbox-qualified in-sandbox host command hints. - [#7875](#7875) -> `docs/changelog/2026-08-03.mdx`: Records Microsoft Teams stop and start E2E coverage. - [#7885](#7885) -> `docs/changelog/2026-08-03.mdx`: Records Hermes managed gateway detection in status. - [#7889](#7889) -> `docs/changelog/2026-08-03.mdx`: Records policy-authenticated HTTPS Pin Runtime route revocation. - [#7891](#7891) -> `docs/changelog/2026-08-03.mdx`: Records default fallback for negative timeout and polling overrides. - [#7993](#7993) -> `docs/changelog/2026-08-03.mdx`: Records correct sibling detection during uninstall. - [#7995](#7995) -> `docs/changelog/2026-08-03.mdx`: Records absent configuration-hash handling before shields lock. - [#8001](#8001) -> `docs/changelog/2026-08-03.mdx`: Records the dormant atomic managed workload replacement foundation. - [#8029](#8029) -> `docs/changelog/2026-08-03.mdx`: Records repository terminology review in PR Review Advisor. - [#8031](#8031) -> `docs/changelog/2026-08-03.mdx`: Records provider-neutral managed snapshot authority. - [#8032](#8032) -> `docs/changelog/2026-08-03.mdx`: Records immutable managed clone handoff contracts. - [#8034](#8034) -> `docs/changelog/2026-08-03.mdx`: Records the dormant provider-owned clone transaction surface. - [#8035](#8035) -> `docs/changelog/2026-08-03.mdx`: Records the dormant Hermes managed clone broker boundary. - [#8036](#8036) -> `docs/changelog/2026-08-03.mdx`: Records the dormant transactional managed bootstrap boundary. - [#8037](#8037) -> `docs/changelog/2026-08-03.mdx`: Records dormant Docker bootstrap primitives and the unchanged provider support boundary. - [#8070](#8070) -> `docs/changelog/2026-08-03.mdx`: Records consolidated sandbox resource-limit E2E coverage. - [#8071](#8071) -> `docs/changelog/2026-08-03.mdx`: Records escaped and bounded CLI validation diagnostics. - [#8081](#8081) -> `docs/changelog/2026-08-03.mdx`: Records bounded linear snapshot Base64 validation. - [#8085](#8085) -> `docs/changelog/2026-08-03.mdx`: Records commit-bound workflow approval for eligible same-repository maintainers. - [#8088](#8088) -> `docs/changelog/2026-08-03.mdx`: Records Hermes managed-policy E2E selection. - [#8090](#8090) -> `docs/changelog/2026-08-03.mdx`: Records pinned CI search-tool provisioning. - [#8106](#8106) -> `docs/changelog/2026-08-03.mdx`: Records fallback from failed managed OpenShell gateway startup. - [#8107](#8107) -> `docs/changelog/2026-08-03.mdx`: Records Hermes adapter lifecycle E2E selection. - [#8128](#8128) -> `docs/changelog/2026-08-03.mdx`: Records the dormant transactional Docker bootstrap adapter and rollback authority. - [#8140](#8140) -> `docs/changelog/2026-08-03.mdx`: Records Slack conflict scope across independent OpenShell gateways. - [#8147](#8147) -> `docs/changelog/2026-08-03.mdx`: Records completion of durable v0.0.100 documentation audit follow-ups. ## Type of Change - [ ] Code change (feature, bug fix, or refactor) - [ ] Code change with doc updates - [x] Doc only (prose changes, no code sample modifications) - [ ] Doc only (includes code sample changes) ## Quality Gates - [ ] Tests added or updated for changed behavior - [ ] Existing tests cover changed behavior — justification: - [x] Tests not applicable — justification: This documentation-only recovery does not change executable behavior. - [x] Docs updated for user-facing behavior changes - [ ] Docs not applicable — justification: - [ ] Sensitive paths changed (security, policy, credentials, preflight, onboarding, inference, runner, sandbox, or messaging) - [ ] Sensitive-path review completed or maintainer-approved waiver recorded — reviewer/approval link/justification: - [ ] Non-success, skipped, or missing CI check accepted by maintainer — check name, approval link, and follow-up issue: ## Documentation Writer Review - [x] Documentation writer subagent reviewed the completed changes - Result: `docs-updated` - Evidence: Independently reviewed `docs/changelog/2026-08-03.mdx` at commit `0bebe1f568e3dc85cf410aac1dfb8f8830070b85`. Its blob is `82887920f9720eafd75db6b2271c35f7477edb9b`. The entry follows the writing guide, controlled terminology, changelog structure, MDX SPDX format, literal CLI-name rule, and root-absolute route requirements. It accurately records the `v0.0.100...v0.0.101` release range, Announcement #8162, accepted scope boundaries, and shipped security behavior. There are no code samples. Focused changelog tests and the documentation build pass for this commit. - Agent: Codex Desktop independent documentation writer <!-- docs-review-head-sha: 0bebe1f --> <!-- docs-review-agents-blob-sha: 3dd7c24 --> ## Security Review - Result: `PASS` - Reviewed commit: `0bebe1f568e3dc85cf410aac1dfb8f8830070b85` - Base commit: `643a4ab8b5f583d8555192a37927268b26022c51` - Findings: None. - Secrets and credentials: `PASS`. No credential values or secret files are present. - Input validation and data sanitization: `PASS`. No executable input path changes. - Authentication and authorization: `PASS`. No identity or permission logic changes. - Dependencies and third-party libraries: `PASS`. No dependency changes. - Error handling and logging: `PASS`. No runtime path changes; diagnostic-security claims are precise. - Cryptography and data protection: `PASS`. No implementation changes. - Configuration and security controls: `PASS`. No configuration, container, port, or HTTP changes. - Security testing: `PASS`. No coverage is removed; the entry records shipped test and security behavior. - System security: `PASS`. No runtime control changes; dormant and non-activation boundaries are explicit. - Agent: Codex Desktop independent security reviewer ## Verification - [ ] PR description includes a `Signed-off-by:` line and every commit appears as `Verified` in GitHub — verification is pending after commit `0bebe1f568e3dc85cf410aac1dfb8f8830070b85` is pushed. - [ ] 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 — commit hooks passed; pre-push is pending. - [x] Targeted behavior tests pass for the current change set, or tests are marked not applicable above — tests are not applicable to this documentation-only recovery. - [x] Applicable broad gate passed — not applicable to this documentation-only recovery. - [x] Quality Gates section completed with required justifications or waivers - [x] No secrets, API keys, credentials, or private keys are added by this diff. - [ ] `npm run docs` builds without warnings (doc changes only) — GitHub documentation checks are pending. - [x] Doc pages follow the [style guide](https://github.com/NVIDIA/NemoClaw/blob/main/docs/CONTRIBUTING.md) (doc changes only) — independent documentation review passed. - [x] New doc pages include SPDX header and frontmatter (new pages only) — the native changelog entry uses the required parser-safe MDX SPDX comment and intentionally has no frontmatter. GitHub CI is authoritative. Focused changelog tests and `npm run docs` passed after the merge refresh. --- 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 experimental Google Chat support. * Improved runtime and session status visibility. * Added onboarding recovery and persistence safeguards. * Added snapshot validation and dormant managed-workload support. * **Bug Fixes** * Improved backup sanitization, route handling, and gateway reliability. * **Documentation** * Added the v0.0.101 changelog and related updates. * **Tests** * Expanded end-to-end coverage and strengthened trusted CI validation. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Signed-off-by: Apurv Kumaria <akumaria@nvidia.com> Signed-off-by: Carlos Villela <cvillela@nvidia.com> Co-authored-by: Carlos Villela <cvillela@nvidia.com> Co-authored-by: Senthil Ravichandran <senthilr@nvidia.com>
Summary
Adds the second narrowed PR3.10B review unit: the dormant transactional Docker managed-bootstrap adapter and shared-state cutover. It builds on #8037's journal/spec primitives and remains unregistered and unsupported by every production provider.
Preparation captures immutable original and replacement authority before destructive activation. Cleanup requires an exact validated Ready receipt; mutable-name reuse is retained and reported instead of deleted unsafely. Every immutable Node helper receives a scrubbed environment, and rollback is delegated to the immutable image's canonical receipt parser with only the three capabilities required to restore ownership, access owner-restricted state, and restore modes.
Related Issue
Part of #7744
Changes
/usr/bin/env -i; clear loader variables before the scrubber and clearNODE_OPTIONS/NODE_PATHat the pre-entrypoint boundary as defense in depth.CHOWN,DAC_OVERRIDE, andFOWNERfor exact restoration.Type of Change
Quality Gates
Documentation Writer Review
docs-updated875eab3f25f97134ed3347c51f8d7cc3ccc231a8and grafteb8ee81cc157ea7c12e311ab4b53e87930e3ae17share exact tree7ef10c62ab2f10773f8f0372dd78d41329d9f1ac. Final qualification child00154381829ea31e214bc41955384755a39fe280changes only tests, so the reviewed documentation blobs are unchanged. Review confirmed accurate pre-/post-cutover rollback wording, npm-package versus runtime-image scope, activation/provider import scope, and dormant user-visible lifecycle claims.markdownlint-cli2, the 8/8 source-shape contract, andgit diff --checkpass.DGX Station Hardware Evidence
Verification
8c542b214f15561f71b262523d80a61ed4a5e9c7/00154381829ea31e214bc41955384755a39fe280(22 files,+4,868/-36).+4,867/-35.07b3d062e2a26a8c9993f70e87ef1f5c7c0ca9db.ac4098a115e0bb14824ee7c49e211da15d268babc305a72be21b2c869b416f1d.875eab3f25f97134ed3347c51f8d7cc3ccc231a8, direct child of live main8c542b214f15561f71b262523d80a61ed4a5e9c7.eb8ee81cc157ea7c12e311ab4b53e87930e3ae17, first parent prior live head206228343ae124563be7d13b4dd620e9628f9db0, second parent the clean reconstruction, exact tree7ef10c62ab2f10773f8f0372dd78d41329d9f1ac. Signed+DCO qualification child00154381829ea31e214bc41955384755a39fe280is a normal fast-forward with exact tree7c3d307d40156375bf26d8b977a93d6149013650. No remote history was rewritten.backup/podman-stack/pr8128-advisor-b23404994,backup/podman-stack/pr8128-final-eb8ee81cc,backup/podman-stack/pr8128-final-001543818, andhold/podman-stack/pr8040-base-001543818./usr/bin/env -iremains the trusted Node boundary, immutable receipt validation remains image-owned, and the new tests fail closed before restoration or symlink following.206228343ae124563be7d13b4dd620e9628f9db0passed ordinary CI, both advisors, CodeRabbit with zero unresolved threads, CodeQL, and protected E2E child30829525494for rebuild-openclaw, onboard-repair, onboard-resume, and state-backup-restore. Final exact head00154381829ea31e214bc41955384755a39fe280must independently pass its automatically approved current-head gates, including cloud-onboard.Risk Plan
Stack
b30781c399d3456e6e071bae098c28c6000d80f9.00154381829ea31e214bc41955384755a39fe280.hold/podman-stack/pr8040-base-001543818before its append-only recascade.Signed-off-by: Aaron Erickson aerickson@nvidia.com
Summary by CodeRabbit
New Features
Bug Fixes
Documentation