docs: prepare v0.0.40 release docs#3427
Conversation
Refresh release notes, docs metadata, and generated user skills.
📝 WalkthroughWalkthroughThis PR documents NemoClaw v0.0.40 updates across 26 documentation files, including Ollama setup prerequisites (zstd requirement), vLLM inference configuration refinements, authenticated proxy behavior clarification, network policy tier filtering by agent support, architecture blueprint refactoring from Python orchestrator to YAML package model, sandbox recovery procedures, OpenShell gateway upgrade guidance, and removal of shields-based lockdown documentation. Changesv0.0.40 Documentation Updates
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
.agents/skills/nemoclaw-user-configure-inference/SKILL.md (1)
146-148:⚠️ Potential issue | 🟠 Major | ⚡ Quick winBase-URL instruction conflicts with other onboarding docs (
/v1suffix handling).This section tells users to provide a base URL ending in
/v1, but other onboarding docs in this PR state NemoClaw appends/v1automatically. Please normalize this to one behavior; otherwise users may input/v1/v1and fail endpoint validation.Also applies to: 161-163
🤖 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 @.agents/skills/nemoclaw-user-configure-inference/SKILL.md around lines 146 - 148, The doc currently tells users to enter a base URL with a trailing /v1 which conflicts with other onboarding docs that say NemoClaw appends /v1 automatically; update the copy in the "When the wizard asks you to choose an inference provider, select 'Other OpenAI-compatible endpoint'" paragraph (and the repeated instance around lines 161-163) to instruct users to provide the base URL without the /v1 suffix (e.g., use "http://localhost:8000") and add a brief note that the app will append /v1 for them to avoid double‑appending.
🧹 Nitpick comments (2)
docs/get-started/quickstart.md (1)
303-303: 💤 Low valueSplit into one sentence per line.
This line contains a full sentence that should be on its own line for better diff readability. As per coding guidelines, use one sentence per line in source.
-The default **Balanced** tier includes common development presets such as npm, PyPI, Hugging Face, Homebrew, and Brave Search when the selected agent supports web search. +The default **Balanced** tier includes common development presets such as npm, PyPI, Hugging Face, Homebrew, and Brave Search when the selected agent supports web search.Note: This is already a single sentence, but the formatting guideline asks for clarity. If you need to add more detail, split into multiple sentences, each on its own line.
🤖 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 `@docs/get-started/quickstart.md` at line 303, The sentence "The default **Balanced** tier includes common development presets such as npm, PyPI, Hugging Face, Homebrew, and Brave Search when the selected agent supports web search." should be placed as its own line in docs/get-started/quickstart.md to follow the one-sentence-per-line guideline; edit the paragraph so that this full sentence occupies a single line (or, if you choose to add detail, split into multiple sentences with each sentence on its own line).docs/reference/commands.md (1)
194-196: 💤 Low valueSplit into one sentence per line.
These lines contain multiple sentences on line 194. Split for better diff readability per the coding guidelines.
-When an existing gateway is detected for reuse, NemoClaw probes the host gateway HTTP endpoint (`http://127.0.0.1:${NEMOCLAW_GATEWAY_PORT}/`) before declaring it reusable, so a gateway whose container is running but whose upstream is still warming up (e.g. immediately after a Docker daemon restart) is rebuilt instead of trusted. +When an existing gateway is detected for reuse, NemoClaw probes the host gateway HTTP endpoint (`http://127.0.0.1:${NEMOCLAW_GATEWAY_PORT}/`) before declaring it reusable, so a gateway whose container is running but whose upstream is still warming up (e.g. immediately after a Docker daemon restart) is rebuilt instead of trusted.Note: This is already a single complex sentence. Consider splitting into two sentences for clarity:
-When an existing gateway is detected for reuse, NemoClaw probes the host gateway HTTP endpoint (`http://127.0.0.1:${NEMOCLAW_GATEWAY_PORT}/`) before declaring it reusable, so a gateway whose container is running but whose upstream is still warming up (e.g. immediately after a Docker daemon restart) is rebuilt instead of trusted. +When an existing gateway is detected for reuse, NemoClaw probes the host gateway HTTP endpoint (`http://127.0.0.1:${NEMOCLAW_GATEWAY_PORT}/`) before declaring it reusable. +A gateway whose container is running but whose upstream is still warming up (for example, immediately after a Docker daemon restart) is rebuilt instead of trusted.🤖 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 `@docs/reference/commands.md` around lines 194 - 196, Split the long documentation paragraph into separate sentences on individual lines for better diff readability: break the sentence describing the gateway probe and rebuild behavior into two sentences (mentioning the probe to `http://127.0.0.1:${NEMOCLAW_GATEWAY_PORT}/` and the rebuild behavior when upstream is warming up), then put each sentence about tuning/waiting into its own line and list the environment variables `NEMOCLAW_REUSE_HEALTH_POLL_COUNT` and `NEMOCLAW_REUSE_HEALTH_POLL_INTERVAL` on separate lines with their default values and clamping behavior clearly stated.
🤖 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 @.agents/skills/nemoclaw-user-overview/references/ecosystem.md:
- Line 11: Replace the passive sentence "There are three pieces that are put
together in a NemoClaw deployment: OpenClaw, OpenShell, and NemoClaw, each with
a distinct scope." with an active-voice alternative; for example use "A NemoClaw
deployment combines three pieces: OpenClaw, OpenShell, and NemoClaw, each with a
distinct scope." or "NemoClaw deployments use three components: OpenClaw,
OpenShell, and NemoClaw, each with a distinct scope." Ensure the new sentence
appears in place of the original passive construction.
In @.agents/skills/nemoclaw-user-overview/references/overview.md:
- Around line 5-10: Replace the unhyphenated phrase "on prem" with the standard
hyphenated form "on-prem" in the overview text; locate the string "on prem" in
the NemoClaw description (the sentence containing "This enables self-evolving
claws to run more safely in clouds, on prem, RTX PCs and DGX Spark.") and update
it to "on-prem" to ensure consistent user-facing terminology.
In @.agents/skills/nemoclaw-user-reference/references/architecture.md:
- Around line 171-174: The two descriptions conflict: the paragraph "The runner
resolves, verifies, and applies the blueprint through the OpenShell CLI"
disagrees with the later lifecycle bullets that say the plugin
resolves/verifies; update the text so ownership is consistent across both
sections — either state that the plugin resolves and verifies the blueprint and
the runner applies it via the OpenShell CLI, or state that the runner handles
all three steps; modify the sentence mentioning "runner", "OpenShell CLI", and
the lifecycle bullets to use the chosen ownership wording so both sections match
exactly.
---
Outside diff comments:
In @.agents/skills/nemoclaw-user-configure-inference/SKILL.md:
- Around line 146-148: The doc currently tells users to enter a base URL with a
trailing /v1 which conflicts with other onboarding docs that say NemoClaw
appends /v1 automatically; update the copy in the "When the wizard asks you to
choose an inference provider, select 'Other OpenAI-compatible endpoint'"
paragraph (and the repeated instance around lines 161-163) to instruct users to
provide the base URL without the /v1 suffix (e.g., use "http://localhost:8000")
and add a brief note that the app will append /v1 for them to avoid
double‑appending.
---
Nitpick comments:
In `@docs/get-started/quickstart.md`:
- Line 303: The sentence "The default **Balanced** tier includes common
development presets such as npm, PyPI, Hugging Face, Homebrew, and Brave Search
when the selected agent supports web search." should be placed as its own line
in docs/get-started/quickstart.md to follow the one-sentence-per-line guideline;
edit the paragraph so that this full sentence occupies a single line (or, if you
choose to add detail, split into multiple sentences with each sentence on its
own line).
In `@docs/reference/commands.md`:
- Around line 194-196: Split the long documentation paragraph into separate
sentences on individual lines for better diff readability: break the sentence
describing the gateway probe and rebuild behavior into two sentences (mentioning
the probe to `http://127.0.0.1:${NEMOCLAW_GATEWAY_PORT}/` and the rebuild
behavior when upstream is warming up), then put each sentence about
tuning/waiting into its own line and list the environment variables
`NEMOCLAW_REUSE_HEALTH_POLL_COUNT` and `NEMOCLAW_REUSE_HEALTH_POLL_INTERVAL` on
separate lines with their default values and clamping behavior clearly stated.
🪄 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: 79010631-fd0d-4c4c-b37f-c1bbdbeb7208
📒 Files selected for processing (27)
.agents/skills/nemoclaw-user-configure-inference/SKILL.md.agents/skills/nemoclaw-user-configure-inference/references/inference-options.md.agents/skills/nemoclaw-user-configure-security/references/best-practices.md.agents/skills/nemoclaw-user-deploy-remote/references/sandbox-hardening.md.agents/skills/nemoclaw-user-get-started/SKILL.md.agents/skills/nemoclaw-user-get-started/references/prerequisites.md.agents/skills/nemoclaw-user-get-started/references/quickstart-hermes.md.agents/skills/nemoclaw-user-manage-sandboxes/SKILL.md.agents/skills/nemoclaw-user-overview/references/ecosystem.md.agents/skills/nemoclaw-user-overview/references/how-it-works.md.agents/skills/nemoclaw-user-overview/references/overview.md.agents/skills/nemoclaw-user-overview/references/release-notes.md.agents/skills/nemoclaw-user-reference/references/architecture.md.agents/skills/nemoclaw-user-reference/references/commands.md.agents/skills/nemoclaw-user-reference/references/network-policies.md.agents/skills/nemoclaw-user-reference/references/troubleshooting.mddocs/about/release-notes.mddocs/deployment/sandbox-hardening.mddocs/get-started/prerequisites.mddocs/get-started/quickstart.mddocs/inference/use-local-inference.mddocs/project.jsondocs/reference/commands.mddocs/reference/network-policies.mddocs/reference/troubleshooting.mddocs/security/best-practices.mddocs/versions1.json
💤 Files with no reviewable changes (4)
- .agents/skills/nemoclaw-user-deploy-remote/references/sandbox-hardening.md
- .agents/skills/nemoclaw-user-configure-security/references/best-practices.md
- docs/security/best-practices.md
- docs/deployment/sandbox-hardening.md
| It drives OpenShell APIs and CLI to create and configure the sandbox that runs OpenClaw. | ||
| Models and endpoints sit behind OpenShell's inference routing. | ||
| NemoClaw onboarding wires provider choice into that routing. | ||
| There are three pieces that are put together in a NemoClaw deployment: OpenClaw, OpenShell, and NemoClaw, each with a distinct scope. |
There was a problem hiding this comment.
Rewrite to active voice.
"There are three pieces that are put together" uses passive voice. As per coding guidelines, active voice is required in documentation.
Suggested rewrites:
- "A NemoClaw deployment combines three pieces: OpenClaw, OpenShell, and NemoClaw, each with a distinct scope."
- "NemoClaw deployments use three components: OpenClaw, OpenShell, and NemoClaw, each with a distinct scope."
As per coding guidelines: Active voice required. Flag passive constructions.
🤖 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 @.agents/skills/nemoclaw-user-overview/references/ecosystem.md at line 11,
Replace the passive sentence "There are three pieces that are put together in a
NemoClaw deployment: OpenClaw, OpenShell, and NemoClaw, each with a distinct
scope." with an active-voice alternative; for example use "A NemoClaw deployment
combines three pieces: OpenClaw, OpenShell, and NemoClaw, each with a distinct
scope." or "NemoClaw deployments use three components: OpenClaw, OpenShell, and
NemoClaw, each with a distinct scope." Ensure the new sentence appears in place
of the original passive construction.
| NVIDIA NemoClaw is an open-source reference stack that simplifies running [OpenClaw](https://openclaw.ai) always-on assistants more safely. | ||
| NemoClaw provides onboarding, lifecycle management, and OpenClaw operations within OpenShell containers. | ||
| It incorporates policy-based privacy and security guardrails, giving you control over your agents’ behavior and data handling. | ||
| This enables self-evolving claws to run more safely in clouds, on prem, RTX PCs and DGX Spark. | ||
|
|
||
| NemoClaw pairs open-source and hosted models (for example [NVIDIA Nemotron](https://build.nvidia.com)) with a hardened sandbox, routed inference, and declarative egress policy so deployment stays safer and more repeatable. | ||
| NemoClaw pairs hosted models on inference providers or local endpoints with a hardened sandbox, routed inference, and declarative egress policy so deployment stays safer and more repeatable. |
There was a problem hiding this comment.
Use hyphenated form for “on-prem.”
Please change “on prem” to “on-prem” for standard user-facing terminology consistency.
🧰 Tools
🪛 LanguageTool
[grammar] ~8-~8: Use a hyphen to join words.
Context: ...g claws to run more safely in clouds, on prem, RTX PCs and DGX Spark. NemoClaw p...
(QB_NEW_EN_HYPHEN)
🤖 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 @.agents/skills/nemoclaw-user-overview/references/overview.md around lines 5
- 10, Replace the unhyphenated phrase "on prem" with the standard hyphenated
form "on-prem" in the overview text; locate the string "on prem" in the NemoClaw
description (the sentence containing "This enables self-evolving claws to run
more safely in clouds, on prem, RTX PCs and DGX Spark.") and update it to
"on-prem" to ensure consistent user-facing terminology.
| The blueprint is a versioned YAML package with its own release stream. | ||
| The runner resolves, verifies, and applies the blueprint through the OpenShell CLI. | ||
| The blueprint defines the sandbox shape, default policies, and inference profiles; the runner performs the OpenShell operations. | ||
|
|
There was a problem hiding this comment.
Align blueprint ownership wording with the lifecycle steps below.
These lines assign resolve/verify/apply to the runner, but the later lifecycle bullets still say the plugin resolves/verifies. Please make both sections consistent to avoid conflicting operator guidance.
🤖 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 @.agents/skills/nemoclaw-user-reference/references/architecture.md around
lines 171 - 174, The two descriptions conflict: the paragraph "The runner
resolves, verifies, and applies the blueprint through the OpenShell CLI"
disagrees with the later lifecycle bullets that say the plugin
resolves/verifies; update the text so ownership is consistent across both
sections — either state that the plugin resolves and verifies the blueprint and
the runner applies it via the OpenShell CLI, or state that the runner handles
all three steps; modify the sentence mentioning "runner", "OpenShell CLI", and
the lifecycle bullets to use the chosen ownership wording so both sections match
exactly.
ericksoa
left a comment
There was a problem hiding this comment.
Reviewed docs-only v0.0.40 release prep. Runtime regression risk is low; remaining risk is documentation correctness/follow-up polish.
Summary
nemoclaw-user-*skills from the source docs.Source summary
docs/about/release-notes.md,docs/reference/commands.md,docs/manage-sandboxes/lifecycle.md: Reflect macOS Docker-driver OpenShell gateway onboarding and upgrade behavior.docs/about/release-notes.md: Capture the Docker-driver gateway TCP readiness fix and clearer startup failures.docs/about/release-notes.md,docs/inference/use-local-inference.md: Reflect the Ollama auth proxy token requirement on native API routes.docs/about/release-notes.md,docs/get-started/prerequisites.md,docs/inference/use-local-inference.md: Document the Linux Ollamazstdpreflight and sudo messaging.docs/about/release-notes.md,docs/inference/inference-options.md,docs/inference/use-local-inference.md: Reflect detected running vLLM provider selection.docs/about/release-notes.md,docs/reference/commands.md,docs/reference/network-policies.md,docs/get-started/quickstart.md: Document agent-aware policy preset filtering.docs/about/release-notes.md: Capture the dashboard forward TCP reachability check.docs/about/release-notes.md,docs/reference/troubleshooting.md: Document emptyopenclaw.jsonbaseline recovery.docs/about/release-notes.md: Capture OpenClaw plugin compatibility metadata.Test plan
python3 scripts/docs-to-skills.py docs/ .agents/skills/ --prefix nemoclaw-usermake docsgit diff --checkdocs/.docs-skiptermsSummary by CodeRabbit
Release Notes v0.0.40
New Features
Documentation