Skip to content

docs: Documentation restructuring - #72

Merged
rapids-bot[bot] merged 15 commits into
NVIDIA:mainfrom
dagardner-nv:david-docs-layout
Jul 17, 2026
Merged

rapids-bot[bot] merged 15 commits into
NVIDIA:mainfrom
dagardner-nv:david-docs-layout

Conversation

@dagardner-nv

@dagardner-nv dagardner-nv commented Jul 15, 2026 •

Copy link
Copy Markdown
Collaborator

Overview

  • Ensure first usage of the project name is always "NVIDIA NeMo Fabric", and "NeMo Fabric" after that.
  • Restructure documentation to conform to tech-docs requirements
  • Update the review-doc-style skill to tell agents not to update the contents under docs/reference/api directly
  • Add a simple quickstart
  • Add legal/license documents
  • Add a stubbed out release-notes file

Where should the reviewer start?

  • docs/index.yml

Related Issues: (use one of the action keywords Closes / Fixes / Resolves / Relates to)

  • Closes FABRIC-83

  • I confirm this contribution is my own work, or I have the right to submit it under this project's license.

  • I searched existing issues and open pull requests, and this does not duplicate existing work.

Summary by CodeRabbit

  • Documentation
    • Added an updated NeMo Fabric Quickstart (with install steps and runnable Python example).
    • Updated documentation navigation to introduce an “About NeMo Fabric” section (Overview, Release Notes) and added Resources→Legal pages.
    • Standardized product naming to “NVIDIA NeMo Fabric / NeMo Fabric” across guides and integrations (Claude, Codex, Harbor), including clearer SDK and setup wording.
    • Reworked the install guide into clearer package vs source flows.
  • Tests
    • Updated doc-routing test coverage to point to the new Overview content and headings.

Signed-off-by: David Gardner <dagardner@nvidia.com>
@coderabbitai

coderabbitai Bot commented Jul 15, 2026 •

Copy link
Copy Markdown

Review Change Stack

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

Documentation navigation, onboarding guides, SDK and integration references, product naming, review guidance, and legal pages are updated for NVIDIA NeMo Fabric.

Changes

Documentation refresh

Layer / File(s) Summary
Documentation structure and landing references
README.md, docs/index.yml, docs/about-nemo-fabric/*, tests/docs/*, fern/docs.yml
Navigation adds About and Resources sections, enables multi-source documentation, links point to the new overview, and landing-page assertions use updated headings.
Installation and quickstart guides
docs/getting-started/install.mdx, docs/getting-started/quickstart.mdx
Installation now documents package and source workflows, while Quickstart adds Hermes installation and a runnable FabricConfig example.
SDK and integration documentation
docs/sdk/python.mdx, docs/integrations/*, .agents/skills/review-doc-style/SKILL.md
SDK and adapter documentation adopts NeMo Fabric terminology and expands runtime, authentication, Relay, and review-style guidance.
Legal documentation pages
docs/resources/legal/*
Legal navigation and pages for licensing and open-source attribution are added.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related PRs

  • NVIDIA/NeMo-Fabric#60: Modifies the Harbor integration documentation page, creating overlapping documentation changes.
  • NVIDIA/NeMo-Fabric#78: Updates related landing-page routing and documentation test expectations.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title is concise, uses an allowed Conventional Commits type, and matches the documentation restructuring changes.
Description check ✅ Passed The description includes the required Overview, reviewer start point, related issue reference, and confirmation checkboxes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@github-actions

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 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 `@tests/docs/test_python_api_docs.py`:
- Line 19: Extend the documentation coverage in test_python_api_docs.py beyond
the LANDING_PAGE assertion to validate the new Quickstart and Legal navigation
entries in docs/index.yml, including that each entry references an existing
file. Reuse the test’s existing parsing and assertion patterns, preserving
current landing-page checks.
🪄 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: ASSERTIVE

Plan: Enterprise

Run ID: eef7c23f-524e-4860-9ddb-47c8ab0818da

📥 Commits

Reviewing files that changed from the base of the PR and between d998422 and 1d9af90.

📒 Files selected for processing (7)
  • README.md
  • docs/getting-started/quickstart.mdx
  • docs/index.yml
  • docs/overview.mdx
  • docs/resources/legal.mdx
  • docs/sdk/python.mdx
  • tests/docs/test_python_api_docs.py
📜 Review details
⏰ Context from checks skipped due to timeout. (11)
  • GitHub Check: Build and publish docs
  • GitHub Check: Pre-commit
  • GitHub Check: Test (Python 3.14, arm64)
  • GitHub Check: Test (Python 3.12, x86_64)
  • GitHub Check: Test (Python 3.11, x86_64)
  • GitHub Check: Test (Python 3.13, x86_64)
  • GitHub Check: Test (Python 3.14, x86_64)
  • GitHub Check: Test (Python 3.13, arm64)
  • GitHub Check: Test (Python 3.12, arm64)
  • GitHub Check: Test (Python 3.11, arm64)
  • GitHub Check: Build wheels (arm64)
🧰 Additional context used
📓 Path-based instructions (26)
**/*.{md,mdx,html}

📄 CodeRabbit inference engine (CONTRIBUTING.md)

Changes affecting public behavior, adapters, examples, or workspace structure must update the corresponding documentation; public API changes require updated SDK or API reference documentation.

Files:

  • docs/resources/legal.mdx
  • docs/getting-started/quickstart.mdx
  • README.md
  • docs/overview.mdx
  • docs/sdk/python.mdx
**/*.{md,mdx}

📄 CodeRabbit inference engine (CONTRIBUTING.md)

For docs site changes, run just docs to regenerate Python and Rust API references and validate Fern configuration.

**/*.{md,mdx}: Prioritize factual accuracy in NeMo Fabric documentation and keep commands, package names, APIs, file paths, repository layout, entry points, support claims, examples, and procedures aligned with current repository behavior.
Update relevant entry-point documentation when public behavior changes, including README.md, docs/index.yml, package or crate READMEs, and adapter or integration READMEs.
Use {/* ... */} delimiters for top-of-file SPDX comments in MDX files, not HTML comment delimiters.
Capitalize NVIDIA correctly and use consistent current repository terminology, product names, APIs, and feature names.
Format commands, code, expressions, file names, paths, and filenames as inline code where appropriate.
Use title case for technical-documentation headings.
Introduce code blocks, tables, and lists with complete lead-in sentences.
Use descriptive link text instead of raw URLs or generic labels such as here.
Write procedures as short, imperative, parallel, easy-to-scan steps; prefer active voice, present tense, plain English, and concise sentences.
Use after instead of once when expressing temporal sequence, and use can instead of may when describing possibility rather than permission.
Use unambiguous date formats and avoid ordinal dates in body text.
When reviewing documentation, report findings in severity order under Must fix, Should fix, and Nice to have, with file paths, line references, explanations, and concrete rewrites or directions.

Files:

  • docs/resources/legal.mdx
  • docs/getting-started/quickstart.mdx
  • README.md
  • docs/overview.mdx
  • docs/sdk/python.mdx
**/*

📄 CodeRabbit inference engine (CONTRIBUTING.md)

**/*: All source files must include the specified SPDX copyright and Apache-2.0 license header using the comment syntax appropriate to the file type.
Release tags must use raw Rust-compatible SemVer without a leading v, such as 0.1.0 or 0.1.0-rc.1.

**/*: Before implementing, explicitly state assumptions, surface ambiguity and tradeoffs, present multiple interpretations when relevant, and ask for clarification rather than silently deciding or proceeding when requirements are unclear.
Prefer the minimum code needed to solve the requested problem: avoid speculative features, unnecessary abstractions, unrequested flexibility, and handling of impossible scenarios; simplify overcomplicated solutions.
When editing existing code, make surgical changes only: do not modify unrelated code, comments, formatting, or pre-existing dead code; match the existing style, and remove only unused imports, variables, or functions introduced by your changes.
Define verifiable success criteria for each task, such as writing regression tests for bugs and invalid-input tests for validation, then verify the implementation against those criteria. For multi-step work, state a brief plan with a verification check for each step.

**/*: Keep pull request branch scope coherent and reviewable.
Run relevant tests under validate-change before opening or updating a pull request.
Format changed files with the language-native formatter.
Update documentation and examples for public behavior changes.
Update dependent maintainer or consumer guidance when code changes affect APIs, bindings, commands, paths, packaging guidance, or best practices.
Use Conventional Commit style for pull request titles: <type>: <concise imperative summary>, choosing the type from the actual change surface. Use fix only for user-facing or runtime product-code bug fixes.
A pull request body must include #### Overview, #### Details, #### Validation, #### Where should the reviewer start?, and `#### Related ...

Files:

  • docs/resources/legal.mdx
  • docs/index.yml
  • docs/getting-started/quickstart.mdx
  • README.md
  • docs/overview.mdx
  • tests/docs/test_python_api_docs.py
  • docs/sdk/python.mdx
**/*.mdx

📄 CodeRabbit inference engine (CONTRIBUTING.md)

MDX files must use the specified SPDX header in a JSX comment.

In MDX files, use JSX comment delimiters ({/* and */}) for top-of-file comments, including SPDX headers; do not use HTML comments.

Files:

  • docs/resources/legal.mdx
  • docs/getting-started/quickstart.mdx
  • docs/overview.mdx
  • docs/sdk/python.mdx
{README.md,docs/**/*.{md,mdx,yml},examples/**/*.{md,mdx,yml}}

📄 CodeRabbit inference engine (.agents/skills/contribute-docs/SKILL.md)

Keep package names, repository references, and build commands current in documentation and examples.

Files:

  • docs/resources/legal.mdx
  • docs/index.yml
  • docs/getting-started/quickstart.mdx
  • README.md
  • docs/overview.mdx
  • docs/sdk/python.mdx
{docs/**/*.{md,mdx,yml},examples/**/*.{md,mdx,yml}}

📄 CodeRabbit inference engine (.agents/skills/contribute-docs/SKILL.md)

Update relevant getting-started, reference, adapter, and example documentation when the corresponding examples or adapters change.

Files:

  • docs/resources/legal.mdx
  • docs/index.yml
  • docs/getting-started/quickstart.mdx
  • docs/overview.mdx
  • docs/sdk/python.mdx
docs/**/*.{md,mdx,yml}

📄 CodeRabbit inference engine (.agents/skills/contribute-docs/SKILL.md)

Run just docs when the documentation site changes.

Files:

  • docs/resources/legal.mdx
  • docs/index.yml
  • docs/getting-started/quickstart.mdx
  • docs/overview.mdx
  • docs/sdk/python.mdx
{docs/**/*,.github/workflows/ci_python.yml,.github/workflows/ci_rust.yml,justfile}

📄 CodeRabbit inference engine (.agents/skills/maintain-packaging/SKILL.md)

Use the current install, import, build, test, clean, and documentation commands consistently in documentation, examples, CI workflows, and just recipes.

Files:

  • docs/resources/legal.mdx
  • docs/index.yml
  • docs/getting-started/quickstart.mdx
  • docs/overview.mdx
  • docs/sdk/python.mdx
{docs/**/*,.github/workflows/ci_python.yml,.github/workflows/ci_rust.yml}

📄 CodeRabbit inference engine (.agents/skills/maintain-packaging/SKILL.md)

Reflect public packaging changes in release-facing documentation and examples.

Files:

  • docs/resources/legal.mdx
  • docs/index.yml
  • docs/getting-started/quickstart.mdx
  • docs/overview.mdx
  • docs/sdk/python.mdx
**/*.{md,mdx,rst}

📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-guide.md)

**/*.{md,mdx,rst}: For NeMo Fabric documentation, verify technical claims against the current repository, public API, or documented command before reviewing style.
Always spell NVIDIA in all caps; do not use Nvidia, nvidia, or NV.
Format commands, code elements, expressions, package names, file names, and paths as inline code.
Use descriptive link text; avoid raw URLs and weak anchors such as here or read more.
Use title case consistently for technical documentation headings.
Introduce code blocks, lists, tables, and images with complete sentences.
Write procedures as imperative, parallel steps; split long procedures into smaller tasks.
Prefer active voice, present tense, short sentences, contractions, and plain English while preserving necessary technical precision.
Use can for possibility and reserve may for permission.
Use after for temporal relationships instead of once, and prefer refer to over see when directing readers to another resource.
Avoid culture-specific idioms, unnecessary Latinisms, jokes, and marketing exaggeration in technical documentation.
Spell out months in body text, avoid ordinal dates, and use clear time zones.
Spell out whole numbers from zero through nine unless they are technical values, parameters, versions, or UI values; use numerals for 10 or greater and commas in thousands.
Do not add trademark symbols to learning-oriented documentation unless the source, platform, or legal guidance explicitly requires them.
Do not replace precise technical terms with simpler words when doing so would lose precision.
Do not flag passive voice when the actor is unknown or the action is the important part.
Do not rewrite API names, package names, command flags, or code literals for style.

**/*.{md,mdx,rst}: Use consistent title case for technical-document headings and table headers; avoid quotation marks, ampersands, and exclamation marks in headings, while preserving official product, event, research, and whitepaper title ...

Files:

  • docs/resources/legal.mdx
  • docs/getting-started/quickstart.mdx
  • README.md
  • docs/overview.mdx
  • docs/sdk/python.mdx
docs/**/*

📄 CodeRabbit inference engine (.agents/skills/validate-change/SKILL.md)

For documentation or examples changes, run just docs when practical and verify documented commands against the current repository.

Files:

  • docs/resources/legal.mdx
  • docs/index.yml
  • docs/getting-started/quickstart.mdx
  • docs/overview.mdx
  • docs/sdk/python.mdx
{docs/**,README.md,AGENTS.md}

⚙️ CodeRabbit configuration file

{docs/**,README.md,AGENTS.md}: Review documentation for technical accuracy against the current API, command correctness, and consistency with generated schemas.

Files:

  • docs/resources/legal.mdx
  • docs/index.yml
  • docs/getting-started/quickstart.mdx
  • README.md
  • docs/overview.mdx
  • docs/sdk/python.mdx
**/*.{toml,yaml,yml,sh,bash}

📄 CodeRabbit inference engine (CONTRIBUTING.md)

TOML, YAML, and shell files must use the specified SPDX header with # comments.

Files:

  • docs/index.yml
**/*.{rs,py,pyi,json,yaml,yml}

📄 CodeRabbit inference engine (.agents/skills/contribute-api/SKILL.md)

Determine and update every affected public surface, including the CLI, PyO3 bindings, Python SDK, type stubs, schemas, and adapter contract, so they remain in parity.

Files:

  • docs/index.yml
  • tests/docs/test_python_api_docs.py
{README.md,docs/index.yml}

📄 CodeRabbit inference engine (.agents/skills/contribute-docs/SKILL.md)

Update README.md or docs/index.yml when documentation entry points or example reading paths change.

Files:

  • docs/index.yml
  • README.md
README.md

📄 CodeRabbit inference engine (CONTRIBUTING.md)

The root README.md must reflect the current workspace, supported adapters, and top-level documentation.

Update README.md when a small Fabric bug fix changes public behavior.

Files:

  • README.md
**/README.md

📄 CodeRabbit inference engine (CONTRIBUTING.md)

Update an adapter or example README.md when that adapter or example surface changes.

Files:

  • README.md
**/*.{html,md}

📄 CodeRabbit inference engine (CONTRIBUTING.md)

HTML and Markdown files must use the specified SPDX header in an HTML comment.

Files:

  • README.md
**/*.{md,rst}

📄 CodeRabbit inference engine (.agents/skills/contribute-api/SKILL.md)

Update documentation and examples in the same branch as the public API change.

Verify README and documentation entry points, package names, paths, examples, and public commands remain current after changes.

Files:

  • README.md
**/*.{md,rst,txt,adoc}

📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-language-mechanics.md)

**/*.{md,rst,txt,adoc}: For technical documentation, use professional, active, conversational, engaging, precise, and plain-English prose. Prefer active voice, present tense, short sentences, and scannable paragraphs. Avoid casual or imprecise language, swearing, threats, insults, jokes, puns, culture-specific idioms, marketing exaggeration, and unsupported third-party comparisons.
Use can for possibility and reserve may for permission; use after for temporal order; use refer to for cross-references; prefer short direct sentences and specific verbs; avoid unnecessary please in technical documentation.
Prefer active voice when the actor matters. Passive voice is acceptable when the actor is unknown or irrelevant, when the action or result is the focus, or in programmer documentation.
Use natural contractions in conversational technical prose, but do not force them in formal legal copy, API references, or generated text.
Prefer simpler English over Latinisms: use for example or such as instead of e.g., and so on instead of etc., that is instead of i.e., compared to instead of vs., and by, through, or using instead of via. Use industry-standard terms such as in silico, in vitro, and in vivo when appropriate, and italicize them in running text.
Use that without commas for essential clauses, and which with commas for nonessential clauses.
Format dates and times clearly: spell out months in body text; use forms such as June 12, 2025; avoid numeric or ordinal dates; capitalize days; use 12-hour time when appropriate; include a space before a.m. or p.m.; use ET and PT for needed time zones; avoid 24/7; and prefer from 12:30 to 1:00 p.m. for prose ranges.
Format numbers consistently: spell out zero through nine in body text, use numerals for 10 or greater and for technical values, use commas in thousands, do not begin a sentence with a numeral, spell out ordinals, and use numerals consistently within a category wh...

Files:

  • README.md
**/*.py

📄 CodeRabbit inference engine (CONTRIBUTING.md)

**/*.py: Python public APIs must use type annotations, and native Python binding declarations must remain synchronized with their Rust implementations.
Python files must begin with the specified # SPDX copyright and Apache-2.0 license header.

Files:

  • tests/docs/test_python_api_docs.py
**/*.{rs,py}

📄 CodeRabbit inference engine (CONTRIBUTING.md)

**/*.{rs,py}: Use snake_case for Rust and Python functions and variables; use PascalCase for Rust types and Python classes.
Run tests for every language surface affected by a change. Changes touching the Rust core or public schemas require both Rust and Python test suites.
Public contract changes must keep native Python binding declarations synchronized with their Rust implementations.

Files:

  • tests/docs/test_python_api_docs.py
tests/**/*.py

📄 CodeRabbit inference engine (.agents/skills/python-tests/SKILL.md)

tests/**/*.py: Use Pytest to run Python tests.
Do not add @pytest.mark.asyncio to tests; async tests are automatically detected by the async runner.
Do not add -> None return annotations to test functions.
When mocking a class, use unittest.mock.MagicMock or AsyncMock, supplying spec when necessary; do not define a new mock class.
Prefix mocked class names with mock, not fake.
Prefer pytest fixtures over helper methods.
Define shared fixtures in conftest.py rather than repeating them across test files.
Define fixtures using @pytest.fixture(name="<fixture_name>"[, scope="<scope>"]) and a <fixture_name>_fixture function; specify scope only when it is not function.
Prefer pytest.mark.parametrize over separate tests for different input types.
Use @pytest.mark.usefixtures when a fixture is needed but its return value is unused.
Use os.environ to modify environment variables in tests; do not use monkeypatch.setenv, because the autouse restore_environ_fixture in tests/conftest.py restores the environment after each test.
Avoid defensive programming in tests; access expected data directly so missing data raises a clear error instead of being silently tolerated.
Run focused tests with uv run pytest -k "<pattern>" and all tests with uv run pytest.

Files:

  • tests/docs/test_python_api_docs.py
**/*.{py,pyi}

📄 CodeRabbit inference engine (.agents/skills/validate-change/SKILL.md)

When Python code or a Python-facing adapter changes, run just test-python.

Files:

  • tests/docs/test_python_api_docs.py
**/*.{rs,py,pyi,toml}

📄 CodeRabbit inference engine (.agents/skills/validate-change/SKILL.md)

When the PyO3 bridge or package metadata changes, run just build-python and cargo check -p fabric-python --locked.

Files:

  • tests/docs/test_python_api_docs.py
{tests/**,python/tests/**}

⚙️ CodeRabbit configuration file

{tests/**,python/tests/**}: Tests should cover the behavior promised by the changed API surface, including error paths, lifecycle cleanup, and SDK/native parity where relevant.

Files:

  • tests/docs/test_python_api_docs.py
🔇 Additional comments (6)
docs/index.yml (1)

5-12: LGTM!

Also applies to: 43-46

docs/getting-started/quickstart.mdx (1)

1-10: LGTM!

docs/resources/legal.mdx (1)

1-10: LGTM!

README.md (1)

189-189: LGTM!

docs/sdk/python.mdx (1)

25-25: LGTM!

docs/overview.mdx (1)

123-123: LGTM!

Comment thread tests/docs/test_python_api_docs.py Outdated
Signed-off-by: David Gardner <dagardner@nvidia.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/about-nemo-fabric/overview.mdx`:
- Around line 44-58: Update the overview documentation around the architecture
diagram, interface table, and numbered workflow to add a complete introductory
sentence before each block, immediately after its heading. Keep the existing
diagram, table, and workflow content unchanged, and ensure each lead-in clearly
introduces the material that follows.
- Around line 10-18: Update the adapter list and related wording in the
overview, including the landing-page diagram, to match the supported adapters
documented in README.md by adding Claude and LangChain Deep Agents, or clearly
mark the existing examples as illustrative rather than exhaustive.
- Around line 82-87: Update the virtual-environment setup guidance in the Hermes
adapter documentation to constrain the Python version to the adapter-supported
range of 3.11–3.13. Replace the unrestricted “preferred Python version” wording
with an explicit supported-version qualification while preserving the existing
uv commands.
- Line 8: Convert the technical-documentation headings and table headers in the
overview content to consistent title case, including “One Contract for Agent
Harnesses” and “What Fabric Gives You.” Update the corresponding heading
assertions in test_python_api_docs.py to match the new capitalization,
preserving all heading structure and content.
🪄 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: ASSERTIVE

Plan: Enterprise

Run ID: 1927880d-1288-4c9a-9572-ed56973df553

📥 Commits

Reviewing files that changed from the base of the PR and between 1d9af90 and 5a21d35.

📒 Files selected for processing (6)
  • README.md
  • docs/about-nemo-fabric/overview.mdx
  • docs/about-nemo-fabric/release-notes.mdx
  • docs/index.yml
  • docs/sdk/python.mdx
  • tests/docs/test_python_api_docs.py
📜 Review details
⏰ Context from checks skipped due to timeout. (12)
  • GitHub Check: Build and publish docs
  • GitHub Check: Test (Python 3.14, arm64)
  • GitHub Check: Test (Python 3.13, arm64)
  • GitHub Check: Test (Python 3.12, arm64)
  • GitHub Check: Test (Python 3.11, arm64)
  • GitHub Check: Pre-commit
  • GitHub Check: Test (Python 3.11, x86_64)
  • GitHub Check: Test (Python 3.12, x86_64)
  • GitHub Check: Test (Python 3.13, x86_64)
  • GitHub Check: Test (Python 3.14, x86_64)
  • GitHub Check: Build wheels (x86_64)
  • GitHub Check: Build wheels (arm64)
🧰 Additional context used
📓 Path-based instructions (26)
**/*.{md,mdx,html}

📄 CodeRabbit inference engine (CONTRIBUTING.md)

Changes affecting public behavior, adapters, examples, or workspace structure must update the corresponding documentation; public API changes require updated SDK or API reference documentation.

Files:

  • README.md
  • docs/about-nemo-fabric/release-notes.mdx
  • docs/sdk/python.mdx
  • docs/about-nemo-fabric/overview.mdx
README.md

📄 CodeRabbit inference engine (CONTRIBUTING.md)

The root README.md must reflect the current workspace, supported adapters, and top-level documentation.

Update README.md when a small Fabric bug fix changes public behavior.

Files:

  • README.md
**/README.md

📄 CodeRabbit inference engine (CONTRIBUTING.md)

Update an adapter or example README.md when that adapter or example surface changes.

Files:

  • README.md
**/*.{md,mdx}

📄 CodeRabbit inference engine (CONTRIBUTING.md)

For docs site changes, run just docs to regenerate Python and Rust API references and validate Fern configuration.

**/*.{md,mdx}: Prioritize factual accuracy in NeMo Fabric documentation and keep commands, package names, APIs, file paths, repository layout, entry points, support claims, examples, and procedures aligned with current repository behavior.
Update relevant entry-point documentation when public behavior changes, including README.md, docs/index.yml, package or crate READMEs, and adapter or integration READMEs.
Use {/* ... */} delimiters for top-of-file SPDX comments in MDX files, not HTML comment delimiters.
Capitalize NVIDIA correctly and use consistent current repository terminology, product names, APIs, and feature names.
Format commands, code, expressions, file names, paths, and filenames as inline code where appropriate.
Use title case for technical-documentation headings.
Introduce code blocks, tables, and lists with complete lead-in sentences.
Use descriptive link text instead of raw URLs or generic labels such as here.
Write procedures as short, imperative, parallel, easy-to-scan steps; prefer active voice, present tense, plain English, and concise sentences.
Use after instead of once when expressing temporal sequence, and use can instead of may when describing possibility rather than permission.
Use unambiguous date formats and avoid ordinal dates in body text.
When reviewing documentation, report findings in severity order under Must fix, Should fix, and Nice to have, with file paths, line references, explanations, and concrete rewrites or directions.

Files:

  • README.md
  • docs/about-nemo-fabric/release-notes.mdx
  • docs/sdk/python.mdx
  • docs/about-nemo-fabric/overview.mdx
**/*

📄 CodeRabbit inference engine (CONTRIBUTING.md)

**/*: All source files must include the specified SPDX copyright and Apache-2.0 license header using the comment syntax appropriate to the file type.
Release tags must use raw Rust-compatible SemVer without a leading v, such as 0.1.0 or 0.1.0-rc.1.

**/*: Before implementing, explicitly state assumptions, surface ambiguity and tradeoffs, present multiple interpretations when relevant, and ask for clarification rather than silently deciding or proceeding when requirements are unclear.
Prefer the minimum code needed to solve the requested problem: avoid speculative features, unnecessary abstractions, unrequested flexibility, and handling of impossible scenarios; simplify overcomplicated solutions.
When editing existing code, make surgical changes only: do not modify unrelated code, comments, formatting, or pre-existing dead code; match the existing style, and remove only unused imports, variables, or functions introduced by your changes.
Define verifiable success criteria for each task, such as writing regression tests for bugs and invalid-input tests for validation, then verify the implementation against those criteria. For multi-step work, state a brief plan with a verification check for each step.

**/*: Keep pull request branch scope coherent and reviewable.
Run relevant tests under validate-change before opening or updating a pull request.
Format changed files with the language-native formatter.
Update documentation and examples for public behavior changes.
Update dependent maintainer or consumer guidance when code changes affect APIs, bindings, commands, paths, packaging guidance, or best practices.
Use Conventional Commit style for pull request titles: <type>: <concise imperative summary>, choosing the type from the actual change surface. Use fix only for user-facing or runtime product-code bug fixes.
A pull request body must include #### Overview, #### Details, #### Validation, #### Where should the reviewer start?, and `#### Related ...

Files:

  • README.md
  • docs/about-nemo-fabric/release-notes.mdx
  • docs/sdk/python.mdx
  • docs/about-nemo-fabric/overview.mdx
  • tests/docs/test_python_api_docs.py
  • docs/index.yml
**/*.{html,md}

📄 CodeRabbit inference engine (CONTRIBUTING.md)

HTML and Markdown files must use the specified SPDX header in an HTML comment.

Files:

  • README.md
**/*.{md,rst}

📄 CodeRabbit inference engine (.agents/skills/contribute-api/SKILL.md)

Update documentation and examples in the same branch as the public API change.

Verify README and documentation entry points, package names, paths, examples, and public commands remain current after changes.

Files:

  • README.md
{README.md,docs/**/*.{md,mdx,yml},examples/**/*.{md,mdx,yml}}

📄 CodeRabbit inference engine (.agents/skills/contribute-docs/SKILL.md)

Keep package names, repository references, and build commands current in documentation and examples.

Files:

  • README.md
  • docs/about-nemo-fabric/release-notes.mdx
  • docs/sdk/python.mdx
  • docs/about-nemo-fabric/overview.mdx
  • docs/index.yml
{README.md,docs/index.yml}

📄 CodeRabbit inference engine (.agents/skills/contribute-docs/SKILL.md)

Update README.md or docs/index.yml when documentation entry points or example reading paths change.

Files:

  • README.md
  • docs/index.yml
**/*.{md,mdx,rst}

📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-guide.md)

**/*.{md,mdx,rst}: For NeMo Fabric documentation, verify technical claims against the current repository, public API, or documented command before reviewing style.
Always spell NVIDIA in all caps; do not use Nvidia, nvidia, or NV.
Format commands, code elements, expressions, package names, file names, and paths as inline code.
Use descriptive link text; avoid raw URLs and weak anchors such as here or read more.
Use title case consistently for technical documentation headings.
Introduce code blocks, lists, tables, and images with complete sentences.
Write procedures as imperative, parallel steps; split long procedures into smaller tasks.
Prefer active voice, present tense, short sentences, contractions, and plain English while preserving necessary technical precision.
Use can for possibility and reserve may for permission.
Use after for temporal relationships instead of once, and prefer refer to over see when directing readers to another resource.
Avoid culture-specific idioms, unnecessary Latinisms, jokes, and marketing exaggeration in technical documentation.
Spell out months in body text, avoid ordinal dates, and use clear time zones.
Spell out whole numbers from zero through nine unless they are technical values, parameters, versions, or UI values; use numerals for 10 or greater and commas in thousands.
Do not add trademark symbols to learning-oriented documentation unless the source, platform, or legal guidance explicitly requires them.
Do not replace precise technical terms with simpler words when doing so would lose precision.
Do not flag passive voice when the actor is unknown or the action is the important part.
Do not rewrite API names, package names, command flags, or code literals for style.

**/*.{md,mdx,rst}: Use consistent title case for technical-document headings and table headers; avoid quotation marks, ampersands, and exclamation marks in headings, while preserving official product, event, research, and whitepaper title ...

Files:

  • README.md
  • docs/about-nemo-fabric/release-notes.mdx
  • docs/sdk/python.mdx
  • docs/about-nemo-fabric/overview.mdx
**/*.{md,rst,txt,adoc}

📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-language-mechanics.md)

**/*.{md,rst,txt,adoc}: For technical documentation, use professional, active, conversational, engaging, precise, and plain-English prose. Prefer active voice, present tense, short sentences, and scannable paragraphs. Avoid casual or imprecise language, swearing, threats, insults, jokes, puns, culture-specific idioms, marketing exaggeration, and unsupported third-party comparisons.
Use can for possibility and reserve may for permission; use after for temporal order; use refer to for cross-references; prefer short direct sentences and specific verbs; avoid unnecessary please in technical documentation.
Prefer active voice when the actor matters. Passive voice is acceptable when the actor is unknown or irrelevant, when the action or result is the focus, or in programmer documentation.
Use natural contractions in conversational technical prose, but do not force them in formal legal copy, API references, or generated text.
Prefer simpler English over Latinisms: use for example or such as instead of e.g., and so on instead of etc., that is instead of i.e., compared to instead of vs., and by, through, or using instead of via. Use industry-standard terms such as in silico, in vitro, and in vivo when appropriate, and italicize them in running text.
Use that without commas for essential clauses, and which with commas for nonessential clauses.
Format dates and times clearly: spell out months in body text; use forms such as June 12, 2025; avoid numeric or ordinal dates; capitalize days; use 12-hour time when appropriate; include a space before a.m. or p.m.; use ET and PT for needed time zones; avoid 24/7; and prefer from 12:30 to 1:00 p.m. for prose ranges.
Format numbers consistently: spell out zero through nine in body text, use numerals for 10 or greater and for technical values, use commas in thousands, do not begin a sentence with a numeral, spell out ordinals, and use numerals consistently within a category wh...

Files:

  • README.md
{docs/**,README.md,AGENTS.md}

⚙️ CodeRabbit configuration file

{docs/**,README.md,AGENTS.md}: Review documentation for technical accuracy against the current API, command correctness, and consistency with generated schemas.

Files:

  • README.md
  • docs/about-nemo-fabric/release-notes.mdx
  • docs/sdk/python.mdx
  • docs/about-nemo-fabric/overview.mdx
  • docs/index.yml
**/*.mdx

📄 CodeRabbit inference engine (CONTRIBUTING.md)

MDX files must use the specified SPDX header in a JSX comment.

In MDX files, use JSX comment delimiters ({/* and */}) for top-of-file comments, including SPDX headers; do not use HTML comments.

Files:

  • docs/about-nemo-fabric/release-notes.mdx
  • docs/sdk/python.mdx
  • docs/about-nemo-fabric/overview.mdx
{docs/**/*.{md,mdx,yml},examples/**/*.{md,mdx,yml}}

📄 CodeRabbit inference engine (.agents/skills/contribute-docs/SKILL.md)

Update relevant getting-started, reference, adapter, and example documentation when the corresponding examples or adapters change.

Files:

  • docs/about-nemo-fabric/release-notes.mdx
  • docs/sdk/python.mdx
  • docs/about-nemo-fabric/overview.mdx
  • docs/index.yml
docs/**/*.{md,mdx,yml}

📄 CodeRabbit inference engine (.agents/skills/contribute-docs/SKILL.md)

Run just docs when the documentation site changes.

Files:

  • docs/about-nemo-fabric/release-notes.mdx
  • docs/sdk/python.mdx
  • docs/about-nemo-fabric/overview.mdx
  • docs/index.yml
{docs/**/*,.github/workflows/ci_python.yml,.github/workflows/ci_rust.yml,justfile}

📄 CodeRabbit inference engine (.agents/skills/maintain-packaging/SKILL.md)

Use the current install, import, build, test, clean, and documentation commands consistently in documentation, examples, CI workflows, and just recipes.

Files:

  • docs/about-nemo-fabric/release-notes.mdx
  • docs/sdk/python.mdx
  • docs/about-nemo-fabric/overview.mdx
  • docs/index.yml
{docs/**/*,.github/workflows/ci_python.yml,.github/workflows/ci_rust.yml}

📄 CodeRabbit inference engine (.agents/skills/maintain-packaging/SKILL.md)

Reflect public packaging changes in release-facing documentation and examples.

Files:

  • docs/about-nemo-fabric/release-notes.mdx
  • docs/sdk/python.mdx
  • docs/about-nemo-fabric/overview.mdx
  • docs/index.yml
docs/**/*

📄 CodeRabbit inference engine (.agents/skills/validate-change/SKILL.md)

For documentation or examples changes, run just docs when practical and verify documented commands against the current repository.

Files:

  • docs/about-nemo-fabric/release-notes.mdx
  • docs/sdk/python.mdx
  • docs/about-nemo-fabric/overview.mdx
  • docs/index.yml
**/*.py

📄 CodeRabbit inference engine (CONTRIBUTING.md)

**/*.py: Python public APIs must use type annotations, and native Python binding declarations must remain synchronized with their Rust implementations.
Python files must begin with the specified # SPDX copyright and Apache-2.0 license header.

Files:

  • tests/docs/test_python_api_docs.py
**/*.{rs,py}

📄 CodeRabbit inference engine (CONTRIBUTING.md)

**/*.{rs,py}: Use snake_case for Rust and Python functions and variables; use PascalCase for Rust types and Python classes.
Run tests for every language surface affected by a change. Changes touching the Rust core or public schemas require both Rust and Python test suites.
Public contract changes must keep native Python binding declarations synchronized with their Rust implementations.

Files:

  • tests/docs/test_python_api_docs.py
**/*.{rs,py,pyi,json,yaml,yml}

📄 CodeRabbit inference engine (.agents/skills/contribute-api/SKILL.md)

Determine and update every affected public surface, including the CLI, PyO3 bindings, Python SDK, type stubs, schemas, and adapter contract, so they remain in parity.

Files:

  • tests/docs/test_python_api_docs.py
  • docs/index.yml
tests/**/*.py

📄 CodeRabbit inference engine (.agents/skills/python-tests/SKILL.md)

tests/**/*.py: Use Pytest to run Python tests.
Do not add @pytest.mark.asyncio to tests; async tests are automatically detected by the async runner.
Do not add -> None return annotations to test functions.
When mocking a class, use unittest.mock.MagicMock or AsyncMock, supplying spec when necessary; do not define a new mock class.
Prefix mocked class names with mock, not fake.
Prefer pytest fixtures over helper methods.
Define shared fixtures in conftest.py rather than repeating them across test files.
Define fixtures using @pytest.fixture(name="<fixture_name>"[, scope="<scope>"]) and a <fixture_name>_fixture function; specify scope only when it is not function.
Prefer pytest.mark.parametrize over separate tests for different input types.
Use @pytest.mark.usefixtures when a fixture is needed but its return value is unused.
Use os.environ to modify environment variables in tests; do not use monkeypatch.setenv, because the autouse restore_environ_fixture in tests/conftest.py restores the environment after each test.
Avoid defensive programming in tests; access expected data directly so missing data raises a clear error instead of being silently tolerated.
Run focused tests with uv run pytest -k "<pattern>" and all tests with uv run pytest.

Files:

  • tests/docs/test_python_api_docs.py
**/*.{py,pyi}

📄 CodeRabbit inference engine (.agents/skills/validate-change/SKILL.md)

When Python code or a Python-facing adapter changes, run just test-python.

Files:

  • tests/docs/test_python_api_docs.py
**/*.{rs,py,pyi,toml}

📄 CodeRabbit inference engine (.agents/skills/validate-change/SKILL.md)

When the PyO3 bridge or package metadata changes, run just build-python and cargo check -p fabric-python --locked.

Files:

  • tests/docs/test_python_api_docs.py
{tests/**,python/tests/**}

⚙️ CodeRabbit configuration file

{tests/**,python/tests/**}: Tests should cover the behavior promised by the changed API surface, including error paths, lifecycle cleanup, and SDK/native parity where relevant.

Files:

  • tests/docs/test_python_api_docs.py
**/*.{toml,yaml,yml,sh,bash}

📄 CodeRabbit inference engine (CONTRIBUTING.md)

TOML, YAML, and shell files must use the specified SPDX header with # comments.

Files:

  • docs/index.yml
🔇 Additional comments (8)
tests/docs/test_python_api_docs.py (1)

19-19: Cover the new navigation entries in the documentation test.

docs/index.yml now adds Quickstart and Legal, but this test only updates LANDING_PAGE and checks landing content. Add assertions that both entries reference existing files while preserving the current landing-page checks. This is the same unresolved gap identified in the previous review.

Source: Path instructions

docs/index.yml (1)

5-10: LGTM!

Also applies to: 47-50

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

1-10: LGTM!

README.md (1)

189-189: LGTM!

docs/sdk/python.mdx (1)

25-25: LGTM!

docs/about-nemo-fabric/overview.mdx (3)

98-106: 🎯 Functional Correctness

Verify the sample’s import path.

README.md identifies examples/code_review_agent/config.py as the configuration location, but this sample imports from examples.code_review_agent. Confirm that the package root re-exports both names; otherwise import from the actual module.

Source: Coding guidelines


67-70: 🎯 Functional Correctness

Verify the documented just prerequisite and install command.

The page requires just 1.50.0+ and documents a Cargo installation command, but the supplied context does not establish that requirement. Confirm it against the repository’s justfile, CI, or maintainer documentation.

Source: Coding guidelines


1-6: LGTM!

Also applies to: 22-40, 60-63, 76-80, 89-94, 107-117, 119-124, 135-137, 155-181

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Caution

Inline review comments failed to post. This is likely due to GitHub's internal server error or limits when posting large numbers of comments. If you are seeing this consistently it is likely a permissions issue. Please check "Moderation" -> "Code review limits" under your organization settings.

Actionable comments posted: 4

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/about-nemo-fabric/overview.mdx`:
- Around line 44-58: Update the overview documentation around the architecture
diagram, interface table, and numbered workflow to add a complete introductory
sentence before each block, immediately after its heading. Keep the existing
diagram, table, and workflow content unchanged, and ensure each lead-in clearly
introduces the material that follows.
- Around line 10-18: Update the adapter list and related wording in the
overview, including the landing-page diagram, to match the supported adapters
documented in README.md by adding Claude and LangChain Deep Agents, or clearly
mark the existing examples as illustrative rather than exhaustive.
- Around line 82-87: Update the virtual-environment setup guidance in the Hermes
adapter documentation to constrain the Python version to the adapter-supported
range of 3.11–3.13. Replace the unrestricted “preferred Python version” wording
with an explicit supported-version qualification while preserving the existing
uv commands.
- Line 8: Convert the technical-documentation headings and table headers in the
overview content to consistent title case, including “One Contract for Agent
Harnesses” and “What Fabric Gives You.” Update the corresponding heading
assertions in test_python_api_docs.py to match the new capitalization,
preserving all heading structure and content.
🪄 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: ASSERTIVE

Plan: Enterprise

Run ID: 1927880d-1288-4c9a-9572-ed56973df553

📥 Commits

Reviewing files that changed from the base of the PR and between 1d9af90 and 5a21d35.

📒 Files selected for processing (6)
  • README.md
  • docs/about-nemo-fabric/overview.mdx
  • docs/about-nemo-fabric/release-notes.mdx
  • docs/index.yml
  • docs/sdk/python.mdx
  • tests/docs/test_python_api_docs.py
📜 Review details
🔇 Additional comments (8)
tests/docs/test_python_api_docs.py (1)

19-19: Cover the new navigation entries in the documentation test.

docs/index.yml now adds Quickstart and Legal, but this test only updates LANDING_PAGE and checks landing content. Add assertions that both entries reference existing files while preserving the current landing-page checks. This is the same unresolved gap identified in the previous review.

Source: Path instructions

docs/index.yml (1)

5-10: LGTM!

Also applies to: 47-50

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

1-10: LGTM!

README.md (1)

189-189: LGTM!

docs/sdk/python.mdx (1)

25-25: LGTM!

docs/about-nemo-fabric/overview.mdx (3)

98-106: 🎯 Functional Correctness

Verify the sample’s import path.

README.md identifies examples/code_review_agent/config.py as the configuration location, but this sample imports from examples.code_review_agent. Confirm that the package root re-exports both names; otherwise import from the actual module.

Source: Coding guidelines


67-70: 🎯 Functional Correctness

Verify the documented just prerequisite and install command.

The page requires just 1.50.0+ and documents a Cargo installation command, but the supplied context does not establish that requirement. Confirm it against the repository’s justfile, CI, or maintainer documentation.

Source: Coding guidelines


1-6: LGTM!

Also applies to: 22-40, 60-63, 76-80, 89-94, 107-117, 119-124, 135-137, 155-181

🛑 Comments failed to post (4)
docs/about-nemo-fabric/overview.mdx (4)

8-8: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Apply title case to technical-documentation headings and table headers.

Headings such as One contract for agent harnesses and What Fabric gives you, plus headers such as Use it when, use sentence case. Rename them consistently and update the heading assertions in tests/docs/test_python_api_docs.py.

Also applies to: 20-20, 42-42, 65-65, 126-126, 128-128, 139-139, 153-153

🤖 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-nemo-fabric/overview.mdx` at line 8, Convert the
technical-documentation headings and table headers in the overview content to
consistent title case, including “One Contract for Agent Harnesses” and “What
Fabric Gives You.” Update the corresponding heading assertions in
test_python_api_docs.py to match the new capitalization, preserving all heading
structure and content.

Source: Coding guidelines


10-18: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Align the supported-adapter list with the rest of the documentation.

This overview names Hermes, Codex CLI, and a custom harness, while README.md also documents Claude and LangChain Deep Agents. On the landing page, the wording and diagram read as exhaustive. Add the supported adapters or make the list explicitly illustrative.

Also applies to: 44-58

🤖 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-nemo-fabric/overview.mdx` around lines 10 - 18, Update the adapter
list and related wording in the overview, including the landing-page diagram, to
match the supported adapters documented in README.md by adding Claude and
LangChain Deep Agents, or clearly mark the existing examples as illustrative
rather than exhaustive.

44-58: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Add lead-in sentences before the diagram, table, and workflow.

The diagram, interface table, and numbered workflow follow headings directly. Add complete introductory sentences before each block, as required for technical documentation.

Also applies to: 128-151

🤖 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-nemo-fabric/overview.mdx` around lines 44 - 58, Update the
overview documentation around the architecture diagram, interface table, and
numbered workflow to add a complete introductory sentence before each block,
immediately after its heading. Keep the existing diagram, table, and workflow
content unchanged, and ensure each lead-in clearly introduces the material that
follows.

Source: Coding guidelines


82-87: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Constrain the Python version to the selected adapter.

This example uses hermes_config, but README.md states that Hermes supports Python 3.11–3.13. Saying “your preferred Python version” can direct users to an unsupported interpreter. State the adapter-supported range here or qualify the instruction accordingly.

🤖 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-nemo-fabric/overview.mdx` around lines 82 - 87, Update the
virtual-environment setup guidance in the Hermes adapter documentation to
constrain the Python version to the adapter-supported range of 3.11–3.13.
Replace the unrestricted “preferred Python version” wording with an explicit
supported-version qualification while preserving the existing uv commands.

Source: Coding guidelines

…layout

Signed-off-by: David Gardner <dagardner@nvidia.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 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 `@README.md`:
- Around line 189-190: Rename the README navigation link label from “Getting
Started overview” to “Fabric overview” or “About NeMo Fabric overview” while
preserving the existing destination and description. Review the surrounding
documentation links for technical accuracy and consistency with the current
repository hierarchy.
🪄 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: ASSERTIVE

Plan: Enterprise

Run ID: c7f30d59-5d90-4bd1-9f09-324aee169e36

📥 Commits

Reviewing files that changed from the base of the PR and between 5a21d35 and e7ccaec.

📒 Files selected for processing (4)
  • README.md
  • docs/about-nemo-fabric/overview.mdx
  • docs/index.yml
  • docs/sdk/python.mdx
📜 Review details
⏰ Context from checks skipped due to timeout. (13)
  • GitHub Check: Build and publish docs
  • GitHub Check: Test (Python 3.13, arm64)
  • GitHub Check: Test (Python 3.11, arm64)
  • GitHub Check: Test (Python 3.14, arm64)
  • GitHub Check: Test (Python 3.12, arm64)
  • GitHub Check: Test (Python 3.13, x86_64)
  • GitHub Check: Test (Python 3.14, x86_64)
  • GitHub Check: Test (Python 3.12, x86_64)
  • GitHub Check: Build wheels (x86_64)
  • GitHub Check: Test (Python 3.11, x86_64)
  • GitHub Check: Build wheels (arm64)
  • GitHub Check: Test (arm64)
  • GitHub Check: Pre-commit
🧰 Additional context used
📓 Path-based instructions (20)
**/*.{md,mdx,html}

📄 CodeRabbit inference engine (CONTRIBUTING.md)

Changes affecting public behavior, adapters, examples, or workspace structure must update the corresponding documentation; public API changes require updated SDK or API reference documentation.

Files:

  • docs/sdk/python.mdx
  • docs/about-nemo-fabric/overview.mdx
  • README.md
**/*.{md,mdx}

📄 CodeRabbit inference engine (CONTRIBUTING.md)

For docs site changes, run just docs to regenerate Python and Rust API references and validate Fern configuration.

**/*.{md,mdx}: Prioritize factual accuracy in NeMo Fabric documentation and keep commands, package names, APIs, file paths, repository layout, entry points, support claims, examples, and procedures aligned with current repository behavior.
Update relevant entry-point documentation when public behavior changes, including README.md, docs/index.yml, package or crate READMEs, and adapter or integration READMEs.
Use {/* ... */} delimiters for top-of-file SPDX comments in MDX files, not HTML comment delimiters.
Capitalize NVIDIA correctly and use consistent current repository terminology, product names, APIs, and feature names.
Format commands, code, expressions, file names, paths, and filenames as inline code where appropriate.
Use title case for technical-documentation headings.
Introduce code blocks, tables, and lists with complete lead-in sentences.
Use descriptive link text instead of raw URLs or generic labels such as here.
Write procedures as short, imperative, parallel, easy-to-scan steps; prefer active voice, present tense, plain English, and concise sentences.
Use after instead of once when expressing temporal sequence, and use can instead of may when describing possibility rather than permission.
Use unambiguous date formats and avoid ordinal dates in body text.
When reviewing documentation, report findings in severity order under Must fix, Should fix, and Nice to have, with file paths, line references, explanations, and concrete rewrites or directions.

Files:

  • docs/sdk/python.mdx
  • docs/about-nemo-fabric/overview.mdx
  • README.md
**/*

📄 CodeRabbit inference engine (CONTRIBUTING.md)

**/*: All source files must include the specified SPDX copyright and Apache-2.0 license header using the comment syntax appropriate to the file type.
Release tags must use raw Rust-compatible SemVer without a leading v, such as 0.1.0 or 0.1.0-rc.1.

**/*: Before implementing, explicitly state assumptions, surface ambiguity and tradeoffs, present multiple interpretations when relevant, and ask for clarification rather than silently deciding or proceeding when requirements are unclear.
Prefer the minimum code needed to solve the requested problem: avoid speculative features, unnecessary abstractions, unrequested flexibility, and handling of impossible scenarios; simplify overcomplicated solutions.
When editing existing code, make surgical changes only: do not modify unrelated code, comments, formatting, or pre-existing dead code; match the existing style, and remove only unused imports, variables, or functions introduced by your changes.
Define verifiable success criteria for each task, such as writing regression tests for bugs and invalid-input tests for validation, then verify the implementation against those criteria. For multi-step work, state a brief plan with a verification check for each step.

**/*: Keep pull request branch scope coherent and reviewable.
Run relevant tests under validate-change before opening or updating a pull request.
Format changed files with the language-native formatter.
Update documentation and examples for public behavior changes.
Update dependent maintainer or consumer guidance when code changes affect APIs, bindings, commands, paths, packaging guidance, or best practices.
Use Conventional Commit style for pull request titles: <type>: <concise imperative summary>, choosing the type from the actual change surface. Use fix only for user-facing or runtime product-code bug fixes.
A pull request body must include #### Overview, #### Details, #### Validation, #### Where should the reviewer start?, and `#### Related ...

Files:

  • docs/sdk/python.mdx
  • docs/about-nemo-fabric/overview.mdx
  • docs/index.yml
  • README.md
**/*.mdx

📄 CodeRabbit inference engine (CONTRIBUTING.md)

MDX files must use the specified SPDX header in a JSX comment.

In MDX files, use JSX comment delimiters ({/* and */}) for top-of-file comments, including SPDX headers; do not use HTML comments.

Files:

  • docs/sdk/python.mdx
  • docs/about-nemo-fabric/overview.mdx
{README.md,docs/**/*.{md,mdx,yml},examples/**/*.{md,mdx,yml}}

📄 CodeRabbit inference engine (.agents/skills/contribute-docs/SKILL.md)

Keep package names, repository references, and build commands current in documentation and examples.

Files:

  • docs/sdk/python.mdx
  • docs/about-nemo-fabric/overview.mdx
  • docs/index.yml
  • README.md
{docs/**/*.{md,mdx,yml},examples/**/*.{md,mdx,yml}}

📄 CodeRabbit inference engine (.agents/skills/contribute-docs/SKILL.md)

Update relevant getting-started, reference, adapter, and example documentation when the corresponding examples or adapters change.

Files:

  • docs/sdk/python.mdx
  • docs/about-nemo-fabric/overview.mdx
  • docs/index.yml
docs/**/*.{md,mdx,yml}

📄 CodeRabbit inference engine (.agents/skills/contribute-docs/SKILL.md)

Run just docs when the documentation site changes.

Files:

  • docs/sdk/python.mdx
  • docs/about-nemo-fabric/overview.mdx
  • docs/index.yml
{docs/**/*,.github/workflows/ci_python.yml,.github/workflows/ci_rust.yml,justfile}

📄 CodeRabbit inference engine (.agents/skills/maintain-packaging/SKILL.md)

Use the current install, import, build, test, clean, and documentation commands consistently in documentation, examples, CI workflows, and just recipes.

Files:

  • docs/sdk/python.mdx
  • docs/about-nemo-fabric/overview.mdx
  • docs/index.yml
{docs/**/*,.github/workflows/ci_python.yml,.github/workflows/ci_rust.yml}

📄 CodeRabbit inference engine (.agents/skills/maintain-packaging/SKILL.md)

Reflect public packaging changes in release-facing documentation and examples.

Files:

  • docs/sdk/python.mdx
  • docs/about-nemo-fabric/overview.mdx
  • docs/index.yml
**/*.{md,mdx,rst}

📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-guide.md)

**/*.{md,mdx,rst}: For NeMo Fabric documentation, verify technical claims against the current repository, public API, or documented command before reviewing style.
Always spell NVIDIA in all caps; do not use Nvidia, nvidia, or NV.
Format commands, code elements, expressions, package names, file names, and paths as inline code.
Use descriptive link text; avoid raw URLs and weak anchors such as here or read more.
Use title case consistently for technical documentation headings.
Introduce code blocks, lists, tables, and images with complete sentences.
Write procedures as imperative, parallel steps; split long procedures into smaller tasks.
Prefer active voice, present tense, short sentences, contractions, and plain English while preserving necessary technical precision.
Use can for possibility and reserve may for permission.
Use after for temporal relationships instead of once, and prefer refer to over see when directing readers to another resource.
Avoid culture-specific idioms, unnecessary Latinisms, jokes, and marketing exaggeration in technical documentation.
Spell out months in body text, avoid ordinal dates, and use clear time zones.
Spell out whole numbers from zero through nine unless they are technical values, parameters, versions, or UI values; use numerals for 10 or greater and commas in thousands.
Do not add trademark symbols to learning-oriented documentation unless the source, platform, or legal guidance explicitly requires them.
Do not replace precise technical terms with simpler words when doing so would lose precision.
Do not flag passive voice when the actor is unknown or the action is the important part.
Do not rewrite API names, package names, command flags, or code literals for style.

**/*.{md,mdx,rst}: Use consistent title case for technical-document headings and table headers; avoid quotation marks, ampersands, and exclamation marks in headings, while preserving official product, event, research, and whitepaper title ...

Files:

  • docs/sdk/python.mdx
  • docs/about-nemo-fabric/overview.mdx
  • README.md
docs/**/*

📄 CodeRabbit inference engine (.agents/skills/validate-change/SKILL.md)

For documentation or examples changes, run just docs when practical and verify documented commands against the current repository.

Files:

  • docs/sdk/python.mdx
  • docs/about-nemo-fabric/overview.mdx
  • docs/index.yml
{docs/**,README.md,AGENTS.md}

⚙️ CodeRabbit configuration file

{docs/**,README.md,AGENTS.md}: Review documentation for technical accuracy against the current API, command correctness, and consistency with generated schemas.

Files:

  • docs/sdk/python.mdx
  • docs/about-nemo-fabric/overview.mdx
  • docs/index.yml
  • README.md
**/*.{toml,yaml,yml,sh,bash}

📄 CodeRabbit inference engine (CONTRIBUTING.md)

TOML, YAML, and shell files must use the specified SPDX header with # comments.

Files:

  • docs/index.yml
**/*.{rs,py,pyi,json,yaml,yml}

📄 CodeRabbit inference engine (.agents/skills/contribute-api/SKILL.md)

Determine and update every affected public surface, including the CLI, PyO3 bindings, Python SDK, type stubs, schemas, and adapter contract, so they remain in parity.

Files:

  • docs/index.yml
{README.md,docs/index.yml}

📄 CodeRabbit inference engine (.agents/skills/contribute-docs/SKILL.md)

Update README.md or docs/index.yml when documentation entry points or example reading paths change.

Files:

  • docs/index.yml
  • README.md
README.md

📄 CodeRabbit inference engine (CONTRIBUTING.md)

The root README.md must reflect the current workspace, supported adapters, and top-level documentation.

Update README.md when a small Fabric bug fix changes public behavior.

Files:

  • README.md
**/README.md

📄 CodeRabbit inference engine (CONTRIBUTING.md)

Update an adapter or example README.md when that adapter or example surface changes.

Files:

  • README.md
**/*.{html,md}

📄 CodeRabbit inference engine (CONTRIBUTING.md)

HTML and Markdown files must use the specified SPDX header in an HTML comment.

Files:

  • README.md
**/*.{md,rst}

📄 CodeRabbit inference engine (.agents/skills/contribute-api/SKILL.md)

Update documentation and examples in the same branch as the public API change.

Verify README and documentation entry points, package names, paths, examples, and public commands remain current after changes.

Files:

  • README.md
**/*.{md,rst,txt,adoc}

📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-language-mechanics.md)

**/*.{md,rst,txt,adoc}: For technical documentation, use professional, active, conversational, engaging, precise, and plain-English prose. Prefer active voice, present tense, short sentences, and scannable paragraphs. Avoid casual or imprecise language, swearing, threats, insults, jokes, puns, culture-specific idioms, marketing exaggeration, and unsupported third-party comparisons.
Use can for possibility and reserve may for permission; use after for temporal order; use refer to for cross-references; prefer short direct sentences and specific verbs; avoid unnecessary please in technical documentation.
Prefer active voice when the actor matters. Passive voice is acceptable when the actor is unknown or irrelevant, when the action or result is the focus, or in programmer documentation.
Use natural contractions in conversational technical prose, but do not force them in formal legal copy, API references, or generated text.
Prefer simpler English over Latinisms: use for example or such as instead of e.g., and so on instead of etc., that is instead of i.e., compared to instead of vs., and by, through, or using instead of via. Use industry-standard terms such as in silico, in vitro, and in vivo when appropriate, and italicize them in running text.
Use that without commas for essential clauses, and which with commas for nonessential clauses.
Format dates and times clearly: spell out months in body text; use forms such as June 12, 2025; avoid numeric or ordinal dates; capitalize days; use 12-hour time when appropriate; include a space before a.m. or p.m.; use ET and PT for needed time zones; avoid 24/7; and prefer from 12:30 to 1:00 p.m. for prose ranges.
Format numbers consistently: spell out zero through nine in body text, use numerals for 10 or greater and for technical values, use commas in thousands, do not begin a sentence with a numeral, spell out ordinals, and use numerals consistently within a category wh...

Files:

  • README.md
🔇 Additional comments (4)
docs/index.yml (1)

5-16: LGTM!

Also applies to: 23-26, 51-54

README.md (1)

191-196: LGTM!

docs/sdk/python.mdx (1)

25-25: LGTM!

Also applies to: 195-196, 410-411

docs/about-nemo-fabric/overview.mdx (1)

13-13: LGTM!

Also applies to: 54-54, 123-124

Comment thread README.md
@linear

linear Bot commented Jul 16, 2026 •

Copy link
Copy Markdown

Signed-off-by: David Gardner <dagardner@nvidia.com>
Signed-off-by: David Gardner <dagardner@nvidia.com>
…use is 'NeMo Fabric' not 'Fabric', update the docs skill

Signed-off-by: David Gardner <dagardner@nvidia.com>
Signed-off-by: David Gardner <dagardner@nvidia.com>
…riectly

Signed-off-by: David Gardner <dagardner@nvidia.com>
Signed-off-by: David Gardner <dagardner@nvidia.com>
Signed-off-by: David Gardner <dagardner@nvidia.com>
Signed-off-by: David Gardner <dagardner@nvidia.com>
Signed-off-by: David Gardner <dagardner@nvidia.com>
@dagardner-nv
dagardner-nv marked this pull request as ready for review July 16, 2026 23:53
@dagardner-nv
dagardner-nv requested a review from a team as a code owner July 16, 2026 23:53

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 6

🤖 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/review-doc-style/SKILL.md:
- Around line 39-42: Update the earlier first product-name occurrence in the
skill document to use “NVIDIA NeMo Fabric” instead of “NeMo Fabric,” while
leaving subsequent shortened references and the naming rules unchanged.

In `@docs/about-nemo-fabric/release-notes.mdx`:
- Line 8: Update the release-notes page instead of leaving the “To be filled out
at release time” placeholder: add the actual release content, or remove the
corresponding Release Notes navigation entry until content is available.

In `@docs/getting-started/quickstart.mdx`:
- Around line 12-17: Update the quickstart installation command to use the
documented adapters-hermes extra instead of hermes, while preserving the
existing runtime extra so the selected Hermes adapter is installed.
- Around line 34-52: Update the quickstart installation/setup steps to
explicitly instruct users to set the required NVIDIA_API_KEY environment
variable before running the example configuration. Keep the existing
FabricConfig example unchanged and place the guidance alongside the prerequisite
or first-run instructions.

In `@docs/resources/legal/index.mdx`:
- Line 9: Update the sentence in the legal documentation to hyphenate
“open-source” when it modifies “software,” changing “open source software
attribution” to “open-source software attribution.”

In `@docs/resources/legal/oss.mdx`:
- Line 10: Update the introductory sentence in oss.mdx to hyphenate
“open-source” when it modifies “dependencies,” preserving the rest of the
sentence unchanged.
🪄 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: ASSERTIVE

Plan: Enterprise

Run ID: bc49a560-7b66-4238-8f8e-3cd6d5714526

📥 Commits

Reviewing files that changed from the base of the PR and between e7ccaec and 20bdadd.

📒 Files selected for processing (14)
  • .agents/skills/review-doc-style/SKILL.md
  • docs/about-nemo-fabric/overview.mdx
  • docs/about-nemo-fabric/release-notes.mdx
  • docs/getting-started/install.mdx
  • docs/getting-started/quickstart.mdx
  • docs/index.yml
  • docs/integrations/claude.mdx
  • docs/integrations/codex.mdx
  • docs/integrations/harbor.mdx
  • docs/resources/legal/index.mdx
  • docs/resources/legal/license-agreement.mdx
  • docs/resources/legal/oss.mdx
  • docs/sdk/python.mdx
  • tests/docs/test_python_api_docs.py
📜 Review details
🧰 Additional context used
📓 Path-based instructions (22)
**/*.{md,mdx,html}

📄 CodeRabbit inference engine (CONTRIBUTING.md)

Changes affecting public behavior, adapters, examples, or workspace structure must update the corresponding documentation; public API changes require updated SDK or API reference documentation.

Files:

  • docs/resources/legal/oss.mdx
  • docs/resources/legal/index.mdx
  • docs/resources/legal/license-agreement.mdx
  • docs/about-nemo-fabric/release-notes.mdx
  • docs/integrations/harbor.mdx
  • docs/getting-started/quickstart.mdx
  • docs/about-nemo-fabric/overview.mdx
  • docs/getting-started/install.mdx
  • docs/integrations/codex.mdx
  • docs/integrations/claude.mdx
  • docs/sdk/python.mdx
**/*.{md,mdx}

📄 CodeRabbit inference engine (CONTRIBUTING.md)

For docs site changes, run just docs to regenerate Python and Rust API references and validate Fern configuration.

Use {/* ... */} delimiters for top-of-file MDX SPDX comments; do not use HTML comment delimiters.

Files:

  • docs/resources/legal/oss.mdx
  • docs/resources/legal/index.mdx
  • docs/resources/legal/license-agreement.mdx
  • docs/about-nemo-fabric/release-notes.mdx
  • docs/integrations/harbor.mdx
  • docs/getting-started/quickstart.mdx
  • docs/about-nemo-fabric/overview.mdx
  • docs/getting-started/install.mdx
  • docs/integrations/codex.mdx
  • docs/integrations/claude.mdx
  • docs/sdk/python.mdx
**/*

📄 CodeRabbit inference engine (CONTRIBUTING.md)

**/*: All source files must include the specified SPDX copyright and Apache-2.0 license header using the comment syntax appropriate to the file type.
Release tags must use raw Rust-compatible SemVer without a leading v, such as 0.1.0 or 0.1.0-rc.1.

**/*: Before implementing, explicitly state assumptions, surface ambiguity and tradeoffs, present multiple interpretations when relevant, and ask for clarification rather than silently deciding or proceeding when requirements are unclear.
Prefer the minimum code needed to solve the requested problem: avoid speculative features, unnecessary abstractions, unrequested flexibility, and handling of impossible scenarios; simplify overcomplicated solutions.
When editing existing code, make surgical changes only: do not modify unrelated code, comments, formatting, or pre-existing dead code; match the existing style, and remove only unused imports, variables, or functions introduced by your changes.
Define verifiable success criteria for each task, such as writing regression tests for bugs and invalid-input tests for validation, then verify the implementation against those criteria. For multi-step work, state a brief plan with a verification check for each step.

**/*: Keep pull request branch scope coherent and reviewable.
Run relevant tests under validate-change before opening or updating a pull request.
Format changed files with the language-native formatter.
Update documentation and examples for public behavior changes.
Update dependent maintainer or consumer guidance when code changes affect APIs, bindings, commands, paths, packaging guidance, or best practices.
Use Conventional Commit style for pull request titles: <type>: <concise imperative summary>, choosing the type from the actual change surface. Use fix only for user-facing or runtime product-code bug fixes.
A pull request body must include #### Overview, #### Details, #### Validation, #### Where should the reviewer start?, and `#### Related ...

Files:

  • docs/resources/legal/oss.mdx
  • docs/resources/legal/index.mdx
  • docs/resources/legal/license-agreement.mdx
  • docs/about-nemo-fabric/release-notes.mdx
  • docs/integrations/harbor.mdx
  • tests/docs/test_python_api_docs.py
  • docs/index.yml
  • docs/getting-started/quickstart.mdx
  • docs/about-nemo-fabric/overview.mdx
  • docs/getting-started/install.mdx
  • docs/integrations/codex.mdx
  • docs/integrations/claude.mdx
  • docs/sdk/python.mdx
**/*.mdx

📄 CodeRabbit inference engine (CONTRIBUTING.md)

MDX files must use the specified SPDX header in a JSX comment.

In MDX files, use JSX comment delimiters ({/* and */}) for top-of-file comments, including SPDX headers; do not use HTML comments.

Files:

  • docs/resources/legal/oss.mdx
  • docs/resources/legal/index.mdx
  • docs/resources/legal/license-agreement.mdx
  • docs/about-nemo-fabric/release-notes.mdx
  • docs/integrations/harbor.mdx
  • docs/getting-started/quickstart.mdx
  • docs/about-nemo-fabric/overview.mdx
  • docs/getting-started/install.mdx
  • docs/integrations/codex.mdx
  • docs/integrations/claude.mdx
  • docs/sdk/python.mdx
{README.md,docs/**/*.{md,mdx,yml},examples/**/*.{md,mdx,yml}}

📄 CodeRabbit inference engine (.agents/skills/contribute-docs/SKILL.md)

Keep package names, repository references, and build commands current in documentation and examples.

Files:

  • docs/resources/legal/oss.mdx
  • docs/resources/legal/index.mdx
  • docs/resources/legal/license-agreement.mdx
  • docs/about-nemo-fabric/release-notes.mdx
  • docs/integrations/harbor.mdx
  • docs/index.yml
  • docs/getting-started/quickstart.mdx
  • docs/about-nemo-fabric/overview.mdx
  • docs/getting-started/install.mdx
  • docs/integrations/codex.mdx
  • docs/integrations/claude.mdx
  • docs/sdk/python.mdx
{docs/**/*.{md,mdx,yml},examples/**/*.{md,mdx,yml}}

📄 CodeRabbit inference engine (.agents/skills/contribute-docs/SKILL.md)

Update relevant getting-started, reference, adapter, and example documentation when the corresponding examples or adapters change.

Files:

  • docs/resources/legal/oss.mdx
  • docs/resources/legal/index.mdx
  • docs/resources/legal/license-agreement.mdx
  • docs/about-nemo-fabric/release-notes.mdx
  • docs/integrations/harbor.mdx
  • docs/index.yml
  • docs/getting-started/quickstart.mdx
  • docs/about-nemo-fabric/overview.mdx
  • docs/getting-started/install.mdx
  • docs/integrations/codex.mdx
  • docs/integrations/claude.mdx
  • docs/sdk/python.mdx
docs/**/*.{md,mdx,yml}

📄 CodeRabbit inference engine (.agents/skills/contribute-docs/SKILL.md)

Run just docs when the documentation site changes.

Files:

  • docs/resources/legal/oss.mdx
  • docs/resources/legal/index.mdx
  • docs/resources/legal/license-agreement.mdx
  • docs/about-nemo-fabric/release-notes.mdx
  • docs/integrations/harbor.mdx
  • docs/index.yml
  • docs/getting-started/quickstart.mdx
  • docs/about-nemo-fabric/overview.mdx
  • docs/getting-started/install.mdx
  • docs/integrations/codex.mdx
  • docs/integrations/claude.mdx
  • docs/sdk/python.mdx
{docs/**/*,.github/workflows/ci_python.yml,.github/workflows/ci_rust.yml,justfile}

📄 CodeRabbit inference engine (.agents/skills/maintain-packaging/SKILL.md)

Use the current install, import, build, test, clean, and documentation commands consistently in documentation, examples, CI workflows, and just recipes.

Files:

  • docs/resources/legal/oss.mdx
  • docs/resources/legal/index.mdx
  • docs/resources/legal/license-agreement.mdx
  • docs/about-nemo-fabric/release-notes.mdx
  • docs/integrations/harbor.mdx
  • docs/index.yml
  • docs/getting-started/quickstart.mdx
  • docs/about-nemo-fabric/overview.mdx
  • docs/getting-started/install.mdx
  • docs/integrations/codex.mdx
  • docs/integrations/claude.mdx
  • docs/sdk/python.mdx
{docs/**/*,.github/workflows/ci_python.yml,.github/workflows/ci_rust.yml}

📄 CodeRabbit inference engine (.agents/skills/maintain-packaging/SKILL.md)

Reflect public packaging changes in release-facing documentation and examples.

Files:

  • docs/resources/legal/oss.mdx
  • docs/resources/legal/index.mdx
  • docs/resources/legal/license-agreement.mdx
  • docs/about-nemo-fabric/release-notes.mdx
  • docs/integrations/harbor.mdx
  • docs/index.yml
  • docs/getting-started/quickstart.mdx
  • docs/about-nemo-fabric/overview.mdx
  • docs/getting-started/install.mdx
  • docs/integrations/codex.mdx
  • docs/integrations/claude.mdx
  • docs/sdk/python.mdx
**/*.{md,mdx,rst}

📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-guide.md)

**/*.{md,mdx,rst}: For NeMo Fabric documentation, verify technical claims against the current repository, public API, or documented command before reviewing style.
Always spell NVIDIA in all caps; do not use Nvidia, nvidia, or NV.
Format commands, code elements, expressions, package names, file names, and paths as inline code.
Use descriptive link text; avoid raw URLs and weak anchors such as here or read more.
Use title case consistently for technical documentation headings.
Introduce code blocks, lists, tables, and images with complete sentences.
Write procedures as imperative, parallel steps; split long procedures into smaller tasks.
Prefer active voice, present tense, short sentences, contractions, and plain English while preserving necessary technical precision.
Use can for possibility and reserve may for permission.
Use after for temporal relationships instead of once, and prefer refer to over see when directing readers to another resource.
Avoid culture-specific idioms, unnecessary Latinisms, jokes, and marketing exaggeration in technical documentation.
Spell out months in body text, avoid ordinal dates, and use clear time zones.
Spell out whole numbers from zero through nine unless they are technical values, parameters, versions, or UI values; use numerals for 10 or greater and commas in thousands.
Do not add trademark symbols to learning-oriented documentation unless the source, platform, or legal guidance explicitly requires them.
Do not replace precise technical terms with simpler words when doing so would lose precision.
Do not flag passive voice when the actor is unknown or the action is the important part.
Do not rewrite API names, package names, command flags, or code literals for style.

**/*.{md,mdx,rst}: Use consistent title case for technical-document headings and table headers; avoid quotation marks, ampersands, and exclamation marks in headings, while preserving official product, event, research, and whitepaper title ...

Files:

  • docs/resources/legal/oss.mdx
  • docs/resources/legal/index.mdx
  • docs/resources/legal/license-agreement.mdx
  • docs/about-nemo-fabric/release-notes.mdx
  • docs/integrations/harbor.mdx
  • docs/getting-started/quickstart.mdx
  • docs/about-nemo-fabric/overview.mdx
  • docs/getting-started/install.mdx
  • docs/integrations/codex.mdx
  • docs/integrations/claude.mdx
  • docs/sdk/python.mdx
docs/**/*

📄 CodeRabbit inference engine (.agents/skills/validate-change/SKILL.md)

For documentation or examples changes, run just docs when practical and verify documented commands against the current repository.

Files:

  • docs/resources/legal/oss.mdx
  • docs/resources/legal/index.mdx
  • docs/resources/legal/license-agreement.mdx
  • docs/about-nemo-fabric/release-notes.mdx
  • docs/integrations/harbor.mdx
  • docs/index.yml
  • docs/getting-started/quickstart.mdx
  • docs/about-nemo-fabric/overview.mdx
  • docs/getting-started/install.mdx
  • docs/integrations/codex.mdx
  • docs/integrations/claude.mdx
  • docs/sdk/python.mdx
{docs/**,README.md,AGENTS.md}

⚙️ CodeRabbit configuration file

{docs/**,README.md,AGENTS.md}: Review documentation for technical accuracy against the current API, command correctness, and consistency with generated schemas.

Files:

  • docs/resources/legal/oss.mdx
  • docs/resources/legal/index.mdx
  • docs/resources/legal/license-agreement.mdx
  • docs/about-nemo-fabric/release-notes.mdx
  • docs/integrations/harbor.mdx
  • docs/index.yml
  • docs/getting-started/quickstart.mdx
  • docs/about-nemo-fabric/overview.mdx
  • docs/getting-started/install.mdx
  • docs/integrations/codex.mdx
  • docs/integrations/claude.mdx
  • docs/sdk/python.mdx
**/*.py

📄 CodeRabbit inference engine (CONTRIBUTING.md)

**/*.py: Python public APIs must use type annotations, and native Python binding declarations must remain synchronized with their Rust implementations.
Python files must begin with the specified # SPDX copyright and Apache-2.0 license header.

Files:

  • tests/docs/test_python_api_docs.py
**/*.{rs,py}

📄 CodeRabbit inference engine (CONTRIBUTING.md)

**/*.{rs,py}: Use snake_case for Rust and Python functions and variables; use PascalCase for Rust types and Python classes.
Run tests for every language surface affected by a change. Changes touching the Rust core or public schemas require both Rust and Python test suites.
Public contract changes must keep native Python binding declarations synchronized with their Rust implementations.

Files:

  • tests/docs/test_python_api_docs.py
**/*.{rs,py,pyi,json,yaml,yml}

📄 CodeRabbit inference engine (.agents/skills/contribute-api/SKILL.md)

Determine and update every affected public surface, including the CLI, PyO3 bindings, Python SDK, type stubs, schemas, and adapter contract, so they remain in parity.

Files:

  • tests/docs/test_python_api_docs.py
  • docs/index.yml
tests/**/*.py

📄 CodeRabbit inference engine (.agents/skills/python-tests/SKILL.md)

tests/**/*.py: Use Pytest to run Python tests.
Do not add @pytest.mark.asyncio to tests; async tests are automatically detected by the async runner.
Do not add -> None return annotations to test functions.
When mocking a class, use unittest.mock.MagicMock or AsyncMock, supplying spec when necessary; do not define a new mock class.
Prefix mocked class names with mock, not fake.
Prefer pytest fixtures over helper methods.
Define shared fixtures in conftest.py rather than repeating them across test files.
Define fixtures using @pytest.fixture(name="<fixture_name>"[, scope="<scope>"]) and a <fixture_name>_fixture function; specify scope only when it is not function.
Prefer pytest.mark.parametrize over separate tests for different input types.
Use @pytest.mark.usefixtures when a fixture is needed but its return value is unused.
Use os.environ to modify environment variables in tests; do not use monkeypatch.setenv, because the autouse restore_environ_fixture in tests/conftest.py restores the environment after each test.
Avoid defensive programming in tests; access expected data directly so missing data raises a clear error instead of being silently tolerated.
Run focused tests with uv run pytest -k "<pattern>" and all tests with uv run pytest.

Files:

  • tests/docs/test_python_api_docs.py
**/*.{py,pyi}

📄 CodeRabbit inference engine (.agents/skills/validate-change/SKILL.md)

When Python code or a Python-facing adapter changes, run just test-python.

Files:

  • tests/docs/test_python_api_docs.py
**/*.{rs,py,pyi,toml}

📄 CodeRabbit inference engine (.agents/skills/validate-change/SKILL.md)

When the PyO3 bridge or package metadata changes, run just build-python and cargo check -p fabric-python --locked.

Files:

  • tests/docs/test_python_api_docs.py
{tests/**,python/tests/**}

⚙️ CodeRabbit configuration file

{tests/**,python/tests/**}: Tests should cover the behavior promised by the changed API surface, including error paths, lifecycle cleanup, and SDK/native parity where relevant.

Files:

  • tests/docs/test_python_api_docs.py
**/*.{toml,yaml,yml,sh,bash}

📄 CodeRabbit inference engine (CONTRIBUTING.md)

TOML, YAML, and shell files must use the specified SPDX header with # comments.

Files:

  • docs/index.yml
{README.md,docs/index.yml}

📄 CodeRabbit inference engine (.agents/skills/contribute-docs/SKILL.md)

Update README.md or docs/index.yml when documentation entry points or example reading paths change.

Files:

  • docs/index.yml
docs/index.yml

📄 CodeRabbit inference engine (.agents/skills/review-doc-style/SKILL.md)

Update docs/index.yml when public behavior changes require corresponding documentation entry-point updates.

Files:

  • docs/index.yml
🧠 Learnings (1)
📓 Common learnings
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric

Timestamp: 2026-07-16T23:52:31.622Z
Learning: When reviewing documentation, lead with actionable findings grouped as `Must fix`, `Should fix`, and `Nice to have`; include the file path and line reference, the current problem, why it conflicts with repository or style guidance, and a concrete rewrite or direction.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric

Timestamp: 2026-07-16T23:52:31.622Z
Learning: Prioritize factual accuracy, stale or incorrect commands and APIs, unsupported claims, failed examples, and missing entry-point documentation before stylistic polish.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric

Timestamp: 2026-07-16T23:52:31.622Z
Learning: Use `karpathy-guidelines` alongside this guidance for implementation or review work; keep changes scoped, surface assumptions, and define focused validation before editing.
🪛 LanguageTool
docs/resources/legal/oss.mdx

[grammar] ~10-~10: Use a hyphen to join words.
Context: ....0 */} NVIDIA NeMo Fabric includes open source dependencies across Rust and Pyth...

(QB_NEW_EN_HYPHEN)

docs/resources/legal/index.mdx

[grammar] ~9-~9: Use a hyphen to join words.
Context: ...Apache-2.0 */} Use these pages for open source software attribution and license ...

(QB_NEW_EN_HYPHEN)

🔇 Additional comments (12)
docs/resources/legal/index.mdx (1)

1-7: LGTM!

docs/resources/legal/license-agreement.mdx (1)

1-13: LGTM!

docs/resources/legal/oss.mdx (2)

1-8: LGTM!


12-17: LGTM!

docs/index.yml (1)

5-16: LGTM!

Also applies to: 51-54

tests/docs/test_python_api_docs.py (1)

99-100: LGTM!

docs/about-nemo-fabric/overview.mdx (1)

2-18: LGTM!

Also applies to: 40-45, 135-135

docs/getting-started/install.mdx (1)

2-86: LGTM!

docs/sdk/python.mdx (1)

2-2: LGTM!

Also applies to: 17-17, 76-76, 117-123, 154-154, 198-198, 249-258, 282-292, 313-314, 340-353, 385-411, 433-439, 460-501

docs/integrations/claude.mdx (1)

9-9: LGTM!

Also applies to: 40-46, 88-96

docs/integrations/codex.mdx (1)

9-9: LGTM!

Also applies to: 25-26, 38-46, 63-69, 78-92

docs/integrations/harbor.mdx (1)

3-22: LGTM!

Comment thread .agents/skills/review-doc-style/SKILL.md
Comment thread docs/about-nemo-fabric/release-notes.mdx
Comment thread docs/getting-started/quickstart.mdx
Comment thread docs/getting-started/quickstart.mdx
Comment thread docs/resources/legal/index.mdx
Comment thread docs/resources/legal/oss.mdx
Signed-off-by: David Gardner <dagardner@nvidia.com>
Signed-off-by: David Gardner <dagardner@nvidia.com>
…layout

Signed-off-by: David Gardner <dagardner@nvidia.com>
@dagardner-nv

Copy link
Copy Markdown
Collaborator Author

/merge

@rapids-bot
rapids-bot Bot merged commit 3535728 into NVIDIA:main Jul 17, 2026
17 checks passed
@dagardner-nv
dagardner-nv deleted the david-docs-layout branch July 17, 2026 16:18
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.

2 participants