Forward-merge release/0.1 into main- #167 - #169
Conversation
#### Overview Replace the deprecated `nvidia/nemotron-3-nano-30b-a3b` model with `nvidia/nemotron-3-nano-omni-30b-a3b-reasoning` across the maintained runtime presets and every dependent repository surface. This keeps the Hermes and Deep Agents NVIDIA API Catalog paths usable without changing their provider, credential, endpoint, or harness configuration. - [x] I confirm this contribution is my own work, or I have the right to submit it under this project's license. - [x] I searched existing issues and open pull requests, and this does not duplicate existing work. #### Details - Update the Hermes and Deep Agents CLI preset defaults. - Keep generated Python and Rust scaffolds aligned with the updated preset. - Update README, Fern documentation, code-review and Harbor examples, and both onboarding notebooks. - Update Deep Agents, Hermes, Harbor, ATOF, and ATIF expectations to assert the replacement model. - Remove all 28 tracked references to the deprecated identifier. There are no breaking API or configuration-shape changes. #### Validation - `cargo fmt --all -- --check` - `just test-rust` — passed - `just test-python` — 574 passed, 15 skipped - `npx --prefix docs --no-install fern check --warnings` — 0 errors; redirect check skipped because Fern authentication was unavailable - Verified `nemo-fabric plan --preset hermes` and `nemo-fabric plan --preset deepagents` resolve the replacement model - Manually ran the Hermes code-review example with Relay and confirmed ATOF/ATIF model metadata - Manually ran the Harbor calculator Hermes Relay job — 1 trial, 0 exceptions, reward 1.0, telemetry validation succeeded - Manually ran the Harbor SWE-bench `django__django-13741` Hermes job — 1 trial, 0 exceptions, reward 1.0 #### Where should the reviewer start? Start in `crates/fabric-cli/src/presets.rs`, where the maintained Hermes and Deep Agents defaults are defined, then review the corresponding model expectations in `crates/fabric-cli/src/scaffold.rs` and `tests/e2e/test_hermes_e2e.py`. #### Related Issues: (use one of the action keywords Closes / Fixes / Resolves / Relates to) - Relates to: none ## Summary by CodeRabbit - **Documentation** - Updated quick-start guides, SDK examples, preset references, notebooks, and sample projects to use `nvidia/nemotron-3-nano-omni-30b-a3b-reasoning`. - Refreshed Hermes and Deep Agents preset documentation and example commands with the new default model. - **Configuration** - Updated default model selections across generated configurations and example agents. - **Tests** - Updated validation and integration coverage to reflect the new model identifier. Authors: - Yuchen Zhang (https://github.com/yczhang-nv) Approvers: - Ajay Thorve (https://github.com/AjayThorve) - Anuradha Karuppiah (https://github.com/AnuradhaKaruppiah) URL: NVIDIA#166
#### Overview * Incorporate some of the changes from PR NVIDIA#89 * The library has moved/changed a bit since then, as we are no longer promoting the CLI as a new-user tool, and have removed it from our examples #### Where should the reviewer start? * `docs/about-nemo-fabric/overview.mdx` - [x] I confirm this contribution is my own work, or I have the right to submit it under this project's license. - [x] I searched existing issues and open pull requests, and this does not duplicate existing work. ## Summary by CodeRabbit * **Documentation** * Refreshed the NeMo Fabric overview with stronger branded messaging, improved interface selection guidance, a simplified “Core Workflow,” and a “Learn More” resource list. * Renamed the installation guide to “NVIDIA NeMo Fabric Installation” for clearer labeling. * Updated the quickstart to use the current template library version and adjusted spacing around the “Next Steps” section. Authors: - David Gardner (https://github.com/dagardner-nv) Approvers: - Anuradha Karuppiah (https://github.com/AnuradhaKaruppiah) - Lawrence Lane (https://github.com/lbliii) URL: NVIDIA#165
#### Overview * Remove references to alpha and RC tags * Replace buildwithfern.com links with docs.nvidia.com #### Related Issues: (use one of the action keywords Closes / Fixes / Resolves / Relates to) - Closes FABRIC-135 - [x] I confirm this contribution is my own work, or I have the right to submit it under this project's license. - [x] I searched existing issues and open pull requests, and this does not duplicate existing work. ## Summary by CodeRabbit * **Documentation** * Updated NeMo Fabric and NeMo Relay links across installation guides, package pages, project metadata, and examples to point to the official NVIDIA documentation site. * Refreshed installation instructions to reference the stable `0.1.0` package release instead of a pre-release version. * **Tests** * Updated integration expectations to match the stable package version. Authors: - David Gardner (https://github.com/dagardner-nv) Approvers: - Zhongxuan (Daniel) Wang (https://github.com/zhongxuanwang-nv) URL: NVIDIA#163
Signed-off-by: David Gardner <dagardner@nvidia.com>
WalkthroughThe PR replaces the default Nemotron model with the Omni reasoning model across presets, examples, documentation, and tests. It also migrates documentation links to ChangesModel and documentation alignment
Estimated code review effort: 2 (Simple) | ~15 minutes Possibly related PRs
Important Pre-merge checks failedPlease resolve all errors before merging. Addressing warnings is optional. ❌ Failed checks (1 error, 2 warnings)
✅ Passed checks (2 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
Fern docs preview: https://nvidia-preview-pull-request-169.docs.buildwithfern.com/nemo/fabric |
There was a problem hiding this comment.
Actionable comments posted: 5
🤖 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 `@adapters/deepagents/pyproject.toml`:
- Line 56: Update the Documentation URL in adapters/deepagents/pyproject.toml at
lines 56-56 and adapters/hermes/pyproject.toml at lines 48-48 to use the
slash-terminated NVIDIA NeMo Fabric documentation root, preserving the existing
URL otherwise.
In `@crates/fabric-cli/src/presets.rs`:
- Line 187: Update the adapter_presets_use_nvidia_credentials test to assert the
exact default model identifiers for both the Hermes and Deep Agents presets,
including the changed NVIDIA model values. Preserve the existing credential
assertions and run the relevant Rust and Python test suites.
In `@docs/about-nemo-fabric/overview.mdx`:
- Line 54: Update the JSON Schema row in the overview documentation to use
“NVIDIA/NeMo-Fabric” as the repository link text, preserving the existing
repository URL and surrounding table content.
- Line 48: Update the table header row by changing “Use it when” to “Use It
When” and “Start with” to “Start With,” preserving the existing table structure
and wording otherwise.
- Around line 94-95: Update the Quickstart entry in the overview documentation
to describe installing NVIDIA NeMo Fabric and running the maintained SDK
example, replacing the inaccurate “build from source” wording while preserving
the existing link and example reference.
🪄 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: fd7cb72f-1332-4712-ae6c-6285c1f8a318
📒 Files selected for processing (38)
README.mdadapters/claude/README.mdadapters/claude/pypi.mdadapters/claude/pyproject.tomladapters/codex/README.mdadapters/codex/pypi.mdadapters/codex/pyproject.tomladapters/common/README.mdadapters/common/pypi.mdadapters/common/pyproject.tomladapters/deepagents/README.mdadapters/deepagents/pypi.mdadapters/deepagents/pyproject.tomladapters/hermes/README.mdadapters/hermes/pypi.mdadapters/hermes/pyproject.tomlcrates/fabric-cli/src/presets.rscrates/fabric-cli/src/scaffold.rsdocs/about-nemo-fabric/overview.mdxdocs/experimentation/cli.mdxdocs/getting-started/install.mdxdocs/getting-started/quickstart.mdxdocs/sdk/python.mdxexamples/code_review_agent/config.pyexamples/harbor/calculator/README.mdexamples/harbor/swebench/README.mdexamples/notebooks/01_quickstart.ipynbexamples/notebooks/02_variations.ipynbpypi.mdpyproject.tomlpython/README.mdpython/pypi.mdpython/pyproject.tomltests/adapters/test_deepagents.pytests/docs/test_python_api_docs.pytests/e2e/test_hermes_config_mapping.pytests/e2e/test_hermes_e2e.pytests/integrations/test_harbor_runner.py
📜 Review details
⏰ Context from checks skipped due to timeout. (16)
- GitHub Check: Preview docs
- GitHub Check: Test (Python 3.12, macos-arm64)
- GitHub Check: Test (Python 3.11, macos-arm64)
- GitHub Check: Test (Python 3.14, macos-arm64)
- GitHub Check: Test (Python 3.11, windows-amd64)
- GitHub Check: Test (Python 3.12, windows-amd64)
- GitHub Check: Test (Python 3.11, linux-arm64)
- GitHub Check: Test (Python 3.13, windows-amd64)
- GitHub Check: Test (Python 3.14, windows-amd64)
- GitHub Check: Test (Python 3.13, linux-amd64)
- GitHub Check: Test (Python 3.13, linux-arm64)
- GitHub Check: Test (Python 3.13, macos-arm64)
- GitHub Check: Test (Python 3.12, linux-amd64)
- GitHub Check: Test (Python 3.11, linux-amd64)
- GitHub Check: Test (Python 3.12, linux-arm64)
- GitHub Check: Pre-commit
🧰 Additional context used
📓 Path-based instructions (47)
**/*.{md,rst}
📄 CodeRabbit inference engine (.agents/skills/contribute-api/SKILL.md)
Update documentation and examples in the same branch as the public API change.
Files:
python/README.mdpython/pypi.mdadapters/claude/pypi.mdadapters/deepagents/pypi.mdadapters/codex/pypi.mdadapters/common/pypi.mdadapters/hermes/README.mdREADME.mdadapters/codex/README.mdadapters/claude/README.mdadapters/deepagents/README.mdpypi.mdadapters/common/README.mdexamples/harbor/calculator/README.mdadapters/hermes/pypi.mdexamples/harbor/swebench/README.md
**/*
📄 CodeRabbit inference engine (.agents/skills/karpathy-guidelines/SKILL.md)
**/*: 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.
**/*: Always spellNVIDIAin all caps; do not useNvidia,nvidia,nVidia,nVIDIA, orNV.
Usean NVIDIAbefore a noun, because the name begins with an “en” sound.
Do not add a registered trademark symbol afterNVIDIAwhen referring to the company; use trademark symbols with product names only when required by the document type or legal guidance.
Verify official capitalization, spacing, hyphenation, and spelling for NVIDIA and third-party product names; do not rewrite official product names for grammar or title-case rules.
Precede NVIDIA product names withNVIDIAon first mention when natural and accurate, and link the first mention when the destination helps the reader.
On first use, include the company name and full model qualifier when it helps identify the model; preserve official capitalization and punctuation, and use shorter family names only after establishing the full name.
For learning-oriented and developer content, do not force trademark symbols unless explicitly required; for press, ...
Files:
python/README.mdadapters/common/pyproject.tomlpython/pypi.mdadapters/claude/pypi.mdadapters/deepagents/pypi.mdadapters/codex/pypi.mdadapters/deepagents/pyproject.tomladapters/claude/pyproject.tomladapters/common/pypi.mdadapters/hermes/README.mdadapters/hermes/pyproject.tomlREADME.mdadapters/codex/README.mdpython/pyproject.tomladapters/claude/README.mdexamples/notebooks/02_variations.ipynbexamples/notebooks/01_quickstart.ipynbadapters/deepagents/README.mddocs/sdk/python.mdxcrates/fabric-cli/src/presets.rsdocs/experimentation/cli.mdxcrates/fabric-cli/src/scaffold.rstests/adapters/test_deepagents.pydocs/getting-started/install.mdxtests/e2e/test_hermes_e2e.pytests/docs/test_python_api_docs.pytests/integrations/test_harbor_runner.pyexamples/code_review_agent/config.pyadapters/codex/pyproject.tomlpypi.mdadapters/common/README.mdexamples/harbor/calculator/README.mdadapters/hermes/pypi.mddocs/getting-started/quickstart.mdxdocs/about-nemo-fabric/overview.mdxtests/e2e/test_hermes_config_mapping.pypyproject.tomlexamples/harbor/swebench/README.md
**/*.{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 spellNVIDIAin all caps; do not useNvidia,nvidia, orNV.
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 ashereorread 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.
Usecanfor possibility and reservemayfor permission.
Useafterfor temporal relationships instead ofonce, and preferrefer tooverseewhen 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:
python/README.mdpython/pypi.mdadapters/claude/pypi.mdadapters/deepagents/pypi.mdadapters/codex/pypi.mdadapters/common/pypi.mdadapters/hermes/README.mdREADME.mdadapters/codex/README.mdadapters/claude/README.mdadapters/deepagents/README.mddocs/sdk/python.mdxdocs/experimentation/cli.mdxdocs/getting-started/install.mdxpypi.mdadapters/common/README.mdexamples/harbor/calculator/README.mdadapters/hermes/pypi.mddocs/getting-started/quickstart.mdxdocs/about-nemo-fabric/overview.mdxexamples/harbor/swebench/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.
Usecanfor possibility and reservemayfor permission; useafterfor temporal order; userefer tofor cross-references; prefer short direct sentences and specific verbs; avoid unnecessarypleasein 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: usefor exampleorsuch asinstead ofe.g.,and so oninstead ofetc.,that isinstead ofi.e.,compared toinstead ofvs., andby,through, orusinginstead ofvia. Use industry-standard terms such as in silico, in vitro, and in vivo when appropriate, and italicize them in running text.
Usethatwithout commas for essential clauses, andwhichwith commas for nonessential clauses.
Format dates and times clearly: spell out months in body text; use forms such asJune 12, 2025; avoid numeric or ordinal dates; capitalize days; use 12-hour time when appropriate; include a space beforea.m.orp.m.; useETandPTfor needed time zones; avoid24/7; and preferfrom 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:
python/README.mdpython/pypi.mdadapters/claude/pypi.mdadapters/deepagents/pypi.mdadapters/codex/pypi.mdadapters/common/pypi.mdadapters/hermes/README.mdREADME.mdadapters/codex/README.mdadapters/claude/README.mdadapters/deepagents/README.mdpypi.mdadapters/common/README.mdexamples/harbor/calculator/README.mdadapters/hermes/pypi.mdexamples/harbor/swebench/README.md
**/*.{md,mdx}
📄 CodeRabbit inference engine (CONTRIBUTING.md)
When public behavior, adapters, examples, or workspace structure changes, update the corresponding documentation, including relevant README files and SDK or API references.
**/*.{md,mdx}: Use the full product nameNVIDIA NeMo Fabricon first use, typically in the title and H1; useNeMo Fabricthereafter. Usefabricalone only for the CLI tool and surround it with backticks.
Treat incorrect or stale commands, package names, paths, APIs, support claims, procedures, examples, terminology, or public behavior documentation as blocking issues.
CapitalizeNVIDIAcorrectly and format code, commands, paths, and filenames as inline code where needed.
Use title case for technical-documentation headings.
Introduce code blocks, tables, and lists with complete lead-in sentences; ensure examples match current APIs and build commands.
Use descriptive anchor text, avoid raw URLs and generic labels such ashere, and use repository-relative.mdxpaths for links withindocs/.
Prefer active voice, present tense, short sentences, plain English, consistent terminology, and imperative, parallel, scannable procedures.
Useafterinstead ofoncewhen expressing temporal sequence, and usecanrather thanmaywhen describing possibility rather than permission.
Avoid ambiguous numeric dates and ordinal dates in body text.
For learning-oriented documentation, do not force trademark symbols unless the source document explicitly requires them.
When reporting documentation-review findings, lead withMust fix,Should fix, andNice to havecategories; include file path, line reference, current problem, rationale, and a concrete rewrite or direction.
Files:
python/README.mdpython/pypi.mdadapters/claude/pypi.mdadapters/deepagents/pypi.mdadapters/codex/pypi.mdadapters/common/pypi.mdadapters/hermes/README.mdREADME.mdadapters/codex/README.mdadapters/claude/README.mdadapters/deepagents/README.mddocs/sdk/python.mdxdocs/experimentation/cli.mdxdocs/getting-started/install.mdxpypi.mdadapters/common/README.mdexamples/harbor/calculator/README.mdadapters/hermes/pypi.mddocs/getting-started/quickstart.mdxdocs/about-nemo-fabric/overview.mdxexamples/harbor/swebench/README.md
**/*.{rs,py,html,md,mdx,toml,yaml,yml,sh,bash}
📄 CodeRabbit inference engine (CONTRIBUTING.md)
All source files must include the specified SPDX copyright and Apache-2.0 license headers using the comment syntax appropriate to the file type.
Files:
python/README.mdadapters/common/pyproject.tomlpython/pypi.mdadapters/claude/pypi.mdadapters/deepagents/pypi.mdadapters/codex/pypi.mdadapters/deepagents/pyproject.tomladapters/claude/pyproject.tomladapters/common/pypi.mdadapters/hermes/README.mdadapters/hermes/pyproject.tomlREADME.mdadapters/codex/README.mdpython/pyproject.tomladapters/claude/README.mdadapters/deepagents/README.mddocs/sdk/python.mdxcrates/fabric-cli/src/presets.rsdocs/experimentation/cli.mdxcrates/fabric-cli/src/scaffold.rstests/adapters/test_deepagents.pydocs/getting-started/install.mdxtests/e2e/test_hermes_e2e.pytests/docs/test_python_api_docs.pytests/integrations/test_harbor_runner.pyexamples/code_review_agent/config.pyadapters/codex/pyproject.tomlpypi.mdadapters/common/README.mdexamples/harbor/calculator/README.mdadapters/hermes/pypi.mddocs/getting-started/quickstart.mdxdocs/about-nemo-fabric/overview.mdxtests/e2e/test_hermes_config_mapping.pypyproject.tomlexamples/harbor/swebench/README.md
**/*.{md,mdx,yml,py,rs,sh}
📄 CodeRabbit inference engine (.agents/skills/review-doc-style/SKILL.md)
Keep documentation aligned with current NeMo Fabric behavior, repository layout, entry points, commands, package names, APIs, bindings, and support claims.
Files:
python/README.mdpython/pypi.mdadapters/claude/pypi.mdadapters/deepagents/pypi.mdadapters/codex/pypi.mdadapters/common/pypi.mdadapters/hermes/README.mdREADME.mdadapters/codex/README.mdadapters/claude/README.mdadapters/deepagents/README.mddocs/sdk/python.mdxcrates/fabric-cli/src/presets.rsdocs/experimentation/cli.mdxcrates/fabric-cli/src/scaffold.rstests/adapters/test_deepagents.pydocs/getting-started/install.mdxtests/e2e/test_hermes_e2e.pytests/docs/test_python_api_docs.pytests/integrations/test_harbor_runner.pyexamples/code_review_agent/config.pypypi.mdadapters/common/README.mdexamples/harbor/calculator/README.mdadapters/hermes/pypi.mddocs/getting-started/quickstart.mdxdocs/about-nemo-fabric/overview.mdxtests/e2e/test_hermes_config_mapping.pyexamples/harbor/swebench/README.md
{*.md,**/*.md,**/*.mdx,**/*.ipynb}
⚙️ CodeRabbit configuration file
{*.md,**/*.md,**/*.mdx,**/*.ipynb}: Enforce the product name in user-facing prose: use "NVIDIA NeMo Fabric" on first use and "NeMo Fabric" thereafter. Flag standalone capitalized "Fabric" when it refers to the product. Do not flag the lowercasefabricCLI command, package/import/crate names, code identifiers, API symbols, configuration keys, file paths, or unrelated generic uses of the word.
Files:
python/README.mdpython/pypi.mdadapters/claude/pypi.mdadapters/deepagents/pypi.mdadapters/codex/pypi.mdadapters/common/pypi.mdadapters/hermes/README.mdREADME.mdadapters/codex/README.mdadapters/claude/README.mdexamples/notebooks/02_variations.ipynbexamples/notebooks/01_quickstart.ipynbadapters/deepagents/README.mddocs/sdk/python.mdxdocs/experimentation/cli.mdxdocs/getting-started/install.mdxpypi.mdadapters/common/README.mdexamples/harbor/calculator/README.mdadapters/hermes/pypi.mddocs/getting-started/quickstart.mdxdocs/about-nemo-fabric/overview.mdxexamples/harbor/swebench/README.md
**/*.{rs,toml}
📄 CodeRabbit inference engine (.agents/skills/prepare-pr/SKILL.md)
For any Rust change, run
just test-rustandcargo fmt --all -- --check.For Rust core, CLI, or shared runtime semantic changes, run Rust formatting and tests, and add Python tests when behavior is exposed through the SDK.
Files:
adapters/common/pyproject.tomladapters/deepagents/pyproject.tomladapters/claude/pyproject.tomladapters/hermes/pyproject.tomlpython/pyproject.tomlcrates/fabric-cli/src/presets.rscrates/fabric-cli/src/scaffold.rsadapters/codex/pyproject.tomlpyproject.toml
**/{Cargo.toml,Cargo.lock,pyproject.toml,package.json}
📄 CodeRabbit inference engine (.agents/skills/prepare-pr/SKILL.md)
For new or updated dependencies, document the functional need, alternatives considered, and why the selected dependency is the narrowest fit.
Files:
adapters/common/pyproject.tomladapters/deepagents/pyproject.tomladapters/claude/pyproject.tomladapters/hermes/pyproject.tomlpython/pyproject.tomladapters/codex/pyproject.tomlpyproject.toml
**/*.{toml,lock}
📄 CodeRabbit inference engine (.agents/skills/validate-change/SKILL.md)
If a manifest or lockfile changes, run the license-diff script against
origin/main, review transitive license changes, and run theattributions-rustandattributions-pythonpre-commit hooks.
Files:
adapters/common/pyproject.tomladapters/deepagents/pyproject.tomladapters/claude/pyproject.tomladapters/hermes/pyproject.tomlpython/pyproject.tomladapters/codex/pyproject.tomlpyproject.toml
**/*.{yml,yaml,toml,lock}
📄 CodeRabbit inference engine (.agents/skills/validate-change/SKILL.md)
For CI or packaging changes, use
maintain-ciormaintain-packaging, then run recipes and checks whose behavior changed.
Files:
adapters/common/pyproject.tomladapters/deepagents/pyproject.tomladapters/claude/pyproject.tomladapters/hermes/pyproject.tomlpython/pyproject.tomladapters/codex/pyproject.tomlpyproject.toml
{pyproject.toml,adapters/**/pyproject.toml}
📄 CodeRabbit inference engine (.agents/skills/update-project-version/SKILL.md)
{pyproject.toml,adapters/**/pyproject.toml}: Update the literalproject.versionin the root setuptools project and every adapterpyproject.toml.
Keep internal exact-version requirements aligned: rootnemo-fabric-* == <version>optional dependencies and each adapter'snemo-fabric-adapters-common == <version>dependency.
Files:
adapters/common/pyproject.tomladapters/deepagents/pyproject.tomladapters/claude/pyproject.tomladapters/hermes/pyproject.tomladapters/codex/pyproject.tomlpyproject.toml
**/*.{rs,py,toml}
📄 CodeRabbit inference engine (.agents/skills/update-project-version/SKILL.md)
When editing version helpers, verify every
nemo-fabric-*workspace package through Cargo metadata and reject a static version inpython/pyproject.toml.
Files:
adapters/common/pyproject.tomladapters/deepagents/pyproject.tomladapters/claude/pyproject.tomladapters/hermes/pyproject.tomlpython/pyproject.tomlcrates/fabric-cli/src/presets.rscrates/fabric-cli/src/scaffold.rstests/adapters/test_deepagents.pytests/e2e/test_hermes_e2e.pytests/docs/test_python_api_docs.pytests/integrations/test_harbor_runner.pyexamples/code_review_agent/config.pyadapters/codex/pyproject.tomltests/e2e/test_hermes_config_mapping.pypyproject.toml
**/*.{toml,rs,py}
📄 CodeRabbit inference engine (.agents/skills/update-project-version/SKILL.md)
Avoid blind repository-wide replacement of version-like strings; distinguish package-version references from examples and unrelated dependency versions.
Files:
adapters/common/pyproject.tomladapters/deepagents/pyproject.tomladapters/claude/pyproject.tomladapters/hermes/pyproject.tomlpython/pyproject.tomlcrates/fabric-cli/src/presets.rscrates/fabric-cli/src/scaffold.rstests/adapters/test_deepagents.pytests/e2e/test_hermes_e2e.pytests/docs/test_python_api_docs.pytests/integrations/test_harbor_runner.pyexamples/code_review_agent/config.pyadapters/codex/pyproject.tomltests/e2e/test_hermes_config_mapping.pypyproject.toml
adapters/*/{README.md,LICENSE,fabric-adapter.json,pyproject.toml,uv.lock,package.json,package-lock.json,src/**,tests/**}
📄 CodeRabbit inference engine (.agents/skills/contribute-adapter/SKILL.md)
Place each adapter under
adapters/<name>withLICENSE -> ../../LICENSE,README.md,fabric-adapter.json, language-native package and lock files, a source entry point, and focused tests; Python adapters use the specifiedpyproject.toml,uv.lock, source path, and test naming convention.
Files:
adapters/common/pyproject.tomladapters/deepagents/pyproject.tomladapters/claude/pyproject.tomladapters/hermes/README.mdadapters/hermes/pyproject.tomladapters/codex/README.mdadapters/claude/README.mdadapters/deepagents/README.mdadapters/codex/pyproject.tomladapters/common/README.md
adapters/*/pyproject.toml
📄 CodeRabbit inference engine (.agents/skills/contribute-adapter/SKILL.md)
Keep published Python runtime dependencies razor-thin and adapter-owned; directly imported SDK/client libraries must be declared, while external-process harness dependencies must not be installed or upgraded and test-only dependencies belong in
[dependency-groups].
Files:
adapters/common/pyproject.tomladapters/deepagents/pyproject.tomladapters/claude/pyproject.tomladapters/hermes/pyproject.tomladapters/codex/pyproject.toml
{adapters/**,examples/**}
⚙️ CodeRabbit configuration file
{adapters/**,examples/**}: Review adapter and example changes for command correctness, config/schema consistency, artifact handling, and compatibility with the public NeMo Fabric contracts.
Files:
adapters/common/pyproject.tomladapters/claude/pypi.mdadapters/deepagents/pypi.mdadapters/codex/pypi.mdadapters/deepagents/pyproject.tomladapters/claude/pyproject.tomladapters/common/pypi.mdadapters/hermes/README.mdadapters/hermes/pyproject.tomladapters/codex/README.mdadapters/claude/README.mdexamples/notebooks/02_variations.ipynbexamples/notebooks/01_quickstart.ipynbadapters/deepagents/README.mdexamples/code_review_agent/config.pyadapters/codex/pyproject.tomladapters/common/README.mdexamples/harbor/calculator/README.mdadapters/hermes/pypi.mdexamples/harbor/swebench/README.md
adapters/*/README.md
📄 CodeRabbit inference engine (AGENTS.md)
Update adapter integration READMEs when public behavior, examples, or supported bindings change.
Document installation, supported configuration, harness-only settings, credentials, lifecycle, telemetry, artifacts, limitations, focused test commands, and canonical typed SDK or harness-native YAML examples where applicable.
Files:
adapters/hermes/README.mdadapters/codex/README.mdadapters/claude/README.mdadapters/deepagents/README.mdadapters/common/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.mddocs/sdk/python.mdxdocs/experimentation/cli.mdxdocs/getting-started/install.mdxexamples/harbor/calculator/README.mddocs/getting-started/quickstart.mdxdocs/about-nemo-fabric/overview.mdxexamples/harbor/swebench/README.md
{README.md,docs/index.yml}
📄 CodeRabbit inference engine (.agents/skills/contribute-docs/SKILL.md)
Update
README.mdordocs/index.ymlwhen documentation entry points or example reading paths change.
Files:
README.md
README.md
📄 CodeRabbit inference engine (AGENTS.md)
Update the root
README.mdwhen public behavior, thenemo-fabricpackage (imported asnemo_fabric), examples, or supported bindings change.
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.
For links between files under docs/, require paths relative to the source file with the target file's .mdx extension so they work in both Fern builds and repository browsers. Flag Fern site-root links such as NeMo Fabric overview; use the repository-relative equivalent, such as NeMo Fabric overview.
Files:
README.mddocs/sdk/python.mdxdocs/experimentation/cli.mdxdocs/getting-started/install.mdxdocs/getting-started/quickstart.mdxdocs/about-nemo-fabric/overview.mdx
{Cargo.toml,python/pyproject.toml,pyproject.toml}
📄 CodeRabbit inference engine (.agents/skills/maintain-packaging/SKILL.md)
Keep Rust workspace/package metadata and Python/maturin package metadata internally consistent, including package names, versions, import paths, and module names.
Files:
python/pyproject.tomlpyproject.toml
{Cargo.toml,Cargo.lock,pyproject.toml,uv.lock,python/pyproject.toml}
📄 CodeRabbit inference engine (.agents/skills/maintain-packaging/SKILL.md)
{Cargo.toml,Cargo.lock,pyproject.toml,uv.lock,python/pyproject.toml}: Keep workspace, Python, and lockfile dependency versions aligned where required, and review both direct and transitive dependency changes from resolved lockfiles.
Inspect resolved transitive licenses, explicitly surface UNKNOWN, non-SPDX/custom, proprietary, source-available, copyleft, or network-copyleft terms, and route unresolved licensing questions to dependency approvers with distribution and linkage context.
Document the functional need, alternatives considered, rationale for the selected dependency, and any unresolved licensing question when introducing dependencies.
Files:
python/pyproject.tomlpyproject.toml
{Cargo.toml,pyproject.toml,python/pyproject.toml}
📄 CodeRabbit inference engine (.agents/skills/maintain-packaging/SKILL.md)
Before adding a dependency, prefer the standard library, an existing dependency, or a small local implementation when appropriate; otherwise select a maintained, narrow-fit dependency with clear SPDX metadata and a permissive license where possible.
Files:
python/pyproject.tomlpyproject.toml
{pyproject.toml,python/pyproject.toml,Cargo.toml,docs/package.json,.github/workflows/*.yml,justfile}
📄 CodeRabbit inference engine (.agents/skills/maintain-packaging/SKILL.md)
Reflect public packaging changes in release-facing documentation and ensure CI references the same package names and commands used by local workflows.
Files:
python/pyproject.tomlpyproject.toml
python/pyproject.toml
📄 CodeRabbit inference engine (.agents/skills/update-project-version/SKILL.md)
Keep
project.dynamic = ["version"]; do not add a literalproject.version, because Maturin derives the runtime version from Cargo metadata.
Files:
python/pyproject.toml
examples/{README.md,**/*}
📄 CodeRabbit inference engine (AGENTS.md)
Update examples documentation and relevant examples when public behavior, the package, or supported bindings change.
Files:
examples/notebooks/02_variations.ipynbexamples/notebooks/01_quickstart.ipynbexamples/code_review_agent/config.pyexamples/harbor/calculator/README.mdexamples/harbor/swebench/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.mdxdocs/experimentation/cli.mdxdocs/getting-started/install.mdxexamples/harbor/calculator/README.mddocs/getting-started/quickstart.mdxdocs/about-nemo-fabric/overview.mdxexamples/harbor/swebench/README.md
**/*.mdx
📄 CodeRabbit inference engine (.agents/skills/contribute-docs/SKILL.md)
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.mdxdocs/experimentation/cli.mdxdocs/getting-started/install.mdxdocs/getting-started/quickstart.mdxdocs/about-nemo-fabric/overview.mdx
docs/**/*.{md,mdx,yml}
📄 CodeRabbit inference engine (.agents/skills/contribute-docs/SKILL.md)
Run
just docswhen the documentation site changes.Update user-facing Fern documentation, including
docs/index.yml, when public behavior, the package, examples, or supported bindings change.
Files:
docs/sdk/python.mdxdocs/experimentation/cli.mdxdocs/getting-started/install.mdxdocs/getting-started/quickstart.mdxdocs/about-nemo-fabric/overview.mdx
docs/sdk/python.mdx
📄 CodeRabbit inference engine (AGENTS.md)
Keep the Python/Rust binding contract current when the public API changes.
Files:
docs/sdk/python.mdx
docs/**/*.mdx
📄 CodeRabbit inference engine (.agents/skills/review-doc-style/SKILL.md)
docs/**/*.mdx: Use source-relative links with the target.mdxextension for links between files underdocs/; do not use Fern site-root paths.
Use{/* ... */}delimiters for top-of-file MDX SPDX comments, not HTML comment delimiters.
Files:
docs/sdk/python.mdxdocs/experimentation/cli.mdxdocs/getting-started/install.mdxdocs/getting-started/quickstart.mdxdocs/about-nemo-fabric/overview.mdx
**/*.rs
📄 CodeRabbit inference engine (.agents/skills/contribute-api/SKILL.md)
Implement new runtime or binding behavior in the shared Rust core first.
**/*.rs: Format Rust code withcargo fmt --alland ensurecargo fmt --all -- --checkpasses.
Runcargo check --workspace --lockedwhen changing the Rust core, CLI, or native Python extension.
Files:
crates/fabric-cli/src/presets.rscrates/fabric-cli/src/scaffold.rs
**/*.{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:
crates/fabric-cli/src/presets.rscrates/fabric-cli/src/scaffold.rstests/adapters/test_deepagents.pytests/e2e/test_hermes_e2e.pytests/docs/test_python_api_docs.pytests/integrations/test_harbor_runner.pyexamples/code_review_agent/config.pytests/e2e/test_hermes_config_mapping.py
**/*.{rs,py}
📄 CodeRabbit inference engine (.agents/skills/prepare-pr/SKILL.md)
For native binding changes, run
cargo check -p fabric-python --locked.
**/*.{rs,py}: Usesnake_casefor functions and variables; usePascalCasefor Rust types and Python classes.
Run the relevant Rust and Python test suites for every affected language surface; changes to the Rust core or public schemas require both suites.
Files:
crates/fabric-cli/src/presets.rscrates/fabric-cli/src/scaffold.rstests/adapters/test_deepagents.pytests/e2e/test_hermes_e2e.pytests/docs/test_python_api_docs.pytests/integrations/test_harbor_runner.pyexamples/code_review_agent/config.pytests/e2e/test_hermes_config_mapping.py
**/*.{rs,rmeta}
📄 CodeRabbit inference engine (.agents/skills/validate-change/SKILL.md)
If Rust code changes, run
cargo fmt --all -- --checkandjust test-rust.
Files:
crates/fabric-cli/src/presets.rscrates/fabric-cli/src/scaffold.rs
**/*.{rs,py,pyi}
📄 CodeRabbit inference engine (.agents/skills/validate-change/SKILL.md)
**/*.{rs,py,pyi}: If public configuration types change, confirm schema snapshot tests injust test-rustpass and review generated schema diffs.
For schema or public contract changes, run both language suites and review changes underschemas/and generated API references.
Files:
crates/fabric-cli/src/presets.rscrates/fabric-cli/src/scaffold.rstests/adapters/test_deepagents.pytests/e2e/test_hermes_e2e.pytests/docs/test_python_api_docs.pytests/integrations/test_harbor_runner.pyexamples/code_review_agent/config.pytests/e2e/test_hermes_config_mapping.py
**/*.{py,pyi,rs}
📄 CodeRabbit inference engine (.agents/skills/validate-change/SKILL.md)
For Python SDK or PyO3 binding changes, use
python-tests, run focused pytest tests first, thenjust test-python; rebuild withjust build-pythonwhen native code or packaging changes.
Files:
crates/fabric-cli/src/presets.rscrates/fabric-cli/src/scaffold.rstests/adapters/test_deepagents.pytests/e2e/test_hermes_e2e.pytests/docs/test_python_api_docs.pytests/integrations/test_harbor_runner.pyexamples/code_review_agent/config.pytests/e2e/test_hermes_config_mapping.py
**/*.{rs,py,json}
📄 CodeRabbit inference engine (CONTRIBUTING.md)
When adding functionality, include tests in the corresponding Rust crate or relevant
tests/area; public contract changes must keep checked-in JSON Schema snapshots and native Python binding declarations synchronized.
Files:
crates/fabric-cli/src/presets.rscrates/fabric-cli/src/scaffold.rstests/adapters/test_deepagents.pytests/e2e/test_hermes_e2e.pytests/docs/test_python_api_docs.pytests/integrations/test_harbor_runner.pyexamples/code_review_agent/config.pytests/e2e/test_hermes_config_mapping.py
**/*.{py,pyi}
📄 CodeRabbit inference engine (.agents/skills/validate-change/SKILL.md)
If Python code or a Python-facing adapter changes, run
just test-python.
Files:
tests/adapters/test_deepagents.pytests/e2e/test_hermes_e2e.pytests/docs/test_python_api_docs.pytests/integrations/test_harbor_runner.pyexamples/code_review_agent/config.pytests/e2e/test_hermes_config_mapping.py
tests/adapters/**/*.py
📄 CodeRabbit inference engine (.agents/skills/validate-change/SKILL.md)
tests/adapters/**/*.py: If an adapter or integration changes, run its focused tests.
For adapter behavior changes, run focused adapter tests undertests/adapters, then runjust test-python.
Files:
tests/adapters/test_deepagents.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.asyncioto tests; async tests are automatically detected and run by the async runner.
Do not add-> Nonereturn type annotations to test functions.
When mocking a class, useunittest.mock.MagicMockorunittest.mock.AsyncMock, using thespecargument when necessary, rather than defining a new class.
Prefix mocked class names withmock, notfake.
Prefer pytest fixtures over helper methods.
Do not repeat fixtures; place fixtures needed by multiple test files inconftest.py.
Define fixtures using@pytest.fixture(name="<fixture_name>"[, scope="<scope>"])and a function named<fixture_name>_fixture; specifyscopeonly when it is notfunction.
Preferpytest.mark.parametrizeover separate tests for different input types.
Use@pytest.mark.usefixtureswhen a fixture is needed but its return value is unused or it does not return a value.
Use the autouserestore_environ_fixturefromtests/conftest.pyto restore environment variables; modify variables withos.environand do not usemonkeypatch.setenv.
Avoid defensive programming in tests; access expected data directly so missing data raises a clear failure, such as usingresults["data"]instead ofresults.get("data").
Files:
tests/adapters/test_deepagents.pytests/e2e/test_hermes_e2e.pytests/docs/test_python_api_docs.pytests/integrations/test_harbor_runner.pytests/e2e/test_hermes_config_mapping.py
**/*.py
📄 CodeRabbit inference engine (CONTRIBUTING.md)
Use type annotations for public Python APIs and keep native binding declarations synchronized with their Rust implementations.
Files:
tests/adapters/test_deepagents.pytests/e2e/test_hermes_e2e.pytests/docs/test_python_api_docs.pytests/integrations/test_harbor_runner.pyexamples/code_review_agent/config.pytests/e2e/test_hermes_config_mapping.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/adapters/test_deepagents.pytests/e2e/test_hermes_e2e.pytests/docs/test_python_api_docs.pytests/integrations/test_harbor_runner.pytests/e2e/test_hermes_config_mapping.py
{Cargo.toml,Cargo.lock,pyproject.toml,uv.lock}
📄 CodeRabbit inference engine (.agents/skills/maintain-packaging/SKILL.md)
After updating manifests or lockfiles, run
uv run --no-project python scripts/licensing/license_diff.py --base-ref origin/mainand review added packages and license changes.
Files:
pyproject.toml
🔇 Additional comments (29)
crates/fabric-cli/src/presets.rs (1)
187-187: 📐 Maintainability & Code QualityVerify Required Rust Checks.
Run
cargo fmt --all -- --check,cargo check --workspace --locked, andjust test-rustbefore merge.As per coding guidelines: “Run
cargo check --workspace --lockedwhen changing the Rust core, CLI, or native Python extension.”Also applies to: 243-243
Source: Coding guidelines
docs/about-nemo-fabric/overview.mdx (1)
50-52: 🎯 Functional CorrectnessKeep the generated API links as
.mdtargets.The Client, Runtime, and Streaming pages exist, are registered in
docs/index.yml, and define the corresponding public slugs. Replacing them with.mdxtargets would create broken links.> Likely an incorrect or invalid review comment.adapters/common/pypi.md (1)
26-26: LGTM!adapters/common/pyproject.toml (1)
32-32: LGTM!adapters/deepagents/README.md (1)
29-29: LGTM!adapters/deepagents/pypi.md (1)
33-33: LGTM!pyproject.toml (1)
35-35: LGTM!python/README.md (1)
20-20: LGTM!python/pypi.md (1)
33-33: LGTM!python/pyproject.toml (1)
34-34: LGTM!tests/docs/test_python_api_docs.py (1)
35-36: LGTM!Also applies to: 359-388
crates/fabric-cli/src/scaffold.rs (1)
434-434: 📐 Maintainability & Code QualityRun the required Rust checks before merge.
The checks remain pending because the environment has no installed Rust toolchain and no
justexecutable.examples/harbor/calculator/README.md (1)
84-84: LGTM!Also applies to: 109-109
examples/harbor/swebench/README.md (1)
76-76: LGTM!Also applies to: 142-142, 233-233
examples/notebooks/01_quickstart.ipynb (1)
219-219: LGTM!examples/notebooks/02_variations.ipynb (1)
200-200: LGTM!tests/adapters/test_deepagents.py (1)
161-161: LGTM!Also applies to: 271-271
adapters/hermes/README.md (1)
27-27: LGTM!adapters/hermes/pypi.md (1)
34-34: LGTM!tests/e2e/test_hermes_config_mapping.py (1)
35-35: LGTM!Also applies to: 62-62
tests/integrations/test_harbor_runner.py (1)
319-319: LGTM!Also applies to: 401-401, 451-451, 483-483
adapters/claude/README.md (2)
27-27: LGTM!Also applies to: 125-125
61-61: 📐 Maintainability & Code QualityVerify that the Claude authentication link targets the stable release.
The new URL resolves to the
dev/BetaClaude adapter page, while the installation page is labeled stablev0.1.0. If this README documents the stable release, use a versioned stable integration page or another stable entry point. (docs.nvidia.com)adapters/claude/pypi.md (1)
28-30: LGTM!adapters/claude/pyproject.toml (1)
44-44: LGTM!adapters/codex/README.md (1)
26-26: LGTM!Also applies to: 150-150
adapters/codex/pypi.md (1)
28-30: LGTM!adapters/codex/pyproject.toml (1)
44-44: LGTM!adapters/common/README.md (1)
18-18: LGTM!
| Homepage = "https://github.com/NVIDIA/NeMo-Fabric" | ||
| Issues = "https://github.com/NVIDIA/NeMo-Fabric/issues" | ||
| Documentation = "https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric" | ||
| Documentation = "https://docs.nvidia.com/nemo/fabric" |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Fix the package documentation URL in both adapter manifests.
The exact no-slash URL returns 404. Use the slash-terminated documentation root or the canonical overview page. ()
adapters/deepagents/pyproject.toml#L56-L56: add the trailing slash toDocumentation.adapters/hermes/pyproject.toml#L48-L48: add the trailing slash toDocumentation.
📍 Affects 2 files
adapters/deepagents/pyproject.toml#L56-L56(this comment)adapters/hermes/pyproject.toml#L48-L48
🤖 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 `@adapters/deepagents/pyproject.toml` at line 56, Update the Documentation URL
in adapters/deepagents/pyproject.toml at lines 56-56 and
adapters/hermes/pyproject.toml at lines 48-48 to use the slash-terminated NVIDIA
NeMo Fabric documentation root, preserving the existing URL otherwise.
Source: MCP tools
| Some(model( | ||
| "nvidia", | ||
| "nvidia/nemotron-3-nano-30b-a3b", | ||
| "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning", |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Should Fix: Add Exact Default-Model Assertions.
adapter_presets_use_nvidia_credentials does not verify these changed model defaults. Add assertions for the Hermes and Deep Agents identifiers.
Proposed test
+ for (name, expected_model) in [
+ ("hermes", "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning"),
+ ("deepagents", "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning"),
+ ] {
+ let config = find(name)
+ .expect("catalog preset")
+ .config()
+ .expect("construct catalog config");
+ let model = config.models.get("default").expect("default model");
+ assert_eq!(model.model, expected_model);
+ }As per coding guidelines: “Run the relevant Rust and Python test suites for every affected language surface.”
Also applies to: 243-243
🤖 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 `@crates/fabric-cli/src/presets.rs` at line 187, Update the
adapter_presets_use_nvidia_credentials test to assert the exact default model
identifiers for both the Hermes and Deep Agents presets, including the changed
NVIDIA model values. Preserve the existing credential assertions and run the
relevant Rust and Python test suites.
Source: Coding guidelines
| Use the following table to choose the NeMo Fabric interface that best fits how | ||
| your application works with harnesses: | ||
|
|
||
| | Interface | Use it when | Start with | |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Should Fix: Use Title Case for Table Headers.
Change Use it when to Use It When. Change Start with to Start With.
As per coding guidelines: “Use consistent title case for technical-document headings and table headers.”
🤖 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 48, Update the table header row
by changing “Use it when” to “Use It When” and “Start with” to “Start With,”
preserving the existing table structure and wording otherwise.
Source: Coding guidelines
| | Runtime API | You need multiple ordered turns over one live harness runtime | [Runtime](../reference/api/python-library-reference/nemo_fabric.runtime.md) | | ||
| | Streaming API | You need live ATOF records generated by NeMo Relay during a runtime turn | [Streaming](../reference/api/python-library-reference/nemo_fabric.streaming.md) | | ||
| | `nemo-fabric` CLI | You are experimenting with harnesses, running maintained examples, or troubleshooting configs | [Experimentation CLI](../experimentation/cli.mdx) | | ||
| | JSON Schema | You are building editors, validation, code generation, or another language binding | Committed schemas in the [repository](https://github.com/NVIDIA/NeMo-Fabric/tree/main/schemas) | |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Should Fix: Use the Repository Name as Link Text.
Replace [repository] with [NVIDIA/NeMo-Fabric]. Generic link text does not identify the destination.
As per coding guidelines: “Link GitHub repositories using owner/repository link text.”
🤖 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 54, Update the JSON Schema row
in the overview documentation to use “NVIDIA/NeMo-Fabric” as the repository link
text, preserving the existing repository URL and surrounding table content.
Source: Coding guidelines
| - **Quickstart** — [Quickstart](../getting-started/quickstart.mdx) to build from | ||
| source and run the maintained SDK example. |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Must Fix: Correct the Quickstart Description.
The Quickstart installs the package and runs an SDK example. It does not build from source. Replace “to build from source and run” with “to install NVIDIA NeMo Fabric and run.” The published Quickstart uses pip install for setup. (docs.nvidia.com)
As per coding guidelines: “Treat incorrect or stale commands, package names, paths, APIs, support claims, procedures, examples, terminology, or public behavior documentation as blocking issues.”
🤖 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 94 - 95, Update the
Quickstart entry in the overview documentation to describe installing NVIDIA
NeMo Fabric and running the maintained SDK example, replacing the inaccurate
“build from source” wording while preserving the existing link and example
reference.
Sources: Coding guidelines, Path instructions
Overview
Summary by CodeRabbit
Documentation
New Features
Tests