Skip to content

feat(snapshot): prepare immutable managed clone handoff - #8032

Merged
ericksoa merged 107 commits into
mainfrom
feat/managed-clone-handoff-contract
Aug 2, 2026
Merged

feat(snapshot): prepare immutable managed clone handoff#8032
ericksoa merged 107 commits into
mainfrom
feat/managed-clone-handoff-contract

Conversation

@ericksoa

@ericksoa ericksoa commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds the inert, provider-neutral contract for handing a managed snapshot clone to a replacement workload. The plan binds exact source snapshot authority, destination identity, startup profile, inference routes, messaging state, and provider receipt before any later slice may mutate or publish the clone.

This slice intentionally exposes no snapshot-action dependency or production caller. It does not activate clone handling, buildless onboarding, Podman, or any partial runtime support.

Related Issue

Part of #7744

Changes

  • Define immutable clone source, destination, provider receipt, and managed-profile handoff contracts.
  • Bind clone authority to exact provider, runtime snapshot, source/destination agent, platform, profile, and registry revision.
  • Add all-agent startup rebind planning for OpenClaw, Hermes, and LangChain Deep Agents Code.
  • Normalize inference-route and messaging credential/host-forward rebinding without runtime-specific central switches.
  • Reject stale, mutable, mismatched, cross-agent, malformed, or hostile-provider receipts.
  • Freeze provider receipts before provider acceptance so callbacks cannot mutate reviewed authority.
  • Prove the contract remains dormant through the public snapshot action: managed cross-sandbox restore exits before destination deletion, provider creation, clone creation, or state restore.
  • Document that clone handoff remains deferred to later transactional integration.
  • Apply the five still-valid CodeRabbit cleanup findings: canonical sandbox-template resolution, cast-free agent narrowing, shared OpenClaw/Hermes config selection, isolated environment stubbing, and a fully typed messaging-plan fixture.

Type of Change

  • Code change (feature, bug fix, or refactor)
  • Code change with doc updates
  • Doc only (prose changes, no code sample modifications)
  • Doc only (includes code sample changes)

Quality Gates

  • Tests added or updated for changed behavior
  • Existing tests cover changed behavior — justification:
  • Tests not applicable — justification:
  • Docs updated for user-facing behavior changes
  • Docs not applicable — justification:
  • Sensitive paths changed (security, policy, credentials, preflight, onboarding, inference, runner, sandbox, or messaging)
  • Sensitive-path review completed or maintainer-approved waiver recorded — reviewer/approval link/justification: Exact-head audit covers immutable provider receipts, source/destination authority, credential and inference rebinding, hostile callback mutation, and dormant production boundaries.
  • Non-success, skipped, or missing CI check accepted by maintainer — check name, approval link, and follow-up issue:

Documentation Writer Review

  • Documentation writer subagent reviewed the completed changes
  • Result: docs-updated
  • Evidence: Reviewed the lifecycle-contract update and exact production-boundary diff at head/base 6b6605b76e60197b2407897fd9a31bfa4134b7e0 / 56b26f173a4a3fbed6af77e01f6f3ddda84b237f. The append-only restack preserves the managed-clone review thesis while incorporating the merged fix(security): validate snapshot base64 linearly #8081 sanitizer correction from main. The four-file CodeRabbit cleanup uses existing canonical contracts and completes the test fixture's discriminated types; it changes no user-visible support claim. The internal documentation correctly keeps managed clone handoff deferred and dormant, and behavioral public-restore coverage proves managed clone attempts fail closed before destination deletion, provider creation, clone creation, or state restore. No user-visible buildless or Podman support is activated or advertised, so public support documentation remains intentionally unchanged.
  • Agent: Codex Desktop

DGX Station Hardware Evidence

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

Verification

  • Exact validated head/base: 6b6605b76e60197b2407897fd9a31bfa4134b7e0 / 56b26f173a4a3fbed6af77e01f6f3ddda84b237f.
  • Review budget: 22 files, +2,101/-17.
  • Stable patch ID: ca7a91e9d6c5ce1241c0d00d8070113d66916a00.
  • All three appended cleanup/restack commits are signed-DCO and GitHub Verified; the exact-head DCO check passes.
  • The exact-head tree passes 51 focused clone-contract, messaging-parser, channel-state, and public-boundary tests across five files.
  • The exact-head tree passes all 15 snapshot-sanitizer failure tests, including the maximum-size canonical payload and oversized/malformed no-overflow cases from merged fix(security): validate snapshot base64 linearly #8081.
  • npm run build:cli, npm run typecheck:cli, npm run checks:repository, normal pre-push TypeScript/version gates, commitlint, Biome, and git diff --check pass.
  • Behavioral dormancy coverage proves public managed clone restore exits before every destination effect.
  • Hostile-provider coverage proves receipt mutation after callback entry cannot change reviewed authority.
  • The exact-head clone-authority test adds zero if statements and its 12 cases pass after linearization.
  • No production clone caller, runtime selection change, Podman switch, or public activation exists.
  • Applicable broad gate passed — exact-head CI run 30770174361, advisor run 30770173371 attempt 2 (merge_as_is, 0 blockers/warnings/suggestions), CodeRabbit SUCCESS with zero unresolved threads, and protected E2E child run 30770630425 attempt 1 plus coordination run 30770608520 and observer run 30770187080 all passed.
  • Exact-head protected-E2E evidence: child run 30770630425 passed all 15 jobs on attempt 1. Coordination run 30770608520 verified the evidence, and coordination check 91555901383 bound PR/head/base 8032:6b6605b76e60197b2407897fd9a31bfa4134b7e0:56b26f173a4a3fbed6af77e01f6f3ddda84b237f; observer run 30770187080 passed.
  • Maintainer disposition: CodeRabbit's generic 8.33% docstring-coverage warning is waived for this slice. TypeScript contracts, focused behavioral tests, and lifecycle documentation carry the behavior; boilerplate docstrings are out of scope. This does not claim that warning passed.

Risk Plan

  • Primary risk: treating mutable or mismatched clone authority as valid and rebinding secrets/routes/state to the wrong destination.
  • Containment: exact immutable authority plus agent, provider, platform, source/destination, registry, profile, inference, and messaging checks fail closed.
  • Regression risk: accidental eager imports can alter existing snapshot test mocks before activation. A dedicated dormancy assertion and the previously failing snapshot suites prove the seam is absent here.
  • Rollback: one inert contract slice; no production action imports it.

Stack

Signed-off-by: Aaron Erickson aerickson@nvidia.com

Summary by CodeRabbit

  • New Features

    • Added managed workload and startup profile cloning with validation, destination-specific rebinding, and immutable handoff data.
    • Added messaging-plan rebinding that removes source credentials and adapts provider identities.
    • Added clone authorization across runtime providers.
    • Added environment-aware restoration, inference-route resolution, and provider-name validation.
    • Added Hermes destination inference tracking.
  • Bug Fixes

    • Prevented unsafe restoration and clone handoffs when validation or authorization fails.
    • Rejected inconsistent messaging channel disablement settings.
  • Tests

    • Expanded coverage for cloning, credential isolation, provider rebinding, immutability, and failure scenarios.

ericksoa added 30 commits July 30, 2026 14:50
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>
ericksoa and others added 7 commits August 1, 2026 01:55
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>
@ericksoa
ericksoa changed the base branch from feat/managed-snapshot-parity-rebuild to main August 2, 2026 19:46
ericksoa added a commit that referenced this pull request Aug 2, 2026
<!-- markdownlint-disable MD041 -->
## Summary

Adds provider-neutral managed snapshot, backup, and restore authority
for the incremental buildless stack. A normalized immutable runtime
snapshot is captured before backup, restored only through the owning
provider, and rebound to durable registry state only after exact live
identity and managed-profile proof agree.

This slice preserves current Docker behavior and supplies its provider
surface, but it does not register Podman, activate buildless onboarding,
or advertise partial runtime support. The contract applies uniformly to
OpenClaw, Hermes, and LangChain Deep Agents Code and remains pluggable
for an MXC-style provider.

## Related Issue

Part of #7744

## Changes

- Define a versioned provider-neutral runtime snapshot contract covering
exact provider/runtime identity, lifecycle state, image identity,
acceleration selectors, and opaque provider authority.
- Add provider-owned backup and restore preflight/receipt surfaces with
strict identity, profile, and operation binding.
- Capture Docker runtime identity and GPU attachment evidence inside the
Docker provider rather than central snapshot orchestration.
- Bind managed backup manifests to immutable runtime snapshots and fail
closed when managed authority is absent, stale, ambiguous, or
provider-mismatched.
- Restore through the owning provider, verify the exact post-restore
runtime, and publish registry state only after provider acceptance and
managed-profile proof.
- Preserve stopped-sandbox, rebuild-restore, and existing snapshot
behavior while adding exact rollback and ordering tests.
- Document the internal lifecycle ownership boundary for all shipped
agents.
- Keep runtime selection opaque; no central Podman switch or production
Podman registration is introduced.
- Keep changed test bodies linear; the exact-head growth guard now
reports no added `if` statements.

## Type of Change

- [x] 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-head audit covers
immutable provider/runtime authority, backup/restore ordering,
acceleration preservation, fail-closed validation, and post-restore
registry publication.
- [ ] 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: Reviewed `src/lib/onboard/lifecycle-contracts.md` at exact
head/base `6b2c4646d021e87da7d5fd5997138736f1052beb` /
`e97ecce48c7fcc1dfb398e1cfae8c81a859b7dcd`. It accurately documents
managed snapshot authority, provider-owned backup/restore behavior,
registry-binding order, and fail-closed restore semantics for OpenClaw,
Hermes, and DCode. This internal slice activates and advertises no
user-visible buildless or Podman support, so no public support guide
change belongs here. The exact-head follow-ups linearize tests and
harden snapshot hashing against path races without changing the
documented contract or activating support. The append-only parent
refresh through `33d1756d48500fe42552cd6fb41b2ad851e06ea4` preserves the
reviewed documentation and exact snapshot authority thesis while
rebasing the PR onto current `main`.
- Agent: Codex Desktop
<!-- docs-review-head-sha: 33d1756 -->
<!-- docs-review-agents-blob-sha:
36ce0c7 -->

## DGX Station Hardware Evidence

- [ ] Tested on DGX Station
- Tested commit:
- Station profile/scenario:
- Result:
- Supporting evidence:

## Verification

- Exact validated head/base: `33d1756d48500fe42552cd6fb41b2ad851e06ea4`
/ `d5b64a72a5fcb8299e8cec1c2f22746b5c0a7f32`.
- Review budget: 41 files, `+5,493/-82`; one cohesive
snapshot/backup/restore subsystem.
- Reviewed slice patch ID: `ff335c82cec863062374d1bd7c5759c03ca2d3c0`;
current-main PR-range patch ID:
`60555d96eaa7a26de6a0ae7cfcf9ca1cbb069ff5`.
- [x] All 91 PR-range commits are GitHub-verified; the three GitHub
Actions merge commits omit literal trailers, while the remaining commits
and PR body are signed off and the exact-head DCO check passes.
- [x] 381 affected snapshot, restore, provider-authority, registry, and
lifecycle tests passed across 19 files on the byte-identical
current-main refresh; the 62 tests changed by the linear-test follow-up
also pass.
- [x] The CodeQL filesystem-race finding is remediated with
no-follow/nonblocking descriptor pinning and post-read path/inode
verification; 78 affected restore and runtime-snapshot tests pass.
- [x] Architecture validation passed: 1,453 files, 4,297 edges, one
allowed cycle.
- [x] CLI typecheck, repository checks, exact-range merge
commit/commitlint, 381 focused tests, pre-push hooks, and `git diff
--check` passed on the refreshed head.
- [x] Current-main architecture baselines were preserved while snapshot
fan-out was ratcheted exactly `38 → 39`.
- [x] No Podman identity check or switch appears in central
orchestration.
- [x] No production Podman registration or public buildless activation
exists in this slice.
- [x] Applicable broad gate passed — exact-head required CI, both
advisor lanes, CodeRabbit, CodeQL, and protected E2E passed at
`33d1756d48500fe42552cd6fb41b2ad851e06ea4`.

## Risk Plan

- Primary risk: accepting stale or cross-provider restore authority and
publishing an incorrect runtime row.
- Containment: immutable preflight and completion receipts bind
provider, runtime, sandbox, image, profile, acceleration, and operation
identity; every mismatch fails closed before registry publication.
- Regression risk: current Docker snapshot and stopped-sandbox flows.
Existing and new focused tests cover backup, restore, rebuild
forwarding, stopped containers, GPU selectors, rollback, and publication
ordering.
- Rollback: this slice remains independently revertible and introduces
no production Podman selection or buildless activation.

## Stack

- Base: current `main` at `d5b64a72a5fcb8299e8cec1c2f22746b5c0a7f32`;
PR3.7 #8001 is merged.
- This slice: PR3.8 #8031, branch
`feat/managed-snapshot-parity-rebuild`, exact head
`33d1756d48500fe42552cd6fb41b2ad851e06ea4`.
- Next: PR3.9A #8032 narrows immutable clone handoff contracts and
remains inert on exact base `33d1756d48500fe42552cd6fb41b2ad851e06ea4`;
later transaction/rebind slices follow on exact predecessors.
- 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 snapshot backup and restore with workload, runtime,
provider, and content validation.
* Added Docker runtime snapshot support, including lifecycle and
GPU/NVIDIA metadata.
* Snapshot operations are serialized to prevent conflicts with
concurrent sandbox changes.
* **Bug Fixes**
* Added safeguards against stale, incompatible, corrupted, or
cross-sandbox restores.
  * Improved restore failure reporting and recovery guidance.
  * Preserved legacy and custom-image snapshot workflows.
* **Documentation**
* Added documentation describing managed snapshot and rebuild-restore
behavior.
<!-- 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>
@copy-pr-bot

copy-pr-bot Bot commented Aug 2, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

ericksoa added a commit that referenced this pull request Aug 2, 2026
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
@ericksoa
ericksoa changed the base branch from main to wip/pr8032-e2e-base-refresh-f93b27-20260802 August 2, 2026 20:16
@ericksoa
ericksoa changed the base branch from wip/pr8032-e2e-base-refresh-f93b27-20260802 to main August 2, 2026 20:16
Reuse canonical clone identity and test-isolation contracts.

Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Append main head 56b26f1.

Preserve the clone handoff contract plus review cleanup byte-for-byte.

Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Keep the CodeRabbit cleanup fixture fully type-checked.

Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
@ericksoa
ericksoa merged commit e2467ea into main Aug 2, 2026
93 of 95 checks passed
@ericksoa
ericksoa deleted the feat/managed-clone-handoff-contract branch August 2, 2026 23:08
ericksoa added a commit that referenced this pull request Aug 2, 2026
<!-- markdownlint-disable MD041 -->
## Summary

Adds the provider-owned transaction surface that will eventually
prepare, accept, commit, and roll back a managed snapshot clone handoff.
The dependency surface is available to later integration, but this slice
remains dormant: the production snapshot action does not call it.

The transaction uses opaque provider receipts and exact immutable
authority, with no Docker/Podman/MXC switch in central orchestration.

## Related Issue

Part of #7744

## Changes

- Add provider-neutral prepare, accept, commit, rollback, and
incomplete-create cleanup for managed clone handoff.
- Bind every phase to exact provider identity, transaction identity,
source runtime snapshot, destination sandbox, and immutable clone plan.
- Freeze and revalidate provider receipts across callbacks and reject
phase, provider, transaction, destination, or authority drift.
- Expose the provider transaction through the snapshot dependency
surface for later wiring.
- Keep the dependency unused by the production snapshot action and prove
that dormancy explicitly.
- Preserve compatible snapshot test mocks while adding the dependency
seam.
- Document provider ownership and deferred production integration.

## Type of Change

- [x] 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-head review
covers opaque provider authority, immutable receipts, exact transaction
phases, rollback/cleanup ownership, and the dormant production boundary.
- [ ] 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: Reviewed `src/lib/onboard/lifecycle-contracts.md` and the
exact provider/dependency boundary at head/base
`61c0137b569a942bc0f25111571bf9ddeabe38dc` /
`e2467ea4d54ae6e792c29a94371d1d41926a9bb4`. The contract remains
provider-owned, MXC-neutral, dormant, and byte-identical at stable patch
ID `d15ce3bf05ecc904b18e3a04d3dddfd204f318b1`; no buildless or Podman
support is activated or advertised.
- Agent: Codex Desktop
<!-- docs-review-head-sha: 61c0137 -->
<!-- docs-review-agents-blob-sha: 3dd7c24 -->

## DGX Station Hardware Evidence

- [ ] Tested on DGX Station
- Tested commit:
- Station profile/scenario:
- Result:
- Supporting evidence:

## Verification

- Exact locally validated head/base:
`61c0137b569a942bc0f25111571bf9ddeabe38dc` /
`e2467ea4d54ae6e792c29a94371d1d41926a9bb4`.
- Review budget: 5 files, `+1,343/-2`.
- Stable patch ID: `d15ce3bf05ecc904b18e3a04d3dddfd204f318b1`.
- [x] The canonical channel-state fixture passed 4/4 and pre-push CLI
typecheck passed on the exact head.
- [x] Every branch commit is SSH-signed, contains a DCO trailer, and is
GitHub Verified.
- [x] 23 focused provider-transaction and dormancy tests passed on the
byte-identical refreshed slice.
- [x] Biome, Markdown lint, and `git diff --check` passed on the exact
head.
- [x] The preserved eager dependency seam is included here with
compatible test mocks.
- [x] Source-boundary coverage proves the production snapshot action
does not call the transaction.
- [x] No runtime-specific central switch, production clone activation,
or public support claim exists.
- [ ] Applicable broad gate passed — exact-head required CI, both
advisors, CodeRabbit, and protected E2E are the broad remote gates.

## Risk Plan

- Primary risk: committing or rolling back a transaction using a receipt
from another provider, destination, phase, or clone plan.
- Containment: normalized immutable receipts are revalidated at every
phase and cleanup remains provider-owned.
- Regression risk: exporting a dependency can break existing snapshot
mocks or accidentally activate a caller. Focused tests cover compatible
mocks and an explicit no-call boundary.
- Rollback: the five-file slice is dormant and independently revertible.

## Stack

- Base: merged PR3.9A #8032, exact squash commit
`e2467ea4d54ae6e792c29a94371d1d41926a9bb4` on `main`.
- This slice: PR3.9B, branch `feat/managed-clone-provider-transaction`,
exact head `61c0137b569a942bc0f25111571bf9ddeabe38dc`.
- Next: PR3.9C adds the Hermes broker boundary on this exact parent.
- Buildless and Podman support remain disabled until the complete
all-agent, multiarch, GPU/local-inference, recovery, installer, and
protected-E2E 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 secure managed snapshot cloning with provider validation,
credential checks, and destination ownership controls.
* Added creation tracking, rollback support, and safe repeatable
cleanup.
  * Expanded snapshot clone status and outcome reporting.

* **Bug Fixes**
* Prevented uncertain or ambiguous provider operations from claiming
ownership.
* Kept standard production restores isolated from managed clone provider
operations.

* **Tests**
* Added comprehensive coverage for provider creation, reuse, cleanup,
rollback, failures, and stale state handling.

* **Documentation**
* Updated lifecycle documentation to describe managed cloning and
cleanup behavior.
<!-- 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>
senthilr-nv added a commit that referenced this pull request Aug 4, 2026
<!-- 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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: onboarding Onboarding FSM, provider setup, sandbox launch, or first-run flow area: security Security controls, permissions, secrets, or hardening feature PR adds or expands user-visible functionality platform: container Affects Docker, containerd, Podman, or images

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant