Skip to content

docs: refresh v0.0.61 release docs#4992

Merged
miyoungc merged 1 commit into
mainfrom
docs/v0.0.61-release-docs
Jun 8, 2026
Merged

docs: refresh v0.0.61 release docs#4992
miyoungc merged 1 commit into
mainfrom
docs/v0.0.61-release-docs

Conversation

@miyoungc

@miyoungc miyoungc commented Jun 8, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Add the v0.0.61 release notes from the GitHub dev announcement.
  • Document managed vLLM recovery after host reboot and Slack denied-mention feedback.
  • Refresh generated nemoclaw-user-* skills from the source docs.

Source summary

Verification

  • python3 scripts/docs-to-skills.py docs/ .agents/skills/ --prefix nemoclaw-user --doc-platform fern-mdx
  • npm run docs (passed outside the tool sandbox after tsx IPC pipe creation was blocked in the sandbox)
  • npm run build:cli (refreshed local dist/ for the pre-push TypeScript hook)
  • Commit and pre-push hooks passed, including docs-to-skills verification, markdownlint, gitleaks, skills YAML tests, and CLI TypeScript.

Summary by CodeRabbit

  • Documentation
    • Updated sandbox security documentation with file descriptor limits.
    • Changed default inference model for DGX Station profile.
    • Enhanced agent policy and backup/restore documentation.
    • Improved command reference examples with clearer formatting.
    • Clarified Slack messaging denial notice behavior.
    • Added automatic vLLM container recovery during host reboot.
    • Updated release notes for v0.0.61.

@miyoungc miyoungc added area: docs Documentation, examples, guides, or docs build area: skills Skills, agent behaviors, prompts, or skill packaging v0.0.61 Release target labels Jun 8, 2026
@coderabbitai

coderabbitai Bot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

This PR updates NemoClaw documentation to describe v0.0.61 features and improvements, including managed vLLM recovery behavior, open file descriptor security limits, new policy-explain command documentation, enhanced backup/restore guidance, and standardized troubleshooting and command reference examples across multiple skill guides and central documentation.

Changes

NemoClaw v0.0.61 Documentation Updates

Layer / File(s) Summary
vLLM Recovery and Model Configuration
.agents/skills/nemoclaw-user-configure-inference/SKILL.md, references/inference-options.md, docs/inference/use-local-inference.mdx
Managed vLLM recovery: documents automatic container restart after host reboot when nemoclaw-vllm is stopped. DGX Station default model updated to Qwen/Qwen3.6-27B-FP8 with corresponding slug mapping reassignment.
File Descriptor Limits Security Control
.agents/skills/nemoclaw-user-configure-security/references/best-practices.md, nemoclaw-user-deploy-remote/references/sandbox-hardening.md
New security documentation for open file descriptor limits: default ulimit -n 65536 behavior, runtime override via --ulimit nofile, Docker Compose ulimits configuration, and enforcement guidance for external shells.
Policy Explanation and Agent Classification
.agents/skills/nemoclaw-user-manage-policy/SKILL.md, nemoclaw-user-reference/references/commands.md
Documents nemoclaw <name> policy-explain command with --json and --write modes, redaction rules for host categories, preset verification statuses, and agent's ordered host-failure classification logic with confidence levels and remediation steps.
Backup and Restore Enhancements
.agents/skills/nemoclaw-user-manage-sandboxes/references/backup-restore.md
Introduces nemoclaw backup-all command documentation, clarifies that scripts/backup-workspace.sh is source-repo-only (not installed), updates backup verification examples, and refines multi-agent restore guidance.
Messaging Channels Behavior
.agents/skills/nemoclaw-user-manage-sandboxes/references/messaging-channels.md, docs/manage-sandboxes/messaging-channels.mdx
Clarifies Slack @mention denial behavior: NemoClaw sends a denial notice to the sender instead of silently dropping denied mentions.
Inference and Command Reference
.agents/skills/nemoclaw-user-configure-inference/references/switch-inference-providers.md, nemoclaw-user-reference/references/commands.md
Standardizes nemoclaw inference get / --json command examples with explicit expected output blocks. Extends command reference for status, share, tunnel, policy-explain commands and documents NEMOCLAW_EXTRA_PLACEHOLDER_KEYS (Hermes) with validation and placeholder registration behavior.
Documentation Formatting
.agents/skills/nemoclaw-user-get-started/references/quickstart-hermes.md, nemoclaw-user-monitor-sandbox/SKILL.md
Replaces inline console-style command snippets with structured bash code fences and explicit expected output sections for improved readability and consistency.
Troubleshooting Enhancements
.agents/skills/nemoclaw-user-reference/references/troubleshooting.md
Expands proxy configuration clarity, restructures HTTP reachability and host.docker.internal validation examples with distinct code fences, standardizes Hermes authentication and health-check procedures, and provides consistent formatting for conversion, verification, and non-interactive re-onboarding workflows.
Release Notes for v0.0.61
.agents/skills/nemoclaw-user-overview/references/release-notes.md, docs/about/release-notes.mdx
Adds v0.0.61 release notes highlighting sandbox network visibility, recovery behavior, Hermes isolation improvements, local inference restart, messaging setup, and validation enhancements.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • NVIDIA/NemoClaw#4717: Updates managed vLLM documentation with onboarding/progress handling logic changes alongside this PR's recovery behavior additions.
  • NVIDIA/NemoClaw#4169: Overlaps with Hermes troubleshooting sections covering shim verification, OAuth vs API-key auth, port 8642 client authentication, and non-interactive re-onboarding messaging.

Suggested labels

documentation

Suggested reviewers

  • cv
  • prekshivyas

🐰 Hop through the docs, so clear and bright,
vLLM recovers from reboot night!
File descriptors locked with finest care,
Backup wisdom floating through the air. ✨📚

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'docs: refresh v0.0.61 release docs' directly aligns with the PR's primary objective of refreshing and updating release documentation for v0.0.61.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/v0.0.61-release-docs

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

@miyoungc miyoungc added v0.0.62 Release target and removed v0.0.61 Release target labels Jun 8, 2026
@github-actions

github-actions Bot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

@github-actions

github-actions Bot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

E2E Advisor Recommendation

Required E2E: None
Optional E2E: None

Workflow run

Full advisor summary

E2E Recommendation Advisor

Base: origin/main
Head: HEAD
Confidence: high

Required E2E

  • None. No E2E is recommended because this PR is documentation/agent-skill content only. It does not change executable source, installer/onboarding logic, sandbox lifecycle code, credential handling, network-policy assets, inference routing implementation, deployment workflows, or runtime assistant behavior. Existing E2E jobs would not provide meaningful merge-blocking signal for these Markdown/MDX edits.

Optional E2E

  • None.

New E2E recommendations

  • None.

@github-actions

github-actions Bot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

E2E Scenario Advisor Recommendation

Required scenario E2E: None
Optional scenario E2E: None

Workflow run

Full scenario advisor summary

E2E Scenario Advisor

Base: origin/main
Head: HEAD
Confidence: high

Required scenario E2E

  • None. Docs and agent-skill reference updates only; no changes under test/e2e-scenario/, scenario workflows, scenario metadata, expected-state contracts, suite definitions, runtime code, suite scripts, or onboarding/install helpers that would affect scenario E2E behavior.

Optional scenario E2E

  • None.

Relevant changed files

  • None.

@miyoungc miyoungc added the needs: review PR is conflict-free and awaiting maintainer review label Jun 8, 2026
@github-actions

github-actions Bot commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

PR Review Advisor

Findings: 0 needs attention, 0 worth checking, 0 nice ideas
Top item: No actionable findings

Workflow run details

This is an automated advisory review. A human maintainer must make the final merge decision.

@coderabbitai coderabbitai Bot left a comment

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.

Actionable comments posted: 1

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-overview/references/release-notes.md (1)

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

Missing SPDX license header.

The coding guidelines require all .md files to include an SPDX license header. Since this is an autogenerated skill file, the generator script (scripts/docs-to-skills.py) should emit the header.

📝 Expected header format
+<!-- SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. -->
+<!-- SPDX-License-Identifier: Apache-2.0 -->
+
 # Release Notes
🤖 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/release-notes.md at line 1,
Add the required SPDX license header to the autogenerated Markdown by updating
the generator so every produced .md (including
.agents/skills/nemoclaw-user-overview/references/release-notes.md) begins with
the expected SPDX header; modify the docs-to-skills generator
(scripts/docs-to-skills.py) to prepend the header string when writing files
(ensure the header format matches the project's expected SPDX text and is
inserted before the existing "# Release Notes" title).

Source: Coding guidelines

🧹 Nitpick comments (13)
.agents/skills/nemoclaw-user-reference/references/commands.md (2)

1901-1902: ⚡ Quick win

Flag passive voice construction.

Line 1901 contains passive voice: "the matching provider row is registered." As per coding guidelines, use active voice.

Suggestion: "NemoClaw registers the matching provider row with a null token"

🤖 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
1901 - 1902, The sentence uses passive voice ("the matching provider row is
registered"); change it to active voice and mention the actor — e.g., "NemoClaw
registers the matching provider row with a null token" — so update the text
around the explanation of upsertMessagingProviders and the onboarding step
(mentions of nemoClaw/onboard, upsertMessagingProviders, OpenShell gateway,
Hermes) to use that active phrasing and keep the same meaning about exporting
the credential before running `nemoclaw onboard`.

Source: Coding guidelines


1894-1894: ⚡ Quick win

Flag passive voice construction.

Line 1894 uses passive voice: "Entries are split on whitespace and commas." As per coding guidelines, use active voice in documentation.

Suggestion: "NemoClaw splits entries on whitespace and commas, and each must match ^[A-Z][A-Z0-9_]{0,127}$."

🤖 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 at line 1894,
The sentence "Entries are split on whitespace and commas and must match
`^[A-Z][A-Z0-9_]{0,127}$`" uses passive voice; rewrite it in active voice such
as "NemoClaw splits entries on whitespace and commas, and each must match
`^[A-Z][A-Z0-9_]{0,127}$`" so update the matching line in
.agents/skills/nemoclaw-user-reference/references/commands.md to the
active-voice phrasing while preserving the regex and meaning.

Source: Coding guidelines

.agents/skills/nemoclaw-user-manage-policy/SKILL.md (3)

342-342: ⚡ Quick win

Flag passive voice construction.

Line 342 contains passive voice: "are dropped from." As per coding guidelines, documentation should use active voice.

Suggestion: "NemoClaw drops host stems that resolve to RFC 1918 ranges (10/8, 172.16/12, 192.168/16), loopback (127/8, ::1), link-local (169.254/16, fe80::/10), cloud metadata (169.254.169.254), unique-local IPv6 (fc00::/7), reserved zero (0.0.0.0/8), CGNAT (100.64/10), benchmarking (198.18/15), localhost, and the internal DNS suffixes .local, .internal, .lan, .home, .home.arpa, .corp, .intra, .intranet, .localdomain from allowedHostCategories and surfaces them as a redactedHostCount."

🤖 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-policy/SKILL.md at line 342, The
sentence in SKILL.md uses passive voice ("are dropped from"); change it to
active voice so the subject NemoClaw performs the action; update the sentence to
something like: "NemoClaw drops host stems that resolve to RFC 1918 ranges
(10/8, 172.16/12, 192.168/16), loopback (127/8, ::1), link-local (169.254/16,
fe80::/10), cloud metadata (169.254.169.254), unique-local IPv6 (fc00::/7),
reserved zero (0.0.0.0/8), CGNAT (100.64/10), benchmarking (198.18/15),
localhost, and the internal DNS suffixes .local, .internal, .lan, .home,
.home.arpa, .corp, .intra, .intranet, .localdomain from allowedHostCategories
and surfaces them as a redactedHostCount"; ensure the updated sentence replaces
the passive one and keeps references to allowedHostCategories and
redactedHostCount.

Source: Coding guidelines


333-334: ⚡ Quick win

Flag passive voice construction.

Line 333 uses passive voice: "is seeded." As per coding guidelines, use active voice throughout documentation.

Suggestion: "NemoClaw seeds the rendered context inside the sandbox at /sandbox/.openclaw/workspace/POLICY.md once during onboarding and refreshes it on every policy-add or policy-remove"

🤖 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-policy/SKILL.md around lines 333 - 334,
Change the passive phrasing "is seeded" to an active construction so the
sentence reads that NemoClaw performs the action; update the line that mentions
the sandbox policy file to: "NemoClaw seeds the rendered context inside the
sandbox at /sandbox/.openclaw/workspace/POLICY.md once during onboarding and
refreshes it on every `policy-add` or `policy-remove`; pass `--write` to refresh
that file on demand without changing the policy." Use the terms NemoClaw,
`policy-add`, `policy-remove`, and `--write` to locate and replace the passive
sentence in SKILL.md.

Source: Coding guidelines


353-355: ⚡ Quick win

Flag passive voice construction.

Line 354 uses passive voice: "The rules are evaluated in order." As per coding guidelines, use active voice.

Suggestion: "The agent evaluates the rules in order so HTTP 403 has a single interpretation per call: when the host matches an applied preset the request is treated as an authentication failure, otherwise as a policy denial."

🤖 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-policy/SKILL.md around lines 353 - 355,
Replace the passive sentence "The rules are evaluated in order" with an
active-voice construction; update the sentence in SKILL.md that begins with "The
rules are evaluated in order" to the suggested active form: "The agent evaluates
the rules in order so HTTP 403 has a single interpretation per call: when the
host matches an applied preset the request is treated as an authentication
failure, otherwise as a policy denial." Ensure only the wording of that sentence
is changed and surrounding meaning/structure remains identical.

Source: Coding guidelines

docs/manage-sandboxes/messaging-channels.mdx (1)

87-87: ⚡ Quick win

Rewrite in active voice.

The phrase "is denied by these allowlists" uses passive voice. As per coding guidelines, active voice is required throughout documentation.

✍️ Suggested rewrite
-When a Slack channel `@mention` is denied by these allowlists, NemoClaw sends a denial notice back to the sender instead of dropping the message silently.
+When these allowlists deny a Slack channel `@mention`, NemoClaw sends a denial notice back to the sender instead of dropping the message silently.
🤖 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/messaging-channels.mdx` at line 87, Change the passive
sentence "When a Slack channel `@mention` is denied by these allowlists,
NemoClaw sends a denial notice back to the sender..." to active voice by making
the allowlists the subject; e.g., rewrite the clause beginning "When a Slack
channel `@mention` is denied by these allowlists" to something like "When these
allowlists deny a Slack channel `@mention`, NemoClaw sends a denial notice back
to the sender" so the allowlists perform the action and the sentence reads
actively.

Source: Coding guidelines

.agents/skills/nemoclaw-user-manage-sandboxes/references/backup-restore.md (2)

154-154: ⚡ Quick win

Use active voice instead of passive construction.

"This is the recommended" is passive. Rephrase to active voice, for example: "We recommend this host-installed command" or "Run this command before broad maintenance."

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-manage-sandboxes/references/backup-restore.md
at line 154, The sentence "This is the recommended host-installed command before
broad maintenance such as `nemoclaw update`, `nemoclaw upgrade-sandboxes`, or an
OpenShell gateway migration." uses passive voice; change it to active voice by
rephrasing to something like "Run this host-installed command before broad
maintenance such as `nemoclaw update`, `nemoclaw upgrade-sandboxes`, or an
OpenShell gateway migration." or "We recommend running this host-installed
command before broad maintenance..." and update the line in backup-restore.md
accordingly.

Source: Coding guidelines


170-170: ⚡ Quick win

Use active voice instead of passive construction.

"It is not installed by the standard... installer" is passive. Rephrase to active voice: "The standard curl -fsSL https://www.nvidia.com/nemoclaw.sh | bash installer does not install it."

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-manage-sandboxes/references/backup-restore.md
at line 170, Replace the passive sentence "It is not installed by the standard
`curl -fsSL https://www.nvidia.com/nemoclaw.sh | bash` installer, so host
installs should use `nemoclaw backup-all` or the snapshot commands above." with
an active-voice phrasing such as "The standard `curl -fsSL
https://www.nvidia.com/nemoclaw.sh | bash` installer does not install it, so
host installs should use `nemoclaw backup-all` or the snapshot commands above."
in the backup-restore.md section to satisfy the active-voice guideline.

Source: Coding guidelines

.agents/skills/nemoclaw-user-deploy-remote/references/sandbox-hardening.md (2)

27-31: ⚡ Quick win

Format with one sentence per line.

Multiple sentences appear on the same line (lines 27-31). As per coding guidelines, documentation source should use one sentence per line to make diffs readable.

Since this is an autogenerated skill file, apply the fix to the source documentation (docs/deployment/sandbox-hardening.mdx) before regenerating.

🤖 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-deploy-remote/references/sandbox-hardening.md
around lines 27 - 31, The paragraph in sandbox-hardening.md merges multiple
sentences on the same line around the ENTRYPOINT and ulimit explanation; edit
the original source docs/deployment/sandbox-hardening.mdx to break each sentence
into its own line (one sentence per line) for the passage that explains
"ENTRYPOINT sets `ulimit -n 65536`", the Docker daemon default (`nofile`
~1048576) risk, and that `nemoclaw-start.sh` applies the same limit, then
regenerate the autogenerated skill file so the change propagates to
.agents/skills/nemoclaw-user-deploy-remote/references/sandbox-hardening.md.

Source: Coding guidelines


36-40: ⚡ Quick win

Use active voice and format with one sentence per line.

This paragraph has two issues:

  1. Passive voice (lines 36, 37-38): "this is applied" and "shells are spawned" should be rewritten in active voice per coding guidelines.
  2. Multiple sentences per line violates the one-sentence-per-line formatting rule.

Since this is an autogenerated skill file, apply the fix to the source documentation (docs/deployment/sandbox-hardening.mdx) before regenerating.

Suggested active voice alternatives
  • "this is applied to the PID 1 entrypoint process tree" → "The entrypoint applies this to the PID 1 process tree"
  • "shells are spawned outside that tree" → "the runtime spawns shells outside that tree" (or specify the actual actor)
🤖 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-deploy-remote/references/sandbox-hardening.md
around lines 36 - 40, Rewrite the paragraph that begins "Like the process limit,
this is applied to the PID 1 entrypoint process tree (gateway + agent)..." in
the source documentation referenced by the autogenerated skill: convert passive
voice to active voice and put one sentence per line; specifically replace "this
is applied to the PID 1 entrypoint process tree" with "The entrypoint applies
this to the PID 1 process tree." and replace "shells are spawned outside that
tree" with "The runtime spawns openshell sandbox connect shells outside that
tree, and they inherit the runtime default (tracked upstream in
NVIDIA/OpenShell#1452)." After making those sentence-level edits in the source
docs, regenerate the autogenerated skill file so the changes propagate.

Source: Coding guidelines

.agents/skills/nemoclaw-user-configure-security/references/best-practices.md (1)

326-337: ⚡ Quick win

Format with one sentence per line.

Multiple sentences appear on the same line in both the paragraph (lines 326-330) and table cells (lines 335-337). As per coding guidelines, documentation source should use one sentence per line to make diffs readable.

Since this is an autogenerated skill file, apply the fix to the source documentation (docs/security/best-practices.mdx) before regenerating.

Example: Lines 326-330 reformatted
-An open file descriptor limit caps the number of files, sockets, and pipes the
-sandbox user can hold open at once. The entrypoint sets both soft and hard
-limits using `ulimit -n 65536`. This is best-effort: if the container runtime
-restricts `ulimit` modification, the entrypoint logs a security warning and
-continues without the limit.
+An open file descriptor limit caps the number of files, sockets, and pipes the sandbox user can hold open at once.
+The entrypoint sets both soft and hard limits using `ulimit -n 65536`.
+This is best-effort: if the container runtime restricts `ulimit` modification, the entrypoint logs a security warning and continues without the limit.
🤖 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-security/references/best-practices.md
around lines 326 - 337, The paragraph starting "An open file descriptor limit
caps the number of files, sockets, and pipes the sandbox user can hold open at
once." and the adjacent table rows (the "Default", "What you can change", "Risk
if relaxed", and "Recommendation" cells) contain multiple sentences on single
lines; edit the original source doc that generates this skill so each sentence
is its own line (split the paragraph into separate lines per sentence and break
each table cell so each sentence sits on its own line), then regenerate the
autogenerated skill so the changes propagate.

Source: Coding guidelines

.agents/skills/nemoclaw-user-overview/references/release-notes.md (1)

11-15: ⚖️ Poor tradeoff

Multiple sentences per line violate formatting guidelines.

Each bullet point joins multiple independent sentences on a single line with commas. As per coding guidelines, documentation should use one sentence per line to improve diff readability.

Since this is an autogenerated file, the source documentation in docs/about/release-notes.mdx should be corrected, or the generator script should split sentences during transformation.

🤖 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/release-notes.md around
lines 11 - 15, The release-notes.md contains multiple independent sentences per
line violating the one-sentence-per-line guideline; fix by updating the
generator or source so each sentence occupies its own line. Either: 1) Edit
docs/about/release-notes.mdx to place each sentence on its own line (so the
autogenerated .agents/skills/nemoclaw-user-overview/references/release-notes.md
will regenerate correctly), or 2) Modify the generator transformation that
produces release-notes.md to split bullet lines on sentence boundaries (e.g.,
split on period+space while preserving abbreviations) before writing output;
target the release-notes generation logic responsible for producing the listed
bullets.

Source: Coding guidelines

docs/about/release-notes.mdx (1)

20-24: ⚡ Quick win

Split sentences onto separate lines for diff readability.

Each bullet point joins multiple independent sentences on a single line. As per coding guidelines, use one sentence per line in source to make diffs readable.

For example, Line 20 contains three sentences that should each be on their own line.

📝 Example: split Line 20 into separate sentences
-- Agents and operators can inspect a redacted policy context that lists active presets, allowed host categories, approval paths, and policy drift states. Strict SSRF fetches now route through the sandbox proxy, stale `sandboxes.json` locks held by recycled PIDs are reclaimed, and dashboard tool-scope approvals can recover through doctor after sandbox startup. For more information, refer to [Customize the Network Policy](../network-policy/customize-network-policy).
+- Agents and operators can inspect a redacted policy context that lists active presets, allowed host categories, approval paths, and policy drift states.
+  Strict SSRF fetches now route through the sandbox proxy, stale `sandboxes.json` locks held by recycled PIDs are reclaimed, and dashboard tool-scope approvals can recover through doctor after sandbox startup.
+  For more information, refer to [Customize the Network Policy](../network-policy/customize-network-policy).

Apply the same pattern to Lines 21-24.

🤖 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/about/release-notes.mdx` around lines 20 - 24, The release-notes bullets
contain multiple sentences per line; split each sentence onto its own line so
diffs are readable — e.g., take the first bullet starting with "Agents and
operators can inspect a redacted policy context..." and break it into three
separate lines (one sentence per line), then do the same for the subsequent
bullets starting with "Sandbox hardening...", "Onboarding and rebuild paths...",
"Local inference and Hermes setup...", and "Messaging setup..."; ensure
punctuation is preserved and no semantic changes are made, only line breaks
between sentences.

Source: Coding guidelines

🤖 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-manage-sandboxes/references/backup-restore.md:
- Around line 156-158: Replace the copyable command block that currently uses a
console fenced block with a bash block and remove the prompt marker: change the
opening fence from ```console to ```bash and remove the leading "$ " before the
nemoclaw backup-all line so the block contains just "nemoclaw backup-all";
update the closing fence unchanged. This affects the fenced code block
containing the text "nemoclaw backup-all".

---

Outside diff comments:
In @.agents/skills/nemoclaw-user-overview/references/release-notes.md:
- Line 1: Add the required SPDX license header to the autogenerated Markdown by
updating the generator so every produced .md (including
.agents/skills/nemoclaw-user-overview/references/release-notes.md) begins with
the expected SPDX header; modify the docs-to-skills generator
(scripts/docs-to-skills.py) to prepend the header string when writing files
(ensure the header format matches the project's expected SPDX text and is
inserted before the existing "# Release Notes" title).

---

Nitpick comments:
In
@.agents/skills/nemoclaw-user-configure-security/references/best-practices.md:
- Around line 326-337: The paragraph starting "An open file descriptor limit
caps the number of files, sockets, and pipes the sandbox user can hold open at
once." and the adjacent table rows (the "Default", "What you can change", "Risk
if relaxed", and "Recommendation" cells) contain multiple sentences on single
lines; edit the original source doc that generates this skill so each sentence
is its own line (split the paragraph into separate lines per sentence and break
each table cell so each sentence sits on its own line), then regenerate the
autogenerated skill so the changes propagate.

In @.agents/skills/nemoclaw-user-deploy-remote/references/sandbox-hardening.md:
- Around line 27-31: The paragraph in sandbox-hardening.md merges multiple
sentences on the same line around the ENTRYPOINT and ulimit explanation; edit
the original source docs/deployment/sandbox-hardening.mdx to break each sentence
into its own line (one sentence per line) for the passage that explains
"ENTRYPOINT sets `ulimit -n 65536`", the Docker daemon default (`nofile`
~1048576) risk, and that `nemoclaw-start.sh` applies the same limit, then
regenerate the autogenerated skill file so the change propagates to
.agents/skills/nemoclaw-user-deploy-remote/references/sandbox-hardening.md.
- Around line 36-40: Rewrite the paragraph that begins "Like the process limit,
this is applied to the PID 1 entrypoint process tree (gateway + agent)..." in
the source documentation referenced by the autogenerated skill: convert passive
voice to active voice and put one sentence per line; specifically replace "this
is applied to the PID 1 entrypoint process tree" with "The entrypoint applies
this to the PID 1 process tree." and replace "shells are spawned outside that
tree" with "The runtime spawns openshell sandbox connect shells outside that
tree, and they inherit the runtime default (tracked upstream in
NVIDIA/OpenShell#1452)." After making those sentence-level edits in the source
docs, regenerate the autogenerated skill file so the changes propagate.

In @.agents/skills/nemoclaw-user-manage-policy/SKILL.md:
- Line 342: The sentence in SKILL.md uses passive voice ("are dropped from");
change it to active voice so the subject NemoClaw performs the action; update
the sentence to something like: "NemoClaw drops host stems that resolve to RFC
1918 ranges (10/8, 172.16/12, 192.168/16), loopback (127/8, ::1), link-local
(169.254/16, fe80::/10), cloud metadata (169.254.169.254), unique-local IPv6
(fc00::/7), reserved zero (0.0.0.0/8), CGNAT (100.64/10), benchmarking
(198.18/15), localhost, and the internal DNS suffixes .local, .internal, .lan,
.home, .home.arpa, .corp, .intra, .intranet, .localdomain from
allowedHostCategories and surfaces them as a redactedHostCount"; ensure the
updated sentence replaces the passive one and keeps references to
allowedHostCategories and redactedHostCount.
- Around line 333-334: Change the passive phrasing "is seeded" to an active
construction so the sentence reads that NemoClaw performs the action; update the
line that mentions the sandbox policy file to: "NemoClaw seeds the rendered
context inside the sandbox at /sandbox/.openclaw/workspace/POLICY.md once during
onboarding and refreshes it on every `policy-add` or `policy-remove`; pass
`--write` to refresh that file on demand without changing the policy." Use the
terms NemoClaw, `policy-add`, `policy-remove`, and `--write` to locate and
replace the passive sentence in SKILL.md.
- Around line 353-355: Replace the passive sentence "The rules are evaluated in
order" with an active-voice construction; update the sentence in SKILL.md that
begins with "The rules are evaluated in order" to the suggested active form:
"The agent evaluates the rules in order so HTTP 403 has a single interpretation
per call: when the host matches an applied preset the request is treated as an
authentication failure, otherwise as a policy denial." Ensure only the wording
of that sentence is changed and surrounding meaning/structure remains identical.

In @.agents/skills/nemoclaw-user-manage-sandboxes/references/backup-restore.md:
- Line 154: The sentence "This is the recommended host-installed command before
broad maintenance such as `nemoclaw update`, `nemoclaw upgrade-sandboxes`, or an
OpenShell gateway migration." uses passive voice; change it to active voice by
rephrasing to something like "Run this host-installed command before broad
maintenance such as `nemoclaw update`, `nemoclaw upgrade-sandboxes`, or an
OpenShell gateway migration." or "We recommend running this host-installed
command before broad maintenance..." and update the line in backup-restore.md
accordingly.
- Line 170: Replace the passive sentence "It is not installed by the standard
`curl -fsSL https://www.nvidia.com/nemoclaw.sh | bash` installer, so host
installs should use `nemoclaw backup-all` or the snapshot commands above." with
an active-voice phrasing such as "The standard `curl -fsSL
https://www.nvidia.com/nemoclaw.sh | bash` installer does not install it, so
host installs should use `nemoclaw backup-all` or the snapshot commands above."
in the backup-restore.md section to satisfy the active-voice guideline.

In @.agents/skills/nemoclaw-user-overview/references/release-notes.md:
- Around line 11-15: The release-notes.md contains multiple independent
sentences per line violating the one-sentence-per-line guideline; fix by
updating the generator or source so each sentence occupies its own line. Either:
1) Edit docs/about/release-notes.mdx to place each sentence on its own line (so
the autogenerated
.agents/skills/nemoclaw-user-overview/references/release-notes.md will
regenerate correctly), or 2) Modify the generator transformation that produces
release-notes.md to split bullet lines on sentence boundaries (e.g., split on
period+space while preserving abbreviations) before writing output; target the
release-notes generation logic responsible for producing the listed bullets.

In @.agents/skills/nemoclaw-user-reference/references/commands.md:
- Around line 1901-1902: The sentence uses passive voice ("the matching provider
row is registered"); change it to active voice and mention the actor — e.g.,
"NemoClaw registers the matching provider row with a null token" — so update the
text around the explanation of upsertMessagingProviders and the onboarding step
(mentions of nemoClaw/onboard, upsertMessagingProviders, OpenShell gateway,
Hermes) to use that active phrasing and keep the same meaning about exporting
the credential before running `nemoclaw onboard`.
- Line 1894: The sentence "Entries are split on whitespace and commas and must
match `^[A-Z][A-Z0-9_]{0,127}$`" uses passive voice; rewrite it in active voice
such as "NemoClaw splits entries on whitespace and commas, and each must match
`^[A-Z][A-Z0-9_]{0,127}$`" so update the matching line in
.agents/skills/nemoclaw-user-reference/references/commands.md to the
active-voice phrasing while preserving the regex and meaning.

In `@docs/about/release-notes.mdx`:
- Around line 20-24: The release-notes bullets contain multiple sentences per
line; split each sentence onto its own line so diffs are readable — e.g., take
the first bullet starting with "Agents and operators can inspect a redacted
policy context..." and break it into three separate lines (one sentence per
line), then do the same for the subsequent bullets starting with "Sandbox
hardening...", "Onboarding and rebuild paths...", "Local inference and Hermes
setup...", and "Messaging setup..."; ensure punctuation is preserved and no
semantic changes are made, only line breaks between sentences.

In `@docs/manage-sandboxes/messaging-channels.mdx`:
- Line 87: Change the passive sentence "When a Slack channel `@mention` is
denied by these allowlists, NemoClaw sends a denial notice back to the
sender..." to active voice by making the allowlists the subject; e.g., rewrite
the clause beginning "When a Slack channel `@mention` is denied by these
allowlists" to something like "When these allowlists deny a Slack channel
`@mention`, NemoClaw sends a denial notice back to the sender" so the allowlists
perform the action and the sentence reads actively.
🪄 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: 5ac222fb-9e2b-413c-ac0e-f328e280b076

📥 Commits

Reviewing files that changed from the base of the PR and between a49ce2c and 48c39cd.

📒 Files selected for processing (16)
  • .agents/skills/nemoclaw-user-configure-inference/SKILL.md
  • .agents/skills/nemoclaw-user-configure-inference/references/inference-options.md
  • .agents/skills/nemoclaw-user-configure-inference/references/switch-inference-providers.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/references/quickstart-hermes.md
  • .agents/skills/nemoclaw-user-manage-policy/SKILL.md
  • .agents/skills/nemoclaw-user-manage-sandboxes/references/backup-restore.md
  • .agents/skills/nemoclaw-user-manage-sandboxes/references/messaging-channels.md
  • .agents/skills/nemoclaw-user-monitor-sandbox/SKILL.md
  • .agents/skills/nemoclaw-user-overview/references/release-notes.md
  • .agents/skills/nemoclaw-user-reference/references/commands.md
  • .agents/skills/nemoclaw-user-reference/references/troubleshooting.md
  • docs/about/release-notes.mdx
  • docs/inference/use-local-inference.mdx
  • docs/manage-sandboxes/messaging-channels.mdx

Comment on lines +156 to +158
```console
$ nemoclaw backup-all
```

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

Use bash code block for copyable commands, not console with prompt.

Copyable CLI commands should use language-specific tags like bash without prompt markers. Reserve console blocks for terminal transcripts that include prompts and output.

📝 Suggested fix
-```console
-$ nemoclaw backup-all
+```bash
+nemoclaw backup-all
</details>

As per coding guidelines: Copyable CLI code blocks must use language-specific tags such as `bash`, `sh`, or `powershell`, and must not include prompt markers such as `$`.

<details>
<summary>🤖 Prompt for AI Agents</summary>

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/backup-restore.md
around lines 156 - 158, Replace the copyable command block that currently uses a
console fenced block with a bash block and remove the prompt marker: change the
opening fence from console to bash and remove the leading "$ " before the
nemoclaw backup-all line so the block contains just "nemoclaw backup-all";
update the closing fence unchanged. This affects the fenced code block
containing the text "nemoclaw backup-all".


</details>

<!-- fingerprinting:phantom:triton:puma -->

<!-- cr-comment:v1:6f675e38a0c8ce4ddaee1d88 -->

_Source: Coding guidelines_

<!-- This is an auto-generated comment by CodeRabbit -->

@miyoungc miyoungc merged commit 4f7642e into main Jun 8, 2026
40 checks passed
@miyoungc miyoungc deleted the docs/v0.0.61-release-docs branch June 8, 2026 22:08
@wscurran wscurran added the chore Build, CI, dependency, or tooling maintenance label Jun 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: docs Documentation, examples, guides, or docs build area: skills Skills, agent behaviors, prompts, or skill packaging chore Build, CI, dependency, or tooling maintenance needs: review PR is conflict-free and awaiting maintainer review v0.0.62 Release target

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants