Skip to content

docs(support): align platform status with PRD and tested matrix#1619

Merged
cv merged 12 commits intoNVIDIA:mainfrom
prekshivyas:docs/platform-status-alignment-1402
Apr 8, 2026
Merged

docs(support): align platform status with PRD and tested matrix#1619
cv merged 12 commits intoNVIDIA:mainfrom
prekshivyas:docs/platform-status-alignment-1402

Conversation

@prekshivyas
Copy link
Copy Markdown
Contributor

@prekshivyas prekshivyas commented Apr 8, 2026

Summary

Aligns platform and provider status labels with PRD definitions and the decisions from the 2026-04-08 Slack thread. Adds automation so the matrix stays in sync going forward.

Terminology and content changes

  • Use "Tested" instead of "Supported" for platform table column headers and prerequisites (per Miyoung/Kris)
  • Remove Podman from tested runtimes — OpenShell does not support it (per Kevin)
  • Remove macOS Intel — OpenShell does not support it (per Kevin)
  • Mark WSL2 as Caveated — PRD lists it as P1, not Out of scope
  • Keep DGX Spark as Tested
  • Add provider status table to docs/inference/inference-options.md
  • Condense Podman troubleshooting to a single redirect note

Automation

  • ci/platform-matrix.json — single source of truth for tested platforms and providers. QA updates this file; docs are derived. Includes status, prd_priority, and ci_tested fields.
  • scripts/generate-platform-docs.py — reads metadata, patches tables between <!-- platform-matrix:begin/end --> and <!-- provider-status:begin/end --> sentinels
  • Pre-commit hook (platform-matrix-sync) — auto-patches docs on commit when matrix or targets change
  • CI checkgenerate-platform-docs.py --check in pr.yaml catches drift if someone skips hooks

Bug fix

  • Pre-commit hook prefixdocs-to-skills hook was using --prefix nemoclaw instead of --prefix nemoclaw-user, creating duplicate skill directories on every doc commit

Files changed

File Change
ci/platform-matrix.json New: platform and provider metadata
scripts/generate-platform-docs.py New: table generation script
.pre-commit-config.yaml Fix skills prefix, add matrix sync hook
.github/workflows/pr.yaml Add matrix sync CI check
README.md Updated platform table, "Tested" terminology
docs/get-started/quickstart.md Updated platform table, "Tested" terminology
docs/inference/inference-options.md Added provider status table
docs/reference/troubleshooting.md Condensed Podman section
docs/reference/commands.md "unsupported" → "untested" for Podman
.agents/skills/ (2 files) Auto-regenerated from docs

Related Issue

Closes #1402

Test plan

  • make docs builds without warnings
  • python3 scripts/generate-platform-docs.py --check passes
  • Edit ci/platform-matrix.json, run python3 scripts/generate-platform-docs.py, verify tables update
  • Tables render correctly in README and quickstart
  • No broken cross-references

Signed-off-by: Prekshi Vyas prekshiv@nvidia.com

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation

    • Marked Podman as an "untested" runtime and removed Podman-specific troubleshooting; onboarding now directs switching to a tested Docker-based runtime and rerunning.
    • Reworked quickstart/README platform matrix to list only tested platform/runtime combinations, add status indicators, and point to the tested-platform table.
    • Added a Provider Status table summarizing inference providers, statuses, endpoint types, and notes.
  • Chores

    • Added a single-source platform/provider matrix and automation plus CI/commit checks to keep those docs in sync.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 8, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Centralizes platform/provider support in ci/platform-matrix.json, adds scripts/generate-platform-docs.py to generate/sync markdown tables, updates docs to mark Podman as “untested” and remove Podman-specific workarounds, revises platform/runtime matrices, and enforces sync via CI and a pre-commit hook.

Changes

Cohort / File(s) Summary
Commands docs
/.agents/skills/nemoclaw-user-reference/references/commands.md, docs/reference/commands.md
Reworded onboarding preflight runtime caveat from “unsupported” to “untested” (e.g., Podman).
Troubleshooting docs
/.agents/skills/nemoclaw-user-reference/references/troubleshooting.md, docs/reference/troubleshooting.md
Removed Podman-specific remediation and “warns and continues” text; now instructs switching to a tested Docker-based runtime and rerunning onboarding.
Quickstart & README
README.md, docs/get-started/quickstart.md
Replaced prior platform/runtime matrix with a curated tested platform/runtime matrix and status column; clarified Windows requires WSL2 + Docker Desktop backend; removed Podman and macOS Intel rows.
Inference provider docs
/.agents/skills/nemoclaw-user-configure-inference/SKILL.md, /.agents/skills/nemoclaw-user-configure-inference/references/inference-options.md, docs/inference/inference-options.md
Added “Provider Status” tables (provider, status, endpoint type, notes); removed inline per-provider validation-methods table and pointed to reference doc.
Platform matrix source
ci/platform-matrix.json
NEW: Single-source JSON defining platforms, runtimes, provider statuses, CI-tested flags, and notes used to generate docs.
Generator script
scripts/generate-platform-docs.py
NEW: CLI script that reads ci/platform-matrix.json, generates platform/provider markdown tables, patches sentinel regions in target docs, supports --check mode (CI), and exits nonzero on diffs or missing targets.
CI & pre-commit
.github/workflows/pr.yaml, .pre-commit-config.yaml
Added generate-platform-docs.py --check to PR checks; added platform-matrix-sync pre-commit hook to run generator and stage affected docs; adjusted docs-to-skills prefix and triggers.
Agent docs adjustment
.agents/skills/...
Updated generated skill docs to reflect wording and provider-table changes (staged under .agents/skills/).

Sequence Diagram(s)

sequenceDiagram
  participant Dev as Developer
  participant Pre as Pre-commit Hook
  participant Repo as Repository
  participant CI as GitHub Actions (checks job)
  participant Script as Generator (generate-platform-docs.py)

  Dev->>Repo: Push commit/PR (includes ci/platform-matrix.json or docs)
  Pre->>Script: pre-commit runs generator (patch mode)
  Script->>Repo: read ci/platform-matrix.json and patch sentinel regions in docs
  Script-->>Pre: return status (OK/PATCH/MISS)
  Repo->>CI: PR triggers checks job
  CI->>Script: run generator --check
  Script->>Repo: compare generated tables vs sentinel regions
  Script-->>CI: exit 0 if in sync, exit 1 and print DIFF if out-of-sync
  CI->>Dev: report pass/fail
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

🐰 I hopped through JSON, tables bright and neat,
Sentinels patched so docs and CI meet.
Podman now “untested,” one source to see—
A tidy sync song from me to thee. 🥕

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 50.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 title 'docs(support): align platform status with PRD and tested matrix' accurately captures the primary change: documentation updates to align platform and provider statuses with PRD definitions and a tested matrix.
Linked Issues check ✅ Passed The pull request comprehensively addresses all coding and documentation requirements from issue #1402: corrects WSL2 and macOS status labels, creates a platform/provider status matrix, introduces single-source-of-truth configuration (ci/platform-matrix.json), removes Podman from tested runtimes with updated terminology, and adds automation (generate-platform-docs.py, pre-commit hooks, CI checks).
Out of Scope Changes check ✅ Passed All changes are directly aligned with the linked issue objectives: platform status corrections, provider status documentation, matrix infrastructure, terminology updates, and automation tooling to maintain consistency. No out-of-scope changes detected.

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

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

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

…IA#1402)

- Use "Tested" instead of "Supported" for platform table header
- Remove Podman from tested runtimes (not tested by OpenShell)
- Remove macOS Intel (not tested by OpenShell)
- Mark WSL2 as Caveated (P1 per PRD, not Out of scope)
- Keep DGX Spark as Tested
- Condense Podman troubleshooting to a single redirect note
- Add disclaimer that availability is not limited to listed platforms
- Regenerate agent skills

Closes NVIDIA#1402

Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@prekshivyas prekshivyas force-pushed the docs/platform-status-alignment-1402 branch from d9aa266 to 04b6fb2 Compare April 8, 2026 19:25
prekshivyas and others added 3 commits April 8, 2026 12:27
The pre-commit hook was using --prefix nemoclaw instead of
--prefix nemoclaw-user, generating old-naming skill directories
(nemoclaw-overview/) alongside the new audience-prefixed ones
(nemoclaw-user-overview/). This caused duplicate skill directories
on every commit that touched docs.

Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add ci/platform-matrix.json as the single source of truth for tested
platforms and providers. QA updates this file; docs are derived.

- ci/platform-matrix.json: metadata with status, PRD priority,
  ci_tested flag for each platform and provider
- scripts/generate-platform-docs.py: reads metadata, patches tables
  between <!-- platform-matrix:begin/end --> sentinels in README.md
  and quickstart.md
- .pre-commit-config.yaml: platform-matrix-sync hook keeps docs in
  sync on every commit that touches the matrix or target files

Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add provider status table with sentinels to inference-options.md
- Extend generate-platform-docs.py to patch both platform and
  provider tables from ci/platform-matrix.json
- Add --check step to pr.yaml so CI catches stale tables
- Fix "Supported runtime" to "Tested runtime" in prerequisites
  tables (README.md and quickstart.md)

Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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: 15

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
.agents/skills/nemoclaw-user-reference/references/commands.md (1)

1-3: ⚠️ Potential issue | 🟠 Major

Required SPDX header is missing in this Markdown file.

Please prepend the SPDX HTML comment header.

As per coding guidelines, "**/*.{js,ts,tsx,sh,md}: Every source file must include an SPDX license header ... (HTML comments for Markdown)."

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.agents/skills/nemoclaw-user-reference/references/commands.md around lines 1
- 3, Prepend the required SPDX HTML comment header to this Markdown file by
adding an HTML comment at the very top (before the "# Commands" heading) in the
form <!-- SPDX-License-Identifier: <LICENSE> --> using the project’s canonical
license identifier; ensure the header follows the project's SPDX format and is
the first characters in the file so tools recognize it.
.agents/skills/nemoclaw-user-reference/references/troubleshooting.md (1)

1-3: ⚠️ Potential issue | 🟠 Major

Add the required SPDX header block at the top of this Markdown file.

This file is missing the mandatory SPDX license header for Markdown sources.

As per coding guidelines, "Every source file must include an SPDX license header ... (HTML comments for Markdown)".

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.agents/skills/nemoclaw-user-reference/references/troubleshooting.md around
lines 1 - 3, Add the required SPDX header HTML comment block at the very top of
the Markdown file troubleshooting.md; specifically insert the two comment lines
for copyright and license (e.g. <!-- SPDX-FileCopyrightText: Your Organization
Name --> and <!-- SPDX-License-Identifier: Apache-2.0 -->) before any content so
the file begins with the SPDX metadata as an HTML comment.
🧹 Nitpick comments (6)
.agents/skills/nemoclaw-overview/SKILL.md (1)

33-35: Avoid emoji in technical docs content.

Please replace emoji in Mermaid node labels with plain text labels.

As per coding guidelines, "**/*.md: ... No emoji in technical prose."

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.agents/skills/nemoclaw-overview/SKILL.md around lines 33 - 35, The Mermaid
node labels NC, OS, and OC contain emoji—replace them with plain text labels
(e.g., change NC["🦞 NVIDIA NemoClaw<br/>CLI, plugin, blueprint"] to NC["NVIDIA
NemoClaw<br/>CLI, plugin, blueprint"], OS["🐚 NVIDIA OpenShell<br/>Gateway,
policy, inference routing"] to OS["NVIDIA OpenShell<br/>Gateway, policy,
inference routing"], and OC["🦞 OpenClaw<br/>Assistant in sandbox"] to
OC["OpenClaw<br/>Assistant in sandbox"]) so the diagram uses no emoji while
preserving the existing identifiers and line breaks.
.agents/skills/nemoclaw-configure-security/SKILL.md (1)

38-58: Remove emoji from diagram labels.

Please replace emoji glyphs in labels with plain text to keep documentation prose/style consistent.

As per coding guidelines, "**/*.md: ... No emoji in technical prose."

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.agents/skills/nemoclaw-configure-security/SKILL.md around lines 38 - 58,
The diagram in SKILL.md uses emoji glyphs in node labels (e.g., YOU, NC, SB,
PROC, FS, AGENT, GW, NET, INF, OUTSIDE); remove all emoji characters from those
label strings and replace them with plain descriptive text (for example
"Operator" instead of "👤 Operator", "Process Layer" instead of "⚙️ Process
Layer", "Filesystem Layer" instead of "📁 Filesystem Layer", "Agent" instead of
"🤖 Agent", "Network Layer" instead of "🌐 Network Layer", "Inference Layer"
instead of "🧠 Inference Layer", and "Outside World" instead of "🌍 Outside
World"), keeping existing wording and HTML tags like <br/> intact to preserve
formatting.
.agents/skills/nemoclaw-overview/references/overview.md (2)

3-3: Hyphenate compound adjective "open-source".

When "open source" functions as a compound adjective modifying a noun (e.g., "open-source reference stack"), it should be hyphenated.

📝 Suggested fix
-NVIDIA NemoClaw is an open source reference stack that simplifies running [OpenClaw](https://openclaw.ai) always-on assistants.
+NVIDIA NemoClaw is an open-source reference stack that simplifies running [OpenClaw](https://openclaw.ai) always-on assistants.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.agents/skills/nemoclaw-overview/references/overview.md at line 3, The
phrase "NVIDIA NemoClaw is an open source reference stack..." uses "open source"
as a compound adjective and should be hyphenated; update that sentence (the
string "NVIDIA NemoClaw is an open source reference stack that simplifies
running OpenClaw always-on assistants.") to read "NVIDIA NemoClaw is an
open-source reference stack that simplifies running OpenClaw always-on
assistants." so the compound adjective "open-source" is correctly hyphenated.

8-8: Hyphenate compound adjective "open-source".

Same hyphenation issue as line 3.

📝 Suggested fix
-NemoClaw pairs open source and hosted models (for example [NVIDIA Nemotron](https://build.nvidia.com)) with a hardened sandbox, routed inference, and declarative egress policy so deployment stays safer and more repeatable.
+NemoClaw pairs open-source and hosted models (for example [NVIDIA Nemotron](https://build.nvidia.com)) with a hardened sandbox, routed inference, and declarative egress policy so deployment stays safer and more repeatable.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.agents/skills/nemoclaw-overview/references/overview.md at line 8, Replace
the unhyphenated compound adjective in the sentence starting "NemoClaw pairs
open source and hosted models (for example [NVIDIA
Nemotron](https://build.nvidia.com))..." by changing "open source" to
"open-source" so the phrase reads "NemoClaw pairs open-source and hosted
models..."; also scan the document for other instances of the same compound
adjective (as noted on line 3) and hyphenate them consistently.
.agents/skills/nemoclaw-reference/references/architecture.md (1)

159-159: Consider strengthening security guidance for plaintext credentials.

The documentation notes that provider credentials are stored as "plaintext JSON protected by local filesystem permissions." Consider adding more prominent security guidance, such as recommending chmod 600 on the credentials file or warning users about multi-user systems.

🔒 Suggested enhancement
-| `~/.nemoclaw/credentials.json` | Provider credentials saved during onboarding. Stored as plaintext JSON protected by local filesystem permissions; see Credential Storage (see the `nemoclaw-configure-security` skill). |
+| `~/.nemoclaw/credentials.json` | Provider credentials saved during onboarding. **Stored as plaintext JSON protected by local filesystem permissions (chmod 600)**; see Credential Storage (see the `nemoclaw-configure-security` skill) for security best practices. |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.agents/skills/nemoclaw-reference/references/architecture.md at line 159,
Update the documentation line describing `~/.nemoclaw/credentials.json` to
include clear security recommendations: state that because credentials are
stored as plaintext JSON protected only by local filesystem permissions, users
should restrict access (e.g., run chmod 600 on `~/.nemoclaw/credentials.json`),
avoid storing credentials on multi-user systems or shared drives, and reference
the `nemoclaw-configure-security` skill for hardening steps and alternatives
(e.g., using OS keystores or environment-based secret management).
.agents/skills/nemoclaw-overview/references/how-it-works.md (1)

62-62: Tighten duplicated wording in principle intro.

Line 62 is slightly redundant (“follows the following”). Small cleanup for readability.

✏️ Suggested wording
-NemoClaw architecture follows the following principles.
+NemoClaw architecture follows these principles.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.agents/skills/nemoclaw-overview/references/how-it-works.md at line 62, The
sentence "NemoClaw architecture follows the following principles." is redundant;
replace it with a tightened phrasing such as "The NemoClaw architecture follows
these principles." or "NemoClaw architecture follows these principles." Update
the line containing that exact sentence to use one of these alternatives to
remove the duplicated "follows the following" wording.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.agents/skills/nemoclaw-configure-inference/SKILL.md:
- Around line 34-38: Update the OpenAI model ID in the OpenAI table row by
replacing the incorrect "gpt-5.4-pro-2026-03-05" string with the correct
"gpt-5.4-pro" identifier; locate the row that begins with "OpenAI | Routes to
the OpenAI API" and edit the model list where "gpt-5.4", "gpt-5.4-mini",
"gpt-5.4-nano", and the dated "gpt-5.4-pro-2026-03-05" are listed so it reads
"gpt-5.4", "gpt-5.4-mini", "gpt-5.4-nano", "gpt-5.4-pro".

In @.agents/skills/nemoclaw-configure-security/references/credential-storage.md:
- Around line 1-4: Prepend the standard SPDX Markdown comment header to this
file by adding an HTML comment containing the SPDX-FileCopyrightText and
SPDX-License-Identifier metadata above the existing "Credential Storage"
heading; ensure the header is the first content in the file (before the "#
Credential Storage" line) and follows the project's canonical SPDX header
format.

In @.agents/skills/nemoclaw-configure-security/SKILL.md:
- Around line 1-6: This file is missing the required SPDX license header; add an
HTML comment SPDX header as the first non-empty line of
.agents/skills/nemoclaw-configure-security/SKILL.md, e.g. <!--
SPDX-License-Identifier: <License-Identifier> -->, replacing
<License-Identifier> with the correct project license identifier so the header
appears before the YAML/frontmatter and content.

In @.agents/skills/nemoclaw-deploy-remote/references/sandbox-hardening.md:
- Around line 1-3: This Markdown file is missing the required SPDX HTML comment
header; add the SPDX header as an HTML comment (e.g., <!--
SPDX-License-Identifier: <PROJECT_LICENSE> -->) immediately before the page
content so it appears above the existing top-level heading "# Sandbox Image
Hardening" in the document.

In @.agents/skills/nemoclaw-deploy-remote/SKILL.md:
- Line 71: Replace the hardcoded path "/home/ubuntu/nemoclaw" in the SSH command
example in SKILL.md with a user-agnostic expression (e.g., using tilde ~ or
$HOME) so the command works across different usernames/images; update the
example SSH invocation that currently shows ssh <instance-name> 'cd
/home/ubuntu/nemoclaw && set -a && . .env && set +a && openshell term' to use a
portable path like cd ~/nemoclaw or cd "$HOME/nemoclaw" and keep the rest of the
pipeline (set -a && . .env && set +a && openshell term) unchanged.

In @.agents/skills/nemoclaw-get-started/SKILL.md:
- Around line 1-6: Add the required SPDX license header as an HTML comment at
the very top of this Markdown file (the SKILL.md for the skill named
"nemoclaw-get-started"): insert the standard SPDX comment block containing
SPDX-License-Identifier (e.g., MIT or the project’s chosen license) and the
copyright/owner line as an HTML comment (<!-- ... -->) immediately before the
existing YAML frontmatter so the file begins with the SPDX header.

In @.agents/skills/nemoclaw-monitor-sandbox/SKILL.md:
- Around line 71-73: The openclaw command in SKILL.md uses two mutually
exclusive selectors (--agent and --session-id) together; update the invocation
of openclaw agent (the line containing "openclaw agent --agent main --local -m
\"Test inference\" --session-id debug") to remove the redundant selector so only
the intended target remains—either remove --agent main to target the session
debug or remove --session-id debug to target the main agent—ensuring the command
follows OpenClaw CLI guidance.

In @.agents/skills/nemoclaw-overview/references/ecosystem.md:
- Around line 1-3: Add an SPDX copyright and license header as an HTML comment
at the very top of this Markdown file (above the "# Ecosystem" heading); include
the copyright year and owner plus the SPDX license identifier (for example: <!--
SPDX-FileCopyrightText: 2026 YourNameOrOrg --> and <!-- SPDX-License-Identifier:
Apache-2.0 -->) so the header follows the repository guideline requiring HTML
comments for .md files.

In @.agents/skills/nemoclaw-overview/references/release-notes.md:
- Around line 1-4: Add the required SPDX license header as an HTML comment at
the very top of this Markdown file (above the existing "# Release Notes"
heading); include the full SPDX short identifier and copyright line per project
policy (e.g., SPDX-License-Identifier: <license> and copyright owner/year) so
the header matches other files' format and satisfies the rule for
"*.{js,ts,tsx,sh,md}".

In @.agents/skills/nemoclaw-overview/SKILL.md:
- Around line 1-6: Add an SPDX license header as an HTML comment at the very top
of the SKILL.md file (above the YAML front-matter/name/title). Insert a
single-line comment like <!-- SPDX-License-Identifier: <Your-License-Identifier>
--> (for example <!-- SPDX-License-Identifier: Apache-2.0 -->) replacing
<Your-License-Identifier> with the correct project license identifier so the
file complies with the repository's SPDX header requirement.
- Line 138: Replace instances of the phrase "open source" used as a modifier
with the hyphenated compound adjective "open-source"—e.g., change the sentence
starting "NVIDIA NemoClaw is an open source reference stack..." to "NVIDIA
NemoClaw is an open-source reference stack..." and apply the same change to the
other occurrence of "open source" in the document (the one referenced near the
same paragraph).

In @.agents/skills/nemoclaw-reference/references/commands.md:
- Around line 1-4: Add the required SPDX license header as an HTML comment at
the very top of this Markdown file (above the "# Commands" heading); use the
repository's canonical SPDX identifier (e.g., "SPDX-License-Identifier:
<LICENSE-ID>") so the file contains <!-- SPDX-License-Identifier: <LICENSE-ID>
--> as the first line. Ensure the comment matches the project's license and is
placed before any content so linters/tools recognize it.

In @.agents/skills/nemoclaw-reference/references/troubleshooting.md:
- Around line 18-20: The doc currently asserts "NemoClaw requires Linux Ubuntu
22.04 LTS or later" while later sections provide macOS install/runtime
instructions, causing a contradiction; update the troubleshooting.md by either
removing or modifying the strict Ubuntu-only sentence ("NemoClaw requires Linux
Ubuntu 22.04 LTS or later") to accurately reflect supported platforms, or split
into two clear subsections: one titled "Supported Linux" that specifies Ubuntu
22.04+ and installer checks ("The installer checks for a supported OS and
architecture before proceeding") and another titled "macOS
(supported/experimental)" that links to the macOS install/runtime paths
described elsewhere, ensuring the initial platform requirement statement aligns
with the macOS instructions.

In @.agents/skills/nemoclaw-reference/SKILL.md:
- Around line 1-6: The new Markdown skill "nemoclaw-reference" is missing the
required SPDX license header; add the standard SPDX HTML comment header at the
very top of the SKILL.md file (above the YAML frontmatter) containing the
SPDX-FileCopyrightText line and SPDX-License-Identifier line so the file
complies with the "`**/*.{js,ts,tsx,sh,md}`" rule; locate the file by the skill
name "nemoclaw-reference" in the YAML frontmatter and insert the SPDX HTML
comment header immediately before the existing content.

In @.agents/skills/nemoclaw-workspace/references/workspace-files.md:
- Around line 1-5: Add an SPDX header as an HTML comment at the very top of
workspace-files.md: include an SPDX-FileCopyrightText line with the correct year
and copyright holder and an SPDX-License-Identifier line with the project
license (e.g., MIT), ensuring both are wrapped in the Markdown HTML comment
syntax and placed before any other content so the file complies with the
required license header policy.

---

Outside diff comments:
In @.agents/skills/nemoclaw-user-reference/references/commands.md:
- Around line 1-3: Prepend the required SPDX HTML comment header to this
Markdown file by adding an HTML comment at the very top (before the "# Commands"
heading) in the form <!-- SPDX-License-Identifier: <LICENSE> --> using the
project’s canonical license identifier; ensure the header follows the project's
SPDX format and is the first characters in the file so tools recognize it.

In @.agents/skills/nemoclaw-user-reference/references/troubleshooting.md:
- Around line 1-3: Add the required SPDX header HTML comment block at the very
top of the Markdown file troubleshooting.md; specifically insert the two comment
lines for copyright and license (e.g. <!-- SPDX-FileCopyrightText: Your
Organization Name --> and <!-- SPDX-License-Identifier: Apache-2.0 -->) before
any content so the file begins with the SPDX metadata as an HTML comment.

---

Nitpick comments:
In @.agents/skills/nemoclaw-configure-security/SKILL.md:
- Around line 38-58: The diagram in SKILL.md uses emoji glyphs in node labels
(e.g., YOU, NC, SB, PROC, FS, AGENT, GW, NET, INF, OUTSIDE); remove all emoji
characters from those label strings and replace them with plain descriptive text
(for example "Operator" instead of "👤 Operator", "Process Layer" instead of "⚙️
Process Layer", "Filesystem Layer" instead of "📁 Filesystem Layer", "Agent"
instead of "🤖 Agent", "Network Layer" instead of "🌐 Network Layer", "Inference
Layer" instead of "🧠 Inference Layer", and "Outside World" instead of "🌍
Outside World"), keeping existing wording and HTML tags like <br/> intact to
preserve formatting.

In @.agents/skills/nemoclaw-overview/references/how-it-works.md:
- Line 62: The sentence "NemoClaw architecture follows the following
principles." is redundant; replace it with a tightened phrasing such as "The
NemoClaw architecture follows these principles." or "NemoClaw architecture
follows these principles." Update the line containing that exact sentence to use
one of these alternatives to remove the duplicated "follows the following"
wording.

In @.agents/skills/nemoclaw-overview/references/overview.md:
- Line 3: The phrase "NVIDIA NemoClaw is an open source reference stack..." uses
"open source" as a compound adjective and should be hyphenated; update that
sentence (the string "NVIDIA NemoClaw is an open source reference stack that
simplifies running OpenClaw always-on assistants.") to read "NVIDIA NemoClaw is
an open-source reference stack that simplifies running OpenClaw always-on
assistants." so the compound adjective "open-source" is correctly hyphenated.
- Line 8: Replace the unhyphenated compound adjective in the sentence starting
"NemoClaw pairs open source and hosted models (for example [NVIDIA
Nemotron](https://build.nvidia.com))..." by changing "open source" to
"open-source" so the phrase reads "NemoClaw pairs open-source and hosted
models..."; also scan the document for other instances of the same compound
adjective (as noted on line 3) and hyphenate them consistently.

In @.agents/skills/nemoclaw-overview/SKILL.md:
- Around line 33-35: The Mermaid node labels NC, OS, and OC contain
emoji—replace them with plain text labels (e.g., change NC["🦞 NVIDIA
NemoClaw<br/>CLI, plugin, blueprint"] to NC["NVIDIA NemoClaw<br/>CLI, plugin,
blueprint"], OS["🐚 NVIDIA OpenShell<br/>Gateway, policy, inference routing"] to
OS["NVIDIA OpenShell<br/>Gateway, policy, inference routing"], and OC["🦞
OpenClaw<br/>Assistant in sandbox"] to OC["OpenClaw<br/>Assistant in sandbox"])
so the diagram uses no emoji while preserving the existing identifiers and line
breaks.

In @.agents/skills/nemoclaw-reference/references/architecture.md:
- Line 159: Update the documentation line describing
`~/.nemoclaw/credentials.json` to include clear security recommendations: state
that because credentials are stored as plaintext JSON protected only by local
filesystem permissions, users should restrict access (e.g., run chmod 600 on
`~/.nemoclaw/credentials.json`), avoid storing credentials on multi-user systems
or shared drives, and reference the `nemoclaw-configure-security` skill for
hardening steps and alternatives (e.g., using OS keystores or environment-based
secret management).
🪄 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: Pro

Run ID: fe0def28-b6d8-41fd-8e5d-82d7f6607aba

📥 Commits

Reviewing files that changed from the base of the PR and between 045a340 and d9aa266.

📒 Files selected for processing (28)
  • .agents/skills/nemoclaw-configure-inference/SKILL.md
  • .agents/skills/nemoclaw-configure-inference/references/inference-options.md
  • .agents/skills/nemoclaw-configure-security/SKILL.md
  • .agents/skills/nemoclaw-configure-security/references/best-practices.md
  • .agents/skills/nemoclaw-configure-security/references/credential-storage.md
  • .agents/skills/nemoclaw-deploy-remote/SKILL.md
  • .agents/skills/nemoclaw-deploy-remote/references/sandbox-hardening.md
  • .agents/skills/nemoclaw-get-started/SKILL.md
  • .agents/skills/nemoclaw-manage-policy/SKILL.md
  • .agents/skills/nemoclaw-monitor-sandbox/SKILL.md
  • .agents/skills/nemoclaw-overview/SKILL.md
  • .agents/skills/nemoclaw-overview/references/ecosystem.md
  • .agents/skills/nemoclaw-overview/references/how-it-works.md
  • .agents/skills/nemoclaw-overview/references/overview.md
  • .agents/skills/nemoclaw-overview/references/release-notes.md
  • .agents/skills/nemoclaw-reference/SKILL.md
  • .agents/skills/nemoclaw-reference/references/architecture.md
  • .agents/skills/nemoclaw-reference/references/commands.md
  • .agents/skills/nemoclaw-reference/references/network-policies.md
  • .agents/skills/nemoclaw-reference/references/troubleshooting.md
  • .agents/skills/nemoclaw-user-reference/references/commands.md
  • .agents/skills/nemoclaw-user-reference/references/troubleshooting.md
  • .agents/skills/nemoclaw-workspace/SKILL.md
  • .agents/skills/nemoclaw-workspace/references/workspace-files.md
  • README.md
  • docs/get-started/quickstart.md
  • docs/reference/commands.md
  • docs/reference/troubleshooting.md

Comment on lines +34 to +38
| OpenAI | Routes to the OpenAI API. Set `OPENAI_API_KEY`. | `gpt-5.4`, `gpt-5.4-mini`, `gpt-5.4-nano`, `gpt-5.4-pro-2026-03-05` |
| Other OpenAI-compatible endpoint | Routes to any server that implements `/v1/chat/completions`. If the endpoint also supports `/responses` with OpenClaw-style tool calling, NemoClaw can use that path; otherwise it falls back to `/chat/completions`. The wizard prompts for a base URL and model name. Works with OpenRouter, LocalAI, llama.cpp, or any compatible proxy. Set `COMPATIBLE_API_KEY`. | You provide the model name. |
| Anthropic | Routes to the Anthropic Messages API. Set `ANTHROPIC_API_KEY`. | `claude-sonnet-4-6`, `claude-haiku-4-5`, `claude-opus-4-6` |
| Other Anthropic-compatible endpoint | Routes to any server that implements the Anthropic Messages API (`/v1/messages`). The wizard prompts for a base URL and model name. Set `COMPATIBLE_ANTHROPIC_API_KEY`. | You provide the model name. |
| Google Gemini | Routes to Google's OpenAI-compatible endpoint. NemoClaw prefers `/responses` only when the endpoint proves it can handle tool calling in a way OpenClaw uses; otherwise it falls back to `/chat/completions`. Set `GEMINI_API_KEY`. | `gemini-3.1-pro-preview`, `gemini-3.1-flash-lite-preview`, `gemini-3-flash-preview`, `gemini-2.5-pro`, `gemini-2.5-flash`, `gemini-2.5-flash-lite` |
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

🧩 Analysis chain

🌐 Web query:

What are the latest OpenAI GPT model versions available as of April 2026?

💡 Result:

As of April 8, 2026, the newest OpenAI “GPT” family models are in the GPT‑5.4 / GPT‑5.3 line:

  • GPT‑5.4 (latest flagship)

    • API model IDs: gpt-5.4, gpt-5.4-pro (openai.com)
    • Smaller variants: GPT‑5.4 mini (API/ChatGPT/Codex) and GPT‑5.4 nano (API-only) (openai.com)
  • GPT‑5.3 Instant (latest “everyday chat” variant)

  • GPT‑5.3‑Codex (latest coding/agentic Codex model line)

    • Available in paid ChatGPT plans via Codex; OpenAI said API access was being enabled “soon” (not stated as generally available in that announcement). (openai.com)

For completeness, OpenAI’s API docs also list older-but-still-available GPT families (e.g., GPT‑5.2 / GPT‑5.1 / GPT‑5 and GPT‑4.1 variants) alongside the above. (platform.openai.com)

Citations:


🌐 Web query:

What are the latest Google Gemini model versions available as of April 2026?

💡 Result:

As of April 2026, Google’s latest Gemini model versions available in the Gemini API / Google AI for Developers docs include:

Gemini 3 family (latest-gen)

  • Gemini 3.1 Pro (Preview): gemini-3.1-pro-preview (also gemini-3.1-pro-preview-customtools) [1]
  • Gemini 3 Flash (Preview): gemini-3-flash-preview [2]
  • Gemini 3.1 Flash-Lite (Preview): gemini-3.1-flash-lite-preview [3]
  • Gemini 3.1 Flash Live (Preview, Live API): gemini-3.1-flash-live-preview [4]

Gemini 2.5 family (current stable + previews)

  • Gemini 2.5 Pro (Stable): gemini-2.5-pro [5]
  • Gemini 2.5 Flash (Stable): gemini-2.5-flash [6]
  • Gemini 2.5 Flash-Lite (Stable): gemini-2.5-flash-lite [7]
  • Gemini 2.5 Flash Live (Preview, Live API): gemini-2.5-flash-native-audio-preview-12-2025 [8]
  • Gemini 2.5 Flash TTS (Preview): gemini-2.5-flash-preview-tts [9]
  • Gemini 2.5 Pro TTS (Preview): gemini-2.5-pro-preview-tts [10]

Note: Google’s models list also states Gemini 3 Pro Preview is deprecated and was shut down on March 9, 2026 [11].

Sources

  1. Gemini 3.1 Pro Preview model card (Google AI for Developers) — gemini-3.1-pro-preview [1]
  2. Gemini 3 Flash Preview model card — gemini-3-flash-preview [2]
  3. Gemini 3.1 Flash-Lite Preview model card — gemini-3.1-flash-lite-preview [3]
  4. Gemini 3.1 Flash Live Preview model card — gemini-3.1-flash-live-preview [4]
  5. Gemini 2.5 Pro model card — gemini-2.5-pro [5]
  6. Gemini 2.5 Flash model card — gemini-2.5-flash [6]
  7. Gemini 2.5 Flash-Lite model card — gemini-2.5-flash-lite [7]
  8. Gemini 2.5 Flash Live Preview model card — gemini-2.5-flash-native-audio-preview-12-2025 [8]
  9. Gemini 2.5 Flash TTS model card — gemini-2.5-flash-preview-tts [9]
  10. Gemini 2.5 Pro TTS model card — gemini-2.5-pro-preview-tts [10]
  11. “Models” page (Gemini API docs) — deprecation/shutdown note for Gemini 3 Pro Preview [11]

Update OpenAI model ID format for gpt-5.4-pro.

The OpenAI models gpt-5.4, gpt-5.4-mini, and gpt-5.4-nano are accurate. However, the documented model ID gpt-5.4-pro-2026-03-05 should be corrected to gpt-5.4-pro—the date suffix is not part of OpenAI's standard model ID format as of April 2026. All listed Google Gemini models (gemini-3.1-pro-preview, gemini-3.1-flash-lite-preview, gemini-3-flash-preview, gemini-2.5-pro, gemini-2.5-flash, gemini-2.5-flash-lite) are current and valid.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.agents/skills/nemoclaw-configure-inference/SKILL.md around lines 34 - 38,
Update the OpenAI model ID in the OpenAI table row by replacing the incorrect
"gpt-5.4-pro-2026-03-05" string with the correct "gpt-5.4-pro" identifier;
locate the row that begins with "OpenAI | Routes to the OpenAI API" and edit the
model list where "gpt-5.4", "gpt-5.4-mini", "gpt-5.4-nano", and the dated
"gpt-5.4-pro-2026-03-05" are listed so it reads "gpt-5.4", "gpt-5.4-mini",
"gpt-5.4-nano", "gpt-5.4-pro".

Comment on lines +1 to +4
# Credential Storage

NemoClaw stores operator-provided host-side credentials under `~/.nemoclaw/`.
These credentials are used during onboarding and host-side lifecycle operations.
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

Required SPDX header is missing.

Please prepend the standard SPDX Markdown comment header.

As per coding guidelines, "Every source file must include an SPDX license header ... (HTML comments for Markdown)".

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.agents/skills/nemoclaw-configure-security/references/credential-storage.md
around lines 1 - 4, Prepend the standard SPDX Markdown comment header to this
file by adding an HTML comment containing the SPDX-FileCopyrightText and
SPDX-License-Identifier metadata above the existing "Credential Storage"
heading; ensure the header is the first content in the file (before the "#
Credential Storage" line) and follows the project's canonical SPDX header
format.

Comment on lines +1 to +6
---
name: "nemoclaw-configure-security"
description: "Presents a risk framework for every configurable security control in NemoClaw. Use when evaluating security posture, reviewing sandbox security defaults, or assessing control trade-offs. Explains where NemoClaw stores provider credentials, the file permissions it applies, and the operational security trade-offs of plaintext local storage. Use when reviewing credential handling or advising users how to secure stored API keys."
---

# NemoClaw Configure Security
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

Add SPDX header to this skill file.

The required Markdown SPDX header is missing.

As per coding guidelines, "Every source file must include an SPDX license header ... (HTML comments for Markdown)".

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.agents/skills/nemoclaw-configure-security/SKILL.md around lines 1 - 6, This
file is missing the required SPDX license header; add an HTML comment SPDX
header as the first non-empty line of
.agents/skills/nemoclaw-configure-security/SKILL.md, e.g. <!--
SPDX-License-Identifier: <License-Identifier> -->, replacing
<License-Identifier> with the correct project license identifier so the header
appears before the YAML/frontmatter and content.

Comment on lines +1 to +3
# Sandbox Image Hardening

The NemoClaw sandbox image applies several security measures to reduce attack
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

Missing SPDX header in this new Markdown source file.

Please add the required SPDX HTML comment header before the page content.

As per coding guidelines, "**/*.{js,ts,tsx,sh,md}: Every source file must include an SPDX license header ... (HTML comments for Markdown)."

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.agents/skills/nemoclaw-deploy-remote/references/sandbox-hardening.md around
lines 1 - 3, This Markdown file is missing the required SPDX HTML comment
header; add the SPDX header as an HTML comment (e.g., <!--
SPDX-License-Identifier: <PROJECT_LICENSE> -->) immediately before the page
content so it appears above the existing top-level heading "# Sandbox Image
Hardening" in the document.

SSH to the instance and run the OpenShell TUI to monitor activity and approve network requests:

```console
$ ssh <instance-name> 'cd /home/ubuntu/nemoclaw && set -a && . .env && set +a && openshell term'
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

Avoid hardcoded user home path in SSH monitoring command.

Line 71 assumes /home/ubuntu/nemoclaw, which is brittle across images/usernames. Prefer a user-agnostic path expression.

🛠️ Proposed doc fix
-$ ssh <instance-name> 'cd /home/ubuntu/nemoclaw && set -a && . .env && set +a && openshell term'
+$ ssh <instance-name> 'cd "$HOME"/nemoclaw && set -a && . .env && set +a && openshell term'
📝 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
$ ssh <instance-name> 'cd /home/ubuntu/nemoclaw && set -a && . .env && set +a && openshell term'
$ ssh <instance-name> 'cd "$HOME"/nemoclaw && set -a && . .env && set +a && openshell term'
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.agents/skills/nemoclaw-deploy-remote/SKILL.md at line 71, Replace the
hardcoded path "/home/ubuntu/nemoclaw" in the SSH command example in SKILL.md
with a user-agnostic expression (e.g., using tilde ~ or $HOME) so the command
works across different usernames/images; update the example SSH invocation that
currently shows ssh <instance-name> 'cd /home/ubuntu/nemoclaw && set -a && .
.env && set +a && openshell term' to use a portable path like cd ~/nemoclaw or
cd "$HOME/nemoclaw" and keep the rest of the pipeline (set -a && . .env && set
+a && openshell term) unchanged.


*Full details in `references/how-it-works.md`.*

NVIDIA NemoClaw is an open source reference stack that simplifies running [OpenClaw](https://openclaw.ai) always-on assistants.
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

Use “open-source” as a compound adjective.

Hyphenate “open-source” where it modifies a noun for consistency and readability.

Also applies to: 143-143

🧰 Tools
🪛 LanguageTool

[grammar] ~138-~138: Use a hyphen to join words.
Context: ...-works.md`.* NVIDIA NemoClaw is an open source reference stack that simplifies r...

(QB_NEW_EN_HYPHEN)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.agents/skills/nemoclaw-overview/SKILL.md at line 138, Replace instances of
the phrase "open source" used as a modifier with the hyphenated compound
adjective "open-source"—e.g., change the sentence starting "NVIDIA NemoClaw is
an open source reference stack..." to "NVIDIA NemoClaw is an open-source
reference stack..." and apply the same change to the other occurrence of "open
source" in the document (the one referenced near the same paragraph).

Comment on lines +1 to +4
# Commands

The `nemoclaw` CLI is the primary interface for managing NemoClaw sandboxes. It is installed when you run `npm install -g nemoclaw`.

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

Add missing SPDX header to this file.

This Markdown source needs the required SPDX copyright/license comment.

As per coding guidelines, "Every source file must include an SPDX license header ... (HTML comments for Markdown)".

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.agents/skills/nemoclaw-reference/references/commands.md around lines 1 - 4,
Add the required SPDX license header as an HTML comment at the very top of this
Markdown file (above the "# Commands" heading); use the repository's canonical
SPDX identifier (e.g., "SPDX-License-Identifier: <LICENSE-ID>") so the file
contains <!-- SPDX-License-Identifier: <LICENSE-ID> --> as the first line.
Ensure the comment matches the project's license and is placed before any
content so linters/tools recognize it.

Comment on lines +18 to +20
The installer checks for a supported OS and architecture before proceeding.
NemoClaw requires Linux Ubuntu 22.04 LTS or later.
If you see an unsupported platform error, verify that you are running on a supported Linux distribution.
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

Platform requirement statement conflicts with macOS guidance in this same page.

Line 19 says NemoClaw requires Ubuntu 22.04+, but this doc also provides explicit macOS install/runtime paths (for example, Lines 56 and 58-66). This inconsistency will send macOS users down the wrong path.

🛠️ Proposed doc fix
-The installer checks for a supported OS and architecture before proceeding.
-NemoClaw requires Linux Ubuntu 22.04 LTS or later.
-If you see an unsupported platform error, verify that you are running on a supported Linux distribution.
+The installer checks for a supported OS and architecture before proceeding.
+If you see an unsupported platform error, verify your platform against the current tested/caveated matrix in the project docs.
+On Linux, Ubuntu 22.04 LTS or later is the recommended baseline.
📝 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
The installer checks for a supported OS and architecture before proceeding.
NemoClaw requires Linux Ubuntu 22.04 LTS or later.
If you see an unsupported platform error, verify that you are running on a supported Linux distribution.
The installer checks for a supported OS and architecture before proceeding.
If you see an unsupported platform error, verify your platform against the current tested/caveated matrix in the project docs.
On Linux, Ubuntu 22.04 LTS or later is the recommended baseline.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.agents/skills/nemoclaw-reference/references/troubleshooting.md around lines
18 - 20, The doc currently asserts "NemoClaw requires Linux Ubuntu 22.04 LTS or
later" while later sections provide macOS install/runtime instructions, causing
a contradiction; update the troubleshooting.md by either removing or modifying
the strict Ubuntu-only sentence ("NemoClaw requires Linux Ubuntu 22.04 LTS or
later") to accurately reflect supported platforms, or split into two clear
subsections: one titled "Supported Linux" that specifies Ubuntu 22.04+ and
installer checks ("The installer checks for a supported OS and architecture
before proceeding") and another titled "macOS (supported/experimental)" that
links to the macOS install/runtime paths described elsewhere, ensuring the
initial platform requirement statement aligns with the macOS instructions.

Comment on lines +1 to +6
---
name: "nemoclaw-reference"
description: "Describes how NemoClaw combines a CLI plugin with a versioned blueprint to move OpenClaw into a controlled sandbox. Use when looking up NemoClaw architecture, plugin structure, or blueprint design. Lists all slash commands and standalone NemoClaw CLI commands. Use when looking up a command, checking command syntax, or browsing the CLI reference. Documents baseline network policy, filesystem rules, and operator approval flow. Use when reviewing default network policies, understanding egress controls, or looking up the approval flow. Diagnoses and resolves common NemoClaw installation, onboarding, and runtime issues. Use when troubleshooting errors, debugging sandbox problems, or resolving setup failures."
---

# NemoClaw Reference
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

Add SPDX header to this newly added skill file.

This Markdown source file needs the standard SPDX copyright/license header comment.

As per coding guidelines, "**/*.{js,ts,tsx,sh,md}: Every source file must include an SPDX license header ... (HTML comments for Markdown)."

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.agents/skills/nemoclaw-reference/SKILL.md around lines 1 - 6, The new
Markdown skill "nemoclaw-reference" is missing the required SPDX license header;
add the standard SPDX HTML comment header at the very top of the SKILL.md file
(above the YAML frontmatter) containing the SPDX-FileCopyrightText line and
SPDX-License-Identifier line so the file complies with the
"`**/*.{js,ts,tsx,sh,md}`" rule; locate the file by the skill name
"nemoclaw-reference" in the YAML frontmatter and insert the SPDX HTML comment
header immediately before the existing content.

Comment on lines +1 to +5
# Workspace Files

OpenClaw stores agent identity, behavior, and memory in a set of Markdown files inside the sandbox.
These files live at `/sandbox/.openclaw/workspace/` and are read by the agent at the start of every session.

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

Missing SPDX header in new Markdown file.

Please add the required SPDX copyright and license header comment at the top.

As per coding guidelines, "Every source file must include an SPDX license header ... (HTML comments for Markdown)".

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.agents/skills/nemoclaw-workspace/references/workspace-files.md around lines
1 - 5, Add an SPDX header as an HTML comment at the very top of
workspace-files.md: include an SPDX-FileCopyrightText line with the correct year
and copyright holder and an SPDX-License-Identifier line with the project
license (e.g., MIT), ensuring both are wrapped in the Markdown HTML comment
syntax and placed before any other content so the file complies with the
required license header policy.

Cross-checked ci/platform-matrix.json against PRD v0.2 (April 3).
Added DGX Station, RTX Spark, NVIDIA RTX, and NVIDIA RTX Pro as
deferred entries — tracked in metadata but excluded from user-facing
tables since setup paths are not yet validated.

Added _prd_note on WSL2 entry to track that PRD splits x86 and ARM
separately; user-facing notes stay clean.

Updated generate-platform-docs.py to skip deferred entries when
building markdown tables.

Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.pre-commit-config.yaml:
- Around line 76-88: The docs-to-skills hook (id "docs-to-skills") can miss
changes produced by the platform-matrix-sync hook (id "platform-matrix-sync")
because it only triggers on docs/*.md and runs at the same priority; update the
docs-to-skills hook so it also triggers when ci/platform-matrix.json changes OR
make it run after platform-matrix-sync (e.g., raise its priority number to run
later) and ensure pass_filenames remains appropriate so regenerated
.agents/skills/ are added after platform-matrix-sync modifies docs; reference
the "entry" commands and hook ids "docs-to-skills" and "platform-matrix-sync"
when making the change.

In `@scripts/generate-platform-docs.py`:
- Around line 136-138: Currently missing configured target files are silently
skipped; change the branch that checks path.exists() to treat a missing
configured output as a hard error: print or log a clear error message including
path.relative_to(REPO_ROOT) and then terminate with a non-zero exit (e.g., raise
SystemExit or call sys.exit(1)). Alternatively, collect all missing paths during
the loop and after the loop print the list and exit non-zero so CI fails if any
configured target is absent; modify the code around the existing if not
path.exists(): block (referencing path and REPO_ROOT) to implement this
behavior.
- Around line 97-103: The current substitution silently treats unmatched
sentinel markers as "in sync" because new_text == text when an opening marker
exists without a matching closing marker; detect this by checking for the
opening marker string f"<!-- {sentinel_name}:begin -->" present in text and the
closing marker f"<!-- {sentinel_name}:end -->" absent, and fail fast (raise a
RuntimeError or ValueError with a clear message including sentinel_name) instead
of returning False. Update the code around pattern, replacement, new_text and
the _sentinel_re usage so that before returning/accepting "no change" you
explicitly check for the unmatched begin/end pair and raise the error if found.
🪄 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: Pro

Run ID: ccc20801-a37c-4422-a138-cdaf86a57af5

📥 Commits

Reviewing files that changed from the base of the PR and between d9aa266 and 2215ba6.

📒 Files selected for processing (13)
  • .agents/skills/nemoclaw-user-configure-inference/SKILL.md
  • .agents/skills/nemoclaw-user-configure-inference/references/inference-options.md
  • .agents/skills/nemoclaw-user-reference/references/commands.md
  • .agents/skills/nemoclaw-user-reference/references/troubleshooting.md
  • .github/workflows/pr.yaml
  • .pre-commit-config.yaml
  • README.md
  • ci/platform-matrix.json
  • docs/get-started/quickstart.md
  • docs/inference/inference-options.md
  • docs/reference/commands.md
  • docs/reference/troubleshooting.md
  • scripts/generate-platform-docs.py
✅ Files skipped from review due to trivial changes (6)
  • docs/reference/commands.md
  • .agents/skills/nemoclaw-user-configure-inference/references/inference-options.md
  • docs/inference/inference-options.md
  • .agents/skills/nemoclaw-user-reference/references/commands.md
  • docs/get-started/quickstart.md
  • ci/platform-matrix.json
🚧 Files skipped from review as they are similar to previous changes (2)
  • README.md
  • .agents/skills/nemoclaw-user-reference/references/troubleshooting.md

@prekshivyas prekshivyas force-pushed the docs/platform-status-alignment-1402 branch 2 times, most recently from bfb3ab4 to d3780e5 Compare April 8, 2026 19:52
…orm table

The prerequisites table said "Linux | Ubuntu 22.04 LTS or later" and
troubleshooting said "NemoClaw requires Linux Ubuntu 22.04 LTS or
later", but the Container Runtimes table also lists macOS and WSL2
as valid paths. Changed the OS row to point to the platform table
instead of hardcoding a single OS.

Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@prekshivyas prekshivyas force-pushed the docs/platform-status-alignment-1402 branch from d3780e5 to 06148dd Compare April 8, 2026 19:53
prekshivyas and others added 2 commits April 8, 2026 13:10
…ness

- Run platform-matrix-sync at priority 3 (before docs-to-skills at 4)
  so matrix changes patch docs first, then skills regeneration picks
  up the updated docs
- Add ci/platform-matrix.json to docs-to-skills trigger files so
  skills regenerate when the matrix changes
- Fail fast on malformed sentinel blocks (begin without end)
- Treat missing configured target files as errors instead of silently
  skipping

Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@prekshivyas prekshivyas self-assigned this Apr 8, 2026
@prekshivyas prekshivyas requested review from kjw3 and miyoungc April 8, 2026 20:18
@prekshivyas
Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 8, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

miyoungc and others added 2 commits April 8, 2026 13:58
The installer handles OpenShell installation automatically during
nemoclaw onboard. Listing it as a prerequisite implies the user
needs to install it separately, which is misleading.

Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@prekshivyas prekshivyas requested a review from miyoungc April 8, 2026 21:16
Copy link
Copy Markdown
Contributor

@cv cv left a comment

Choose a reason for hiding this comment

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

LGTM — security review PASS.

  • Docs/automation only — no runtime code, security policy, or dependency changes
  • New script uses only Python stdlib (no network, eval, subprocess)
  • CI workflow step is read-only (--check mode)
  • Pre-commit hook scoped to explicit file paths
  • docs-to-skills prefix fix from nemoclaw to nemoclaw-user is correct

No concerns.

@cv cv merged commit ff14ce3 into NVIDIA:main Apr 8, 2026
7 of 8 checks passed
@prekshivyas prekshivyas deleted the docs/platform-status-alignment-1402 branch April 8, 2026 22:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[NemoClaw][doc] Platform and provider support statuses do not match PRD definitions

3 participants