docs: refresh v0.0.61 release docs#4992
Conversation
📝 WalkthroughWalkthroughThis 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. ChangesNemoClaw v0.0.61 Documentation Updates
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested labels
Suggested reviewers
🚥 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 |
|
🌿 Preview your docs: https://nvidia-preview-pr-4992.docs.buildwithfern.com/nemoclaw |
E2E Advisor RecommendationRequired E2E: None Full advisor summaryE2E Recommendation AdvisorBase: Required E2E
Optional E2E
New E2E recommendations
|
E2E Scenario Advisor RecommendationRequired scenario E2E: None Full scenario advisor summaryE2E Scenario AdvisorBase: Required scenario E2E
Optional scenario E2E
Relevant changed files
|
PR Review AdvisorFindings: 0 needs attention, 0 worth checking, 0 nice ideas This is an automated advisory review. A human maintainer must make the final merge decision. |
There was a problem hiding this comment.
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 winMissing SPDX license header.
The coding guidelines require all
.mdfiles 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 winFlag 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 winFlag 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 winFlag 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,.localdomainfromallowedHostCategoriesand surfaces them as aredactedHostCount."🤖 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 winFlag 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.mdonce during onboarding and refreshes it on everypolicy-addorpolicy-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 winFlag 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 winRewrite 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 winUse 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 winUse 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 | bashinstaller 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 winFormat 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 winUse active voice and format with one sentence per line.
This paragraph has two issues:
- Passive voice (lines 36, 37-38): "this is applied" and "shells are spawned" should be rewritten in active voice per coding guidelines.
- 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 winFormat 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 tradeoffMultiple 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.mdxshould 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 winSplit 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
📒 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.mddocs/about/release-notes.mdxdocs/inference/use-local-inference.mdxdocs/manage-sandboxes/messaging-channels.mdx
| ```console | ||
| $ nemoclaw backup-all | ||
| ``` |
There was a problem hiding this comment.
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 -->
Summary
nemoclaw-user-*skills from the source docs.Source summary
docs/about/release-notes.mdx: Added the v0.0.61 release summary from the dev announcement and linked behavior groups to deeper docs.docs/inference/use-local-inference.mdx: Documented that managed vLLM restarts thenemoclaw-vllmcontainer after host reboot during recovery.docs/manage-sandboxes/messaging-channels.mdx: Documented Slack sender feedback for denied channel@mentionevents..agents/skills/: Refreshed generated user skills from the current source docs for release prep.Verification
python3 scripts/docs-to-skills.py docs/ .agents/skills/ --prefix nemoclaw-user --doc-platform fern-mdxnpm run docs(passed outside the tool sandbox aftertsxIPC pipe creation was blocked in the sandbox)npm run build:cli(refreshed localdist/for the pre-push TypeScript hook)Summary by CodeRabbit