Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions docs/changelog/2026-08-31.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
{/*
* SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
* SPDX-License-Identifier: Apache-2.0
*/}

## v0.0.117

NemoClaw v0.0.117 makes OpenShell the sole durable network-policy authority.
It improves fail-closed recovery for sandboxes, Shields, the installer, Portable runtimes, and messaging channels.
It also removes the deprecated Brev deploy wrapper and adds contributor and maintainer analysis tools.

- OpenShell is now the sole durable source of sandbox policy state.
NemoClaw policy commands and Shields operate on the live OpenShell policy without storing a second desired-policy copy, while rebuild carries the current policy through one private, temporary handoff.
Legacy policy fields are removed from NemoClaw state without changing the live policy.
Related change: [PR #10515](https://github.com/NVIDIA/NemoClaw/pull/10515).
- Failed onboarding cleanup now retains immutable sandbox, gateway, policy, and create-attempt evidence.
While OpenShell still reports the sandbox live, `destroy` preserves recovery instead of deleting by mutable name.
After OpenShell confirms absence, NemoClaw removes only containers that match the retained immutable identity and verifies their absence before clearing recovery state.
Related change: [PR #10571](https://github.com/NVIDIA/NemoClaw/pull/10571).
- Hermes activation and Shields recovery now bind release acknowledgement, writer rescans, root-broker cleanup, and completed auto-restore lock retirement to exact process and transaction identities.
Transient replaced writers are reconsidered under fresh identity, while live, foreign, durable, or ambiguous identity remains denied.
Related changes: [PR #10272](https://github.com/NVIDIA/NemoClaw/pull/10272), [PR #10597](https://github.com/NVIDIA/NemoClaw/pull/10597), and [PR #10603](https://github.com/NVIDIA/NemoClaw/pull/10603).
- macOS upgrades can retire an identity-verified legacy OpenShell gateway or Homebrew service before selecting the checksum-verified replacement binaries.
Managed startup also transfers protected receipts through read-only Docker volumes, so VM-backed Docker daemons such as Colima do not need access to a client-only temporary path.
Failed verification retains the recovery receipts, and successful finalization reports any exact volume that cleanup cannot remove.
Related changes: [PR #10484](https://github.com/NVIDIA/NemoClaw/pull/10484) and [PR #10534](https://github.com/NVIDIA/NemoClaw/pull/10534).
- Hermes Portable `connect --probe-only` now recovers published Ollama only for the `ollama-local` provider.
Descriptor-backed compatible endpoints keep verification-only routing without requiring an Ollama receipt.
OpenClaw Portable recovery uses one bounded in-sandbox gateway observer and a shorter OpenShell registration poll while preserving the existing readiness statuses and outer lifecycle deadline.
Related changes: [PR #10556](https://github.com/NVIDIA/NemoClaw/pull/10556) and [PR #10612](https://github.com/NVIDIA/NemoClaw/pull/10612).
- Experimental OpenClaw WeChat setup now writes the exact revision-scoped OpenShell placeholder to the Tencent plugin account file and binds both authorized iLink endpoints to the channel provider.
Channel removal clears durable account state before provider, policy, or registry teardown, and raw bot tokens remain outside sandbox files, process arguments, and diagnostics.
Related change: [PR #10601](https://github.com/NVIDIA/NemoClaw/pull/10601).
- The deprecated `nemoclaw deploy` Brev compatibility command has been removed.
Remote hosts use their provisioning workflow, the hosted installer, and `nemoclaw onboard`; `deploy` is now available as a sandbox name.
Related change: [PR #10576](https://github.com/NVIDIA/NemoClaw/pull/10576).
- Contributors with a prepared checkout can run the checked-in PR Review Advisor specialists on committed and working-tree changes with `npm run review:local` before PR publication.
The [local-run prerequisites](https://github.com/NVIDIA/NemoClaw/blob/main/tools/pr-review-advisor/README.md#local-run) name the required host tools, the `origin/main` trust base, and the credential boundary.
Maintainer analysis now emits bounded slow-test evidence and Perfetto-compatible PR lifetime traces with revision, readiness, review-request, workflow, job, and step timelines.
Related changes: [PR #10581](https://github.com/NVIDIA/NemoClaw/pull/10581), [PR #10604](https://github.com/NVIDIA/NemoClaw/pull/10604), [PR #10608](https://github.com/NVIDIA/NemoClaw/pull/10608), [PR #10611](https://github.com/NVIDIA/NemoClaw/pull/10611), [PR #10616](https://github.com/NVIDIA/NemoClaw/pull/10616), and [PR #10617](https://github.com/NVIDIA/NemoClaw/pull/10617).
- Development qualification now contains a provider-owned record and dormant executor for the OpenShell v0.0.24 and MXC v0.7.0-rc1 checkpoint on physical Windows.
NemoClaw does not register or select MXC, expose Windows onboarding, activate this executor, or treat the checkpoint as an accepted stable distribution.
Related changes: [PR #10591](https://github.com/NVIDIA/NemoClaw/pull/10591) and [PR #10596](https://github.com/NVIDIA/NemoClaw/pull/10596).
18 changes: 9 additions & 9 deletions docs/reference/architecture.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
# SPDX-License-Identifier: Apache-2.0
title: "Architecture Details"
sidebar-title: "Architecture Details"
description: "Learn how NemoClaw combines a host CLI, sandbox integration layer, and versioned blueprint to run compatible agents in controlled OpenShell sandboxes."
description-agent: "Describes the NemoClaw integration layer and blueprint architecture and how they orchestrate compatible agent sandboxes. Use when looking up architecture, agent integration, plugin structure, or blueprint design."
description: "Learn how NemoClaw combines a host CLI, sandbox integration layer, and versioned blueprint to run supported agent runtimes in controlled OpenShell sandboxes."
description-agent: "Describes the NemoClaw integration layer and blueprint architecture and how they orchestrate supported agent runtimes in sandboxes. Use when looking up architecture, agent integration, plugin structure, or blueprint design."
keywords: ["nemoclaw architecture", "nemoclaw agent architecture", "nemoclaw plugin blueprint structure"]
content:
type: "reference"
Expand All @@ -13,7 +13,7 @@ NemoClaw combines a host CLI, an in-sandbox integration layer, and a versioned Y

## System Overview

NVIDIA OpenShell is a general-purpose agent runtime.
NVIDIA OpenShell is a general-purpose sandbox runtime and policy platform.
It provides sandbox containers, a credential-storing gateway, inference proxying, and policy enforcement, but it has no opinions about what runs inside.
NemoClaw is an opinionated reference stack built on OpenShell that handles what goes in the sandbox, prepares agent-specific integration, and makes the setup accessible.

Expand All @@ -38,7 +38,7 @@ graph LR

subgraph NEMOCLAW["NemoClaw"]
direction TB
NCLI["CLI + Onboarding<br/><small>Guided setup · provider selection<br/>credential validation · deploy</small>"]:::nemoclaw
NCLI["CLI + Onboarding<br/><small>Guided setup · provider selection<br/>credential validation · sandbox setup</small>"]:::nemoclaw
BP["Blueprint<br/><small>Hardened Dockerfile<br/>Network policies · Presets<br/>Security configuration</small>"]:::nemoclaw
MIGRATE["State Management<br/><small>Migration snapshots<br/>Credential stripping<br/>Integrity verification</small>"]:::nemoclaw
end
Expand All @@ -51,7 +51,7 @@ graph LR

subgraph SANDBOX["Sandbox Container 🔒"]
direction TB
AGENT["Compatible Agent<br/><small>Selected managed runtime</small>"]:::agent
AGENT["Supported Agent Runtime<br/><small>Selected managed runtime</small>"]:::agent
PLUG["NemoClaw Integration<br/><small>Managed configuration<br/>and runtime context</small>"]:::sandbox
end
end
Expand Down Expand Up @@ -158,7 +158,7 @@ graph TB

subgraph DOCKER["Docker daemon"]
direction TB
SANDBOX["Sandbox container 🔒<br/><small>Landlock + seccomp + netns<br/>Compatible agent + NemoClaw integration</small>"]:::sandbox
SANDBOX["Sandbox container 🔒<br/><small>Landlock + seccomp + netns<br/>Supported agent runtime + NemoClaw integration</small>"]:::sandbox
end
end

Expand All @@ -182,7 +182,7 @@ Layering from top to bottom:
| Host CLI | Host process (`$$nemoclaw` on Node.js) | Orchestrates OpenShell via `openshell` CLI calls. |
| OpenShell gateway | Host process by default; optional Linux compatibility container when the gateway binary needs a newer host ABI | Hosts the credential store, owns sandbox lifecycle coordination, and provides the L7 proxy. |
| Docker daemon | Host service | Runs the Docker-driver sandbox container and, on affected Linux hosts, the optional gateway compatibility container. |
| Sandbox container | Docker container | Runs the selected compatible agent and NemoClaw integration under Landlock + seccomp + netns. |
| Sandbox container | Docker container | Runs the selected supported agent runtime and NemoClaw integration under Landlock + seccomp + netns. |
| OpenShell L7 proxy | Gateway process | Intercepts agent egress and rewrites `Authorization` headers (Bearer/Bot) and URL-path segments to inject the real credential at the network boundary. |

NemoClaw never gives the sandbox a raw provider key.
Expand Down Expand Up @@ -321,7 +321,7 @@ The direct blueprint runner still carries a pinned OpenShell Community OpenClaw
</AgentOnly>
Inside the sandbox:

- The selected compatible agent runs with the NemoClaw integration layer installed or generated for that agent.
- The selected supported agent runtime runs with the NemoClaw integration layer installed or generated for that runtime.
- Inference calls are routed through OpenShell to the configured provider.
- Network egress is restricted by the baseline policy for the selected agent profile.
- Filesystem access is confined to `/sandbox` and `/tmp` for read-write access, with system paths read-only.
Expand All @@ -347,7 +347,7 @@ Inference requests from the agent never leave the sandbox directly.
OpenShell intercepts them and routes them to the configured provider:

```text
Compatible agent (sandbox) ──▶ OpenShell gateway ──▶ Provider endpoint
Supported agent runtime (sandbox) ──▶ OpenShell gateway ──▶ Provider endpoint
```

When you select the Model Router provider, the OpenShell gateway routes to a host-side router process instead of a single upstream model.
Expand Down
Loading