Skip to content

docs: fill manage sandbox command gaps (Fixes #3680)#4338

Closed
deepujain wants to merge 1 commit into
NVIDIA:mainfrom
deepujain:docs/3680-manage-sandbox-command-gaps
Closed

docs: fill manage sandbox command gaps (Fixes #3680)#4338
deepujain wants to merge 1 commit into
NVIDIA:mainfrom
deepujain:docs/3680-manage-sandbox-command-gaps

Conversation

@deepujain
Copy link
Copy Markdown
Contributor

@deepujain deepujain commented May 27, 2026

Summary

Fills the manage-sandboxes docs gaps called out in #3680 by surfacing existing day-two commands and flags on the pages where users look for operational guidance.

Fixes #3680.

Changes

  • Documented per-sandbox doctor, log history flags, gateway token retrieval, debug redaction behavior, inference get, and gc in the lifecycle guide.
  • Added a recover-vs-rebuild decision rule.
  • Documented hosts-add, hosts-list, and hosts-remove in runtime controls.
  • Documented share mount, share status, and share unmount in workspace files.
  • Regenerated the manage-sandboxes user skill artifacts.
  • Added a static docs coverage test for the newly documented commands.

Testing

  • python3 scripts/docs-to-skills.py docs/ .agents/skills/ --prefix nemoclaw-user --doc-platform fern-mdx
  • npm run build:cli
  • npm run typecheck:cli
  • npm run docs
  • npx vitest run test/manage-sandboxes-doc-command-coverage.test.ts

Evidence it works

  • Fern docs validation completed with 0 errors.
  • The generated nemoclaw-user-manage-sandboxes skill now includes the new command guidance.
  • The docs coverage test checks the specific command examples from the lifecycle, runtime-controls, and workspace-files pages.

Summary by CodeRabbit

  • Documentation

    • Added per-sandbox diagnostics ("doctor") with JSON output and readiness checks; expanded logs with --tail/--since and gateway-token retrieval (quiet shell-friendly). Documented auto-redaction of known secrets and garbage-collection options (dry-run/yes/force) and uninstall preservation/non-interactive overrides. Clarified recover vs rebuild, added inference read-only workflow, model-router configuration guidance, runtime /etc/hosts overrides, SSHFS-based workspace mounting, shields content-seal semantics, Telegram inbound/allowlist notes, quickstart defaults, and status/channels JSON modes.
  • Tests

    • Added documentation coverage validation tests.

Review Change Stack

@copy-pr-bot
Copy link
Copy Markdown

copy-pr-bot Bot commented May 27, 2026

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.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 27, 2026

📝 Walkthrough

Walkthrough

Documentation-only PR expanding NemoClaw sandbox management docs with missing CLI commands/flags (doctor, gateway-token, gc, inference get, hosts-*, share mount, logs tails/since), inference router config, shields content-seal text, overview wording, troubleshooting updates, and a Vitest that validates presence of commands in MDX files.

Changes

Sandbox Management CLI Documentation Expansion

Layer / File(s) Summary
Doctor, gateway-token, logs, diagnostics
.agents/skills/nemoclaw-user-manage-sandboxes/SKILL.md, docs/manage-sandboxes/lifecycle.mdx
Adds per-sandbox doctor (--json), documents gateway-token (--quiet), expands logs with --tail/--since, and notes debug tarballs auto-redact known secrets.
Recover vs rebuild and inference get/set
.agents/skills/nemoclaw-user-manage-sandboxes/SKILL.md, docs/manage-sandboxes/lifecycle.mdx
Adds guidance distinguishing recover from rebuild and documents nemoclaw inference get (with --json) as the read-only companion to inference set.
Garbage collection and uninstall preservation
.agents/skills/nemoclaw-user-manage-sandboxes/SKILL.md, docs/manage-sandboxes/lifecycle.mdx
Documents nemoclaw gc (--dry-run, --yes, --force) and documents nemoclaw uninstall default preservation and non-interactive override behavior.
DNS override with host aliases
.agents/skills/nemoclaw-user-manage-sandboxes/references/runtime-controls.md, docs/manage-sandboxes/runtime-controls.mdx
Adds /etc/hosts runtime mutability row and an "Override DNS Inside the Sandbox" section covering hosts-add, hosts-list, hosts-remove and --dry-run.
File mounting and workspace access
.agents/skills/nemoclaw-user-manage-sandboxes/references/workspace-files.md, docs/manage-sandboxes/workspace-files.mdx
Documents SSHFS-based share mount/share status/share unmount workflow, defaults, lifecycle, and sshfs prerequisite.
Model router configuration & request flow
.agents/skills/nemoclaw-user-configure-inference/references/inference-options.md
Adds router pool-config YAML example, tolerance behavior table, host-run router note, request-flow diagram, and credentials flow via OpenShell providers.
Commands reference updates
.agents/skills/nemoclaw-user-reference/references/commands.md
Clarifies onboard gateway removal step, GPU detection/prereqs, status --json structure/exit rules, adds channels status diagnostics, and states rebuild preserves recorded GPU mode.
Messaging & troubleshooting
.agents/skills/nemoclaw-user-manage-sandboxes/references/messaging-channels.md, .agents/skills/nemoclaw-user-reference/references/troubleshooting.md
Expands Telegram allowlist/alias docs, adds verification E2E guidance, and revises DGX Spark remediation to remove gateway registration, kill leftover gateway process, and resume onboarding.
Overview & quickstart wording
.agents/skills/nemoclaw-user-overview/*, .agents/skills/nemoclaw-user-get-started/SKILL.md
Rephrases overview/skill pages to present NemoClaw as reference stack for supported agents inside OpenShell, updates quickstart default sandbox name for DGX Spark.
Security: shields content seal
.agents/skills/nemoclaw-user-configure-security/references/best-practices.md
Documents content-seal capture/verification, legacy baseline handling, shields status legacy output/exit code 2, and NEMOCLAW_SHIELDS_ACCEPT_LEGACY_BASELINE opt-in.
Documentation coverage tests
test/manage-sandboxes-doc-command-coverage.test.ts
Adds Vitest suite asserting lifecycle/runtime-controls/workspace-files MDX pages contain expected nemoclaw command strings.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

Suggested reviewers

  • miyoungc
  • ericksoa
  • jyaunches

A rabbit hops through docs so neat,
Adding commands—no more feat!
From doctor checks to share mount calls,
Each command now graces the halls,
The sandbox guide stands bright and fleet. 🐰✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title 'docs: fill manage sandbox command gaps (Fixes #3680)' clearly and concisely summarizes the main change: filling documentation gaps for manage-sandbox commands as specified in issue #3680.
Linked Issues check ✅ Passed The PR comprehensively addresses all 9 objectives from issue #3680: adds doctor, gateway-token, gc, inference get commands; expands logs flags; documents debug secret-redaction; adds recover vs rebuild guidance; documents hosts-* commands; and adds share mount documentation.
Out of Scope Changes check ✅ Passed All changes are directly aligned with issue #3680 objectives. Updates to get-started, overview, configure-inference, configure-security, reference, and troubleshooting docs are complementary refinements or skill regeneration from the primary docs changes.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

ESLint skipped: no ESLint configuration detected in root package.json. To enable, add eslint to devDependencies.


Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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-manage-sandboxes/references/runtime-controls.md (1)

1-1: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Verify that this file was regenerated, not directly edited.

According to coding guidelines, user skills under .agents/skills/nemoclaw-user-*/*.md are autogenerated and must never be edited directly. The PR objectives state that you "Regenerated the manage-sandboxes user-skill artifacts," but the diff shows changes to this file.

If this file is truly autogenerated from the docs source, the workflow is correct. If any part of this file was manually edited, that violates the guideline. Please confirm that the changes in this file are the result of running the docs-to-skills generation script, not manual edits.

As per coding guidelines: "User skills under .agents/skills/nemoclaw-user-*/*.md are autogenerated and must never be edited directly."

🤖 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-manage-sandboxes/references/runtime-controls.md
at line 1, The runtime-controls.md file under the nemoclaw-user-manage-sandboxes
skill appears modified but must be autogenerated; if you manually edited
runtime-controls.md, revert those manual edits and re-run the docs-to-skills
generation script to regenerate the file (ensure you run the same generator used
for other user-skill artifacts and commit the generated output); confirm the
regenerated runtime-controls.md in the nemoclaw-user-manage-sandboxes skill
matches the source docs and update the PR description to state the file was
regenerated (not edited by hand).
🧹 Nitpick comments (2)
docs/manage-sandboxes/lifecycle.mdx (1)

107-107: ⚡ Quick win

Rewrite in active voice.

The sentence uses passive constructions ("are auto-redacted" and "are written") which obscure the agent performing the action.

Suggested active voice revision
-Known secrets are auto-redacted before files are written, but review the tarball before sharing it outside your trusted support path.
+The debug command auto-redacts known secrets before writing files, but review the tarball before sharing it outside your trusted support path.

As per coding guidelines, active voice is required in documentation.

🤖 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/manage-sandboxes/lifecycle.mdx` at line 107, Rewrite the passive
sentence so it uses an explicit agent; replace "Known secrets are auto-redacted
before files are written, but review the tarball before sharing it outside your
trusted support path." with an active-voice sentence that names the actor (e.g.,
"We auto-redact known secrets before writing files, but review the tarball
before sharing it outside your trusted support path." or "The system
auto-redacts known secrets before writing files; review the tarball before
sharing it outside your trusted support path.").
.agents/skills/nemoclaw-user-manage-sandboxes/SKILL.md (1)

104-104: ⚡ Quick win

Rewrite in active voice.

The sentence uses passive constructions ("are auto-redacted" and "are written") which obscure the agent performing the action.

Suggested active voice revision
-Known secrets are auto-redacted before files are written, but review the tarball before sharing it outside your trusted support path.
+The debug command auto-redacts known secrets before writing files, but review the tarball before sharing it outside your trusted support path.

As per coding guidelines, active voice is required in documentation.

🤖 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-manage-sandboxes/SKILL.md at line 104, Rewrite
the passive sentence "Known secrets are auto-redacted before files are written,
but review the tarball before sharing it outside your trusted support path."
into active voice; for example, have the system or author perform the action
(e.g., "The system auto-redacts known secrets before writing files; review the
tarball before sharing it outside your trusted support path.")—update the
SKILL.md sentence accordingly to use an explicit actor ("the system", "we", or
"you") and keep the original warning about reviewing the tarball.
🤖 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
@.agents/skills/nemoclaw-user-manage-sandboxes/references/runtime-controls.md:
- Line 1: The runtime-controls.md file under the nemoclaw-user-manage-sandboxes
skill appears modified but must be autogenerated; if you manually edited
runtime-controls.md, revert those manual edits and re-run the docs-to-skills
generation script to regenerate the file (ensure you run the same generator used
for other user-skill artifacts and commit the generated output); confirm the
regenerated runtime-controls.md in the nemoclaw-user-manage-sandboxes skill
matches the source docs and update the PR description to state the file was
regenerated (not edited by hand).

---

Nitpick comments:
In @.agents/skills/nemoclaw-user-manage-sandboxes/SKILL.md:
- Line 104: Rewrite the passive sentence "Known secrets are auto-redacted before
files are written, but review the tarball before sharing it outside your trusted
support path." into active voice; for example, have the system or author perform
the action (e.g., "The system auto-redacts known secrets before writing files;
review the tarball before sharing it outside your trusted support path.")—update
the SKILL.md sentence accordingly to use an explicit actor ("the system", "we",
or "you") and keep the original warning about reviewing the tarball.

In `@docs/manage-sandboxes/lifecycle.mdx`:
- Line 107: Rewrite the passive sentence so it uses an explicit agent; replace
"Known secrets are auto-redacted before files are written, but review the
tarball before sharing it outside your trusted support path." with an
active-voice sentence that names the actor (e.g., "We auto-redact known secrets
before writing files, but review the tarball before sharing it outside your
trusted support path." or "The system auto-redacts known secrets before writing
files; review the tarball before sharing it outside your trusted support
path.").

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: d5ad51a8-97bf-4bda-bca7-509dde2f5a13

📥 Commits

Reviewing files that changed from the base of the PR and between e139dbc and 76efd88.

📒 Files selected for processing (7)
  • .agents/skills/nemoclaw-user-manage-sandboxes/SKILL.md
  • .agents/skills/nemoclaw-user-manage-sandboxes/references/runtime-controls.md
  • .agents/skills/nemoclaw-user-manage-sandboxes/references/workspace-files.md
  • docs/manage-sandboxes/lifecycle.mdx
  • docs/manage-sandboxes/runtime-controls.mdx
  • docs/manage-sandboxes/workspace-files.mdx
  • test/manage-sandboxes-doc-command-coverage.test.ts

@wscurran wscurran added documentation Improvements or additions to documentation fix labels May 27, 2026
@wscurran
Copy link
Copy Markdown
Contributor

✨ Thanks for submitting this detailed PR that fills the manage sandbox command gaps by surfacing existing day-two commands and flags on the pages where users look for operational guidance. This proposes a fix for the documentation issue reported in #3680 and updates the manage-sandboxes docs to include a recover-vs-rebuild decision rule and several other operational commands.


Related open issues:

@wscurran wscurran requested a review from miyoungc May 27, 2026 22:48
Fixes NVIDIA#3680

Signed-off-by: Deepak Jain <deepujain@gmail.com>
@deepujain deepujain force-pushed the docs/3680-manage-sandbox-command-gaps branch from 76efd88 to befc653 Compare May 30, 2026 02:01
@deepujain
Copy link
Copy Markdown
Contributor Author

Rebased on current main, regenerated the manage-sandboxes user skill from docs, and tightened the debug redaction wording. Focused docs coverage test passes.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

🤖 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-configure-inference/references/inference-options.md:
- Around line 91-96: The example model router entries for models named "nano"
and "super" have an incorrect api_base ("https://inference-api.nvidia.com");
update their api_base values to match the documented NVIDIA-hosted endpoint
"https://integrate.api.nvidia.com/v1" so copied router configs use the correct
NVIDIA inference URL; locate the entries by the litellm_model names
"openai/nvidia/nvidia/nemotron-3-nano-v3" and
"openai/nvidia/nvidia/nemotron-3-super-v3" and replace the api_base fields
accordingly.

In
@.agents/skills/nemoclaw-user-manage-sandboxes/references/messaging-channels.md:
- Around line 164-165: Update the e2e example invocation in
messaging-channels.md to place TELEGRAM_ALLOWED_IDS first and list
TELEGRAM_AUTHORIZED_CHAT_IDS and TELEGRAM_CHAT_ID as legacy fallbacks;
specifically, modify the example that references
test/e2e/test-messaging-providers.sh and NEMOCLAW_TELEGRAM_INBOUND_REPLY_E2E so
it shows TELEGRAM_ALLOWED_IDS first, then mentions the legacy aliases
(TELEGRAM_AUTHORIZED_CHAT_IDS, TELEGRAM_CHAT_ID) as fallback options for
compatibility.

In @.agents/skills/nemoclaw-user-overview/references/overview.md:
- Line 8: Update the user-facing sentence that currently reads "This enables
self-evolving agents to run more safely in clouds, on prem, RTX PCs, and DGX
Spark." to hyphenate the compound adjective by replacing "on prem" with
"on-prem"; edit the text in the overview.md content containing that exact
sentence so it reads "...in clouds, on-prem, RTX PCs, and DGX Spark."

In @.agents/skills/nemoclaw-user-reference/references/commands.md:
- Around line 1226-1235: The text describing which entries uninstall preserves
under `~/.nemoclaw/` is unclear about the default uninstall behavior; update the
`uninstall` documentation to explicitly state that the default uninstall does
not delete the preserved entries (`rebuild-backups/`, `backups/`,
`sandboxes.json`) and that only "local state" (gateway source, runtime state,
Ollama auth proxy PID file, etc.) is removed by default—add one clear sentence
after the table (referencing `~/.nemoclaw/`, `rebuild-backups/`, `backups/`, and
`sandboxes.json`) that says default uninstall does not perform a full
`~/.nemoclaw` deletion so operators aren’t misled in scripted cleanup scenarios.
🪄 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: eb1cce0f-a0cd-43bb-a314-613c84cf4e9b

📥 Commits

Reviewing files that changed from the base of the PR and between 76efd88 and befc653.

📒 Files selected for processing (16)
  • .agents/skills/nemoclaw-user-configure-inference/references/inference-options.md
  • .agents/skills/nemoclaw-user-configure-security/references/best-practices.md
  • .agents/skills/nemoclaw-user-get-started/SKILL.md
  • .agents/skills/nemoclaw-user-get-started/references/quickstart-hermes.md
  • .agents/skills/nemoclaw-user-manage-sandboxes/SKILL.md
  • .agents/skills/nemoclaw-user-manage-sandboxes/references/messaging-channels.md
  • .agents/skills/nemoclaw-user-manage-sandboxes/references/runtime-controls.md
  • .agents/skills/nemoclaw-user-manage-sandboxes/references/workspace-files.md
  • .agents/skills/nemoclaw-user-overview/SKILL.md
  • .agents/skills/nemoclaw-user-overview/references/how-it-works.md
  • .agents/skills/nemoclaw-user-overview/references/overview.md
  • .agents/skills/nemoclaw-user-reference/references/commands.md
  • .agents/skills/nemoclaw-user-reference/references/troubleshooting.md
  • docs/manage-sandboxes/lifecycle.mdx
  • docs/manage-sandboxes/runtime-controls.mdx
  • docs/manage-sandboxes/workspace-files.mdx
✅ Files skipped from review due to trivial changes (9)
  • .agents/skills/nemoclaw-user-get-started/references/quickstart-hermes.md
  • .agents/skills/nemoclaw-user-get-started/SKILL.md
  • .agents/skills/nemoclaw-user-reference/references/troubleshooting.md
  • docs/manage-sandboxes/workspace-files.mdx
  • .agents/skills/nemoclaw-user-manage-sandboxes/references/runtime-controls.md
  • .agents/skills/nemoclaw-user-overview/SKILL.md
  • docs/manage-sandboxes/lifecycle.mdx
  • .agents/skills/nemoclaw-user-manage-sandboxes/SKILL.md
  • docs/manage-sandboxes/runtime-controls.mdx
🚧 Files skipped from review as they are similar to previous changes (1)
  • .agents/skills/nemoclaw-user-manage-sandboxes/references/workspace-files.md

Comment on lines +91 to +96
api_base: "https://inference-api.nvidia.com"

- name: super
litellm_model: "openai/nvidia/nvidia/nemotron-3-super-v3"
cost_per_m_input_tokens: 0.10
api_base: "https://inference-api.nvidia.com"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🌐 Web query:

For NVIDIA-hosted NemoClaw/OpenAI-compatible inference, what is the correct base URL to configure in router/provider examples: https://integrate.api.nvidia.com/v1 or https://inference-api.nvidia.com ?

💡 Result:

Correct base URL for NVIDIA-hosted NemoClaw/OpenAI-compatible inference: https://integrate.api.nvidia.com/v1. NVIDIA’s NemoClaw inference documentation states that for hosted models on integrate.api.nvidia.com, NemoClaw sets the base URL to https://integrate.api.nvidia.com/v1 (and the APIs are OpenAI-compatible under the /v1/chat/completions route). [1][2] The alternative base URL you mentioned (https://inference-api.nvidia.com) is not what NemoClaw’s official docs specify for hosted NVIDIA inference. [1][2]

Citations:


🏁 Script executed:

#!/bin/bash
set -euo pipefail

FILE=".agents/skills/nemoclaw-user-configure-inference/references/inference-options.md"

# Show the NVIDIA endpoint documentation section (around the cited Line 62)
echo "---- around line 55-70 ----"
nl -ba "$FILE" | sed -n '55,75p'

echo "---- around line 85-105 ----"
nl -ba "$FILE" | sed -n '85,105p'

Repository: NVIDIA/NemoClaw

Length of output: 148


🏁 Script executed:

#!/bin/bash
set -euo pipefail

FILE=".agents/skills/nemoclaw-user-configure-inference/references/inference-options.md"

echo "---- around line 55-75 ----"
cat -n "$FILE" | sed -n '55,75p'

echo "---- around line 85-105 ----"
cat -n "$FILE" | sed -n '85,105p'

Repository: NVIDIA/NemoClaw

Length of output: 3001


Fix api_base mismatch in Model Router example (NVIDIA-hosted endpoints)

The doc states NVIDIA-hosted endpoints use https://integrate.api.nvidia.com/v1 (Line 62), but the router example uses https://inference-api.nvidia.com for both nano and super (Lines 91-96), which will break copy/paste setup.

Proposed doc fix
 models:
   - name: nano
     litellm_model: "openai/nvidia/nvidia/Nemotron-3-Nano-30B-A3B"
     cost_per_m_input_tokens: 0.05
-    api_base: "https://inference-api.nvidia.com"
+    api_base: "https://integrate.api.nvidia.com/v1"

   - name: super
     litellm_model: "openai/nvidia/nvidia/nemotron-3-super-v3"
     cost_per_m_input_tokens: 0.10
-    api_base: "https://inference-api.nvidia.com"
+    api_base: "https://integrate.api.nvidia.com/v1"
🤖 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/references/inference-options.md
around lines 91 - 96, The example model router entries for models named "nano"
and "super" have an incorrect api_base ("https://inference-api.nvidia.com");
update their api_base values to match the documented NVIDIA-hosted endpoint
"https://integrate.api.nvidia.com/v1" so copied router configs use the correct
NVIDIA inference URL; locate the entries by the litellm_model names
"openai/nvidia/nvidia/nemotron-3-nano-v3" and
"openai/nvidia/nvidia/nemotron-3-super-v3" and replace the api_base fields
accordingly.

Comment on lines +164 to 165
For a repeatable live Telegram reply check, run `test/e2e/test-messaging-providers.sh` with `TELEGRAM_BOT_TOKEN_REAL`, `TELEGRAM_AUTHORIZED_CHAT_IDS` or `TELEGRAM_CHAT_ID`, and `NEMOCLAW_TELEGRAM_INBOUND_REPLY_E2E=1`.
If you defer the rebuild, apply the change later:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Prefer TELEGRAM_ALLOWED_IDS first in the e2e verification example.

This example currently spotlights legacy variables, which conflicts with the “new automation should use TELEGRAM_ALLOWED_IDS” guidance above. Put TELEGRAM_ALLOWED_IDS first and mention legacy aliases as fallback to keep migration messaging consistent.

Suggested doc tweak
-For a repeatable live Telegram reply check, run `test/e2e/test-messaging-providers.sh` with `TELEGRAM_BOT_TOKEN_REAL`, `TELEGRAM_AUTHORIZED_CHAT_IDS` or `TELEGRAM_CHAT_ID`, and `NEMOCLAW_TELEGRAM_INBOUND_REPLY_E2E=1`.
+For a repeatable live Telegram reply check, run `test/e2e/test-messaging-providers.sh` with `TELEGRAM_BOT_TOKEN_REAL`, `TELEGRAM_ALLOWED_IDS` (preferred; legacy aliases: `TELEGRAM_AUTHORIZED_CHAT_IDS` or `TELEGRAM_CHAT_ID`), and `NEMOCLAW_TELEGRAM_INBOUND_REPLY_E2E=1`.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
For a repeatable live Telegram reply check, run `test/e2e/test-messaging-providers.sh` with `TELEGRAM_BOT_TOKEN_REAL`, `TELEGRAM_AUTHORIZED_CHAT_IDS` or `TELEGRAM_CHAT_ID`, and `NEMOCLAW_TELEGRAM_INBOUND_REPLY_E2E=1`.
If you defer the rebuild, apply the change later:
For a repeatable live Telegram reply check, run `test/e2e/test-messaging-providers.sh` with `TELEGRAM_BOT_TOKEN_REAL`, `TELEGRAM_ALLOWED_IDS` (preferred; legacy aliases: `TELEGRAM_AUTHORIZED_CHAT_IDS` or `TELEGRAM_CHAT_ID`), and `NEMOCLAW_TELEGRAM_INBOUND_REPLY_E2E=1`.
If you defer the rebuild, apply the change later:
🤖 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-manage-sandboxes/references/messaging-channels.md
around lines 164 - 165, Update the e2e example invocation in
messaging-channels.md to place TELEGRAM_ALLOWED_IDS first and list
TELEGRAM_AUTHORIZED_CHAT_IDS and TELEGRAM_CHAT_ID as legacy fallbacks;
specifically, modify the example that references
test/e2e/test-messaging-providers.sh and NEMOCLAW_TELEGRAM_INBOUND_REPLY_E2E so
it shows TELEGRAM_ALLOWED_IDS first, then mentions the legacy aliases
(TELEGRAM_AUTHORIZED_CHAT_IDS, TELEGRAM_CHAT_ID) as fallback options for
compatibility.

NVIDIA NemoClaw is an open-source reference stack for running always-on AI agents more safely inside OpenShell containers.
NemoClaw provides onboarding, lifecycle management, and agent operations for supported runtimes in OpenShell sandboxes.
It incorporates policy-based privacy and security guardrails, giving you control over your agents' behavior and data handling.
This enables self-evolving agents to run more safely in clouds, on prem, RTX PCs, and DGX Spark.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Hyphenate “on-prem” in user-facing text.

Line 8 should use the standard compound adjective form: “on-prem”.

Proposed fix
-This enables self-evolving agents to run more safely in clouds, on prem, RTX PCs, and DGX Spark.
+This enables self-evolving agents to run more safely in clouds, on-prem, RTX PCs, and DGX Spark.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
This enables self-evolving agents to run more safely in clouds, on prem, RTX PCs, and DGX Spark.
This enables self-evolving agents to run more safely in clouds, on-prem, RTX PCs, and DGX Spark.
🧰 Tools
🪛 LanguageTool

[grammar] ~8-~8: Use a hyphen to join words.
Context: ... agents to run more safely in clouds, on prem, RTX PCs, and DGX Spark. NemoClaw ...

(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 at line 8,
Update the user-facing sentence that currently reads "This enables self-evolving
agents to run more safely in clouds, on prem, RTX PCs, and DGX Spark." to
hyphenate the compound adjective by replacing "on prem" with "on-prem"; edit the
text in the overview.md content containing that exact sentence so it reads
"...in clouds, on-prem, RTX PCs, and DGX Spark."

Comment on lines +1226 to +1235
To avoid uninstall destroying host-side user data, uninstall preserves the following entries under `~/.nemoclaw/` by default:

| Entry | What it holds |
|---|---|
| `rebuild-backups/` | Host-side snapshots that `nemoclaw <name> snapshot create` and `nemoclaw backup-all` write. `nemoclaw <name> snapshot restore` reads them back after you reinstall. |
| `backups/` | Host-side workspace backups that `scripts/backup-workspace.sh` writes (see Backup and Restore (use the `nemoclaw-user-manage-sandboxes` skill)). |
| `sandboxes.json` | Host-side sandbox registry. NemoClaw uses it to map sandbox names back to their persistence directories when you reinstall. |

Uninstall removes every other entry under `~/.nemoclaw/` (gateway source, runtime state, the Ollama auth proxy PID file, etc.).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Clarify that uninstall’s default “local state” removal excludes preserved entries.

This new section is good, but it would help to explicitly restate here that default uninstall is not full ~/.nemoclaw deletion, to avoid operator confusion in scripted cleanup expectations.

🤖 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/commands.md around lines
1226 - 1235, The text describing which entries uninstall preserves under
`~/.nemoclaw/` is unclear about the default uninstall behavior; update the
`uninstall` documentation to explicitly state that the default uninstall does
not delete the preserved entries (`rebuild-backups/`, `backups/`,
`sandboxes.json`) and that only "local state" (gateway source, runtime state,
Ollama auth proxy PID file, etc.) is removed by default—add one clear sentence
after the table (referencing `~/.nemoclaw/`, `rebuild-backups/`, `backups/`, and
`sandboxes.json`) that says default uninstall does not perform a full
`~/.nemoclaw` deletion so operators aren’t misled in scripted cleanup scenarios.

@miyoungc
Copy link
Copy Markdown
Collaborator

miyoungc commented Jun 2, 2026

Thanks for the contribution. I am closing this PR because the corresponding issue #3680 is already resolved, so we no longer need this separate change.

We appreciate you taking the time to improve the docs. If you still see a remaining gap on the current docs, please feel free to open a fresh issue or PR with the updated context.

@miyoungc miyoungc closed this Jun 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[All Platforms][Docs] Manage Sandboxes pages missing 6 CLI commands and several flag/behavior gaps across lifecycle/runtime-controls/workspace-files

3 participants