chore: Remove duplicate adapter extras#94
Conversation
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>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Enterprise Run ID: 📒 Files selected for processing (1)
📜 Recent review details⏰ Context from checks skipped due to timeout. (12)
🧰 Additional context used📓 Path-based instructions (8)**/*.{md,rst}📄 CodeRabbit inference engine (.agents/skills/contribute-api/SKILL.md)
Files:
**/*📄 CodeRabbit inference engine (.agents/skills/karpathy-guidelines/SKILL.md)
Files:
**/*.{md,mdx}📄 CodeRabbit inference engine (.agents/skills/review-doc-style/SKILL.md)
Files:
**/*.{md,mdx,rst}📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-guide.md)
Files:
**/*.{md,rst,txt,adoc}📄 CodeRabbit inference engine (.agents/skills/review-doc-style/assets/nvidia-style-language-mechanics.md)
Files:
**/*.{rs,py,html,md,mdx,toml,yaml,yml,sh,bash}📄 CodeRabbit inference engine (CONTRIBUTING.md)
Files:
**/*.{rs,py,html,md,toml,yaml,yml,sh,bash}📄 CodeRabbit inference engine (CONTRIBUTING.md)
Files:
{adapters/**,examples/**}⚙️ CodeRabbit configuration file
Files:
🧠 Learnings (1)📓 Common learnings🔇 Additional comments (1)
WalkthroughNeMo Fabric renames adapter optional dependency groups to unprefixed names, adds a ChangesAdapter extras and installation guidance
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Signed-off-by: David Gardner <dagardner@nvidia.com>
|
Fern docs preview: https://nvidia-preview-pull-request-94.docs.buildwithfern.com/nemo/fabric |
There was a problem hiding this comment.
Actionable comments posted: 2
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
docs/getting-started/install.mdx (1)
37-52: 🎯 Functional Correctness | 🟠 Major | ⚡ Quick winDocument the separate
hermes-agentextra.The new extra is missing from the available-extras guidance, and the Hermes example installs only
nemo-fabric-adapters-hermes. Add an explicit full-install example such asnemo-fabric[hermes,hermes-agent], while clarifying thatnemo-fabric[hermes]is adapter-only.As per path instructions, installation documentation must reflect public packaging changes.
🤖 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/getting-started/install.mdx` around lines 37 - 52, Update the adapter extras list to include the separate hermes-agent extra, and revise the Hermes installation guidance to distinguish adapter-only installation via nemo-fabric[hermes] from the full installation using both hermes and hermes-agent extras.Source: Coding guidelines
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@adapters/hermes/README.md`:
- Around line 12-21: Update the installation examples in the README to retain
the adapter-only command and add the complete runnable Hermes Agent command
using the separate hermes-agent extra alongside hermes. Keep the existing
runtime installation example unchanged.
In `@skills/nemo-fabric-integrate/SKILL.md`:
- Around line 53-58: Update the Hermes setup guidance in SKILL.md so adapter_id
nvidia.fabric.hermes uses the conditional extra command
nemo-fabric[hermes,hermes-agent], and add hermes-agent to the listed available
extras while preserving the existing instructions for other adapters.
---
Outside diff comments:
In `@docs/getting-started/install.mdx`:
- Around line 37-52: Update the adapter extras list to include the separate
hermes-agent extra, and revise the Hermes installation guidance to distinguish
adapter-only installation via nemo-fabric[hermes] from the full installation
using both hermes and hermes-agent extras.
🪄 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: 800176d3-f584-4987-8019-7b1b6cfb4190
⛔ Files ignored due to path filters (1)
uv.lockis excluded by!**/*.lock
📒 Files selected for processing (12)
.pre-commit-config.yamlCONTRIBUTING.mdREADME.mdadapters/common/README.mdadapters/hermes/README.mddocs/getting-started/install.mdxdocs/getting-started/quickstart.mdxexamples/harbor/calculator/task/environment/Dockerfileexamples/harbor/prepare_swebench.shpyproject.tomlskills/nemo-fabric-integrate/SKILL.mdtests/integrations/test_harbor_runner.py
💤 Files with no reviewable changes (1)
- adapters/common/README.md
📜 Review details
⏰ Context from checks skipped due to timeout. (3)
- GitHub Check: Pre-commit
- GitHub Check: Preview docs
- GitHub Check: Test (Python 3.14, x86_64)
🧰 Additional context used
📓 Path-based instructions (35)
**/*
📄 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.
**/*: Keep pull request branch scope coherent and reviewable.
Run relevant tests undervalidate-changebefore 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. Usefixonly 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 Issues: (use one of the action keywords Closes / Fixes / Resolves / Relates to)with the required content.
Only check contribution-confirmation boxes when they are true; if either confirmation cannot be made, stop before opening the pull request and surface...
Files:
examples/harbor/prepare_swebench.shdocs/getting-started/quickstart.mdxtests/integrations/test_harbor_runner.pyREADME.mdadapters/hermes/README.mdexamples/harbor/calculator/task/environment/DockerfileCONTRIBUTING.mdskills/nemo-fabric-integrate/SKILL.mddocs/getting-started/install.mdxpyproject.toml
**/*.{toml,yaml,yml,sh}
📄 CodeRabbit inference engine (CONTRIBUTING.md)
TOML, YAML, and shell files must use the specified
#SPDX license header.
Files:
examples/harbor/prepare_swebench.shpyproject.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 Fabric contracts.
Files:
examples/harbor/prepare_swebench.shadapters/hermes/README.mdexamples/harbor/calculator/task/environment/Dockerfile
{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/getting-started/quickstart.mdxREADME.mddocs/getting-started/install.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/getting-started/quickstart.mdxdocs/getting-started/install.mdx
**/*.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.MDX files must use the specified JSX-comment SPDX header.
Files:
docs/getting-started/quickstart.mdxdocs/getting-started/install.mdx
docs/**/*.{md,mdx,yml}
📄 CodeRabbit inference engine (.agents/skills/contribute-docs/SKILL.md)
Run
just docswhen the documentation site changes.
Files:
docs/getting-started/quickstart.mdxdocs/getting-started/install.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/getting-started/quickstart.mdxdocs/getting-started/install.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/getting-started/quickstart.mdxdocs/getting-started/install.mdx
**/*.{md,mdx}
📄 CodeRabbit inference engine (.agents/skills/review-doc-style/SKILL.md)
**/*.{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, includingREADME.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.
CapitalizeNVIDIAcorrectly 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 ashere.
Write procedures as short, imperative, parallel, easy-to-scan steps; prefer active voice, present tense, plain English, and concise sentences.
Useafterinstead ofoncewhen expressing temporal sequence, and usecaninstead ofmaywhen describing possibility rather than permission.
Use unambiguous date formats and avoid ordinal dates in body text.
When reviewing documentation, report findings in severity order underMust fix,Should fix, andNice to have, with file paths, line references, explanations, and concrete rewrites or directions.For docs site changes, run
just docsto regenerate Python and Rust API references and validate the Fern configuration.
Files:
docs/getting-started/quickstart.mdxREADME.mdadapters/hermes/README.mdCONTRIBUTING.mdskills/nemo-fabric-integrate/SKILL.mddocs/getting-started/install.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 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:
docs/getting-started/quickstart.mdxREADME.mdadapters/hermes/README.mdCONTRIBUTING.mdskills/nemo-fabric-integrate/SKILL.mddocs/getting-started/install.mdx
docs/**/*
📄 CodeRabbit inference engine (.agents/skills/validate-change/SKILL.md)
For documentation or examples changes, run
just docswhen practical and verify documented commands against the current repository.
Files:
docs/getting-started/quickstart.mdxdocs/getting-started/install.mdx
**/*.{md,mdx,py,rs}
📄 CodeRabbit inference engine (CONTRIBUTING.md)
If a change affects public behavior, adapters, examples, or workspace structure, update the corresponding documentation in the same branch.
Files:
docs/getting-started/quickstart.mdxtests/integrations/test_harbor_runner.pyREADME.mdadapters/hermes/README.mdCONTRIBUTING.mdskills/nemo-fabric-integrate/SKILL.mddocs/getting-started/install.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/getting-started/quickstart.mdxREADME.mddocs/getting-started/install.mdx
**/*.{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/integrations/test_harbor_runner.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 by the async runner.
Do not add-> Nonereturn annotations to test functions.
When mocking a class, useunittest.mock.MagicMockorAsyncMock, supplyingspecwhen necessary; do not define a new mock class.
Prefix mocked class names withmock, notfake.
Prefer pytest fixtures over helper methods.
Define shared fixtures inconftest.pyrather than repeating them across test files.
Define fixtures using@pytest.fixture(name="<fixture_name>"[, scope="<scope>"])and a<fixture_name>_fixturefunction; 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.
Useos.environto modify environment variables in tests; do not usemonkeypatch.setenv, because the autouserestore_environ_fixtureintests/conftest.pyrestores 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 withuv run pytest -k "<pattern>"and all tests withuv run pytest.
Files:
tests/integrations/test_harbor_runner.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.Use type annotations for public Python APIs and keep native Python binding declarations synchronized with their Rust implementations.
Files:
tests/integrations/test_harbor_runner.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-pythonandcargo check -p fabric-python --locked.
Files:
tests/integrations/test_harbor_runner.pypyproject.toml
**/*.{rs,py,pyi}
📄 CodeRabbit inference engine (CONTRIBUTING.md)
**/*.{rs,py,pyi}: Usesnake_casefor Rust and Python functions and variables; usePascalCasefor Rust types and Python classes.
Run tests for every language surface affected by changes; changes touching the Rust core or public schemas must run both Rust and Python test suites.
Files:
tests/integrations/test_harbor_runner.py
**/*.{rs,py,pyi,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:
tests/integrations/test_harbor_runner.py
**/*.{rs,py}
📄 CodeRabbit inference engine (CONTRIBUTING.md)
Rust files must use
//SPDX headers, and Python files must use#SPDX headers containing the specified copyright and Apache-2.0 license lines.
Files:
tests/integrations/test_harbor_runner.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/integrations/test_harbor_runner.py
**/*.{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.mdadapters/hermes/README.mdCONTRIBUTING.mdskills/nemo-fabric-integrate/SKILL.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
**/*.{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:
README.mdadapters/hermes/README.mdCONTRIBUTING.mdskills/nemo-fabric-integrate/SKILL.md
README.md
📄 CodeRabbit inference engine (.agents/skills/small-fix/SKILL.md)
Update
README.mdwhen a small Fabric bug fix changes public behavior.
Files:
README.md
**/*.{html,md}
📄 CodeRabbit inference engine (CONTRIBUTING.md)
HTML and Markdown files must use the specified HTML-comment SPDX header.
Files:
README.mdadapters/hermes/README.mdCONTRIBUTING.mdskills/nemo-fabric-integrate/SKILL.md
**/SKILL.md
⚙️ CodeRabbit configuration file
**/SKILL.md: Do not flag SKILL.md files for missing SPDX headers. Skill entrypoints intentionally start with YAML frontmatter instead.
Verify that every SKILL.md keeps valid YAML frontmatter with at least name and description fields before the Markdown body.
Files:
skills/nemo-fabric-integrate/SKILL.md
{Cargo.toml,pyproject.toml,python/pyproject.toml,python/src/nemo_fabric/**}
📄 CodeRabbit inference engine (.agents/skills/maintain-packaging/SKILL.md)
{Cargo.toml,pyproject.toml,python/pyproject.toml,python/src/nemo_fabric/**}: Keep Rust package names, Python package/import paths, and native module names internally consistent across Cargo and Python packaging metadata and source paths.
Ensure generated native and Python artifacts are placed where downstream consumers expect them.
Files:
pyproject.toml
{Cargo.toml,pyproject.toml,python/pyproject.toml,Cargo.lock,uv.lock}
📄 CodeRabbit inference engine (.agents/skills/maintain-packaging/SKILL.md)
Keep workspace, Rust, Python, and lockfile versions aligned where required.
Files:
pyproject.toml
{pyproject.toml,python/pyproject.toml,Cargo.toml,python/src/nemo_fabric/**}
📄 CodeRabbit inference engine (.agents/skills/maintain-packaging/SKILL.md)
The editable maturin build must continue to produce the
nemo_fabric._nativeextension.
Files:
pyproject.toml
{.github/workflows/ci_python.yml,.github/workflows/ci_rust.yml,justfile,pyproject.toml,python/pyproject.toml,Cargo.toml}
📄 CodeRabbit inference engine (.agents/skills/maintain-packaging/SKILL.md)
CI workflows must reference the same package names and commands used by local build and installation workflows.
Files:
pyproject.toml
{Cargo.toml,Cargo.lock,pyproject.toml,python/pyproject.toml,uv.lock,docs/package.json,docs/package-lock.json}
📄 CodeRabbit inference engine (.agents/skills/maintain-packaging/SKILL.md)
Maintain package metadata and dependency resolution consistently across Rust, Python, documentation tooling, and their lockfiles.
Files:
pyproject.toml
**/pyproject.toml
📄 CodeRabbit inference engine (.agents/skills/update-project-version/SKILL.md)
Run
just build-pythonto verify that all Python package metadata resolves.
Files:
pyproject.toml
**/*.{rs,toml}
📄 CodeRabbit inference engine (.agents/skills/validate-change/SKILL.md)
When Rust code or Rust project configuration changes, run
cargo fmt --all -- --checkandjust test-rust.Use raw Rust-compatible SemVer release tags without a leading
v, such as0.1.0or0.1.0-rc.1, to stay aligned with Cargo versions.
Files:
pyproject.toml
🧠 Learnings (1)
📓 Common learnings
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-21T18:10:55.905Z
Learning: Contributors must sign off every commit using `git commit -s`; unsigned commits will not be accepted.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-21T18:10:55.905Z
Learning: Before submitting a pull request, run relevant tests, verify affected packages compile, update documentation, and rebase on the latest `main`.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-21T18:10:55.905Z
Learning: Pull requests require at least one approving review and passing CI before merge; contributors should address feedback with additional commits and not force-push during review.
Learnt from: CR
Repo: NVIDIA/NeMo-Fabric
Timestamp: 2026-07-21T18:10:55.905Z
Learning: Use commit messages in the format `type: short description`, with a valid type and a first line under 72 characters.
🔇 Additional comments (8)
.pre-commit-config.yaml (1)
69-69: LGTM!pyproject.toml (1)
61-63: LGTM!CONTRIBUTING.md (1)
26-30: LGTM!docs/getting-started/quickstart.mdx (1)
12-16: LGTM!README.md (1)
109-115: LGTM!examples/harbor/calculator/task/environment/Dockerfile (1)
17-22: LGTM!examples/harbor/prepare_swebench.sh (1)
66-68: LGTM!tests/integrations/test_harbor_runner.py (1)
252-255: LGTM!
Signed-off-by: David Gardner <dagardner@nvidia.com>
#### Overview * We have two sets of redundant adapter extras, I kept the ones with the smaller names * Removed `hermes-agent` dependency from the `hermes` extra, adding a new `hermes-agent` extra * Disable `verbose` flag for license_diff pre-commit hook (unrelated change) * Replaces PR #94 #### Where should the reviewer start? * `pyproject.toml` #### Related Issues: (use one of the action keywords Closes / Fixes / Resolves / Relates to) - Closes FABRIC-95 - [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 - **New Features** - Added a dedicated `hermes-agent` package extra for Hermes Agent support. - Streamlined adapter-related extras by replacing `adapters-*` names with shorter groups (e.g., `hermes`, `claude`, `codex`, `deepagents`), with `hermes-agent` now installed via its own extra. - **Documentation** - Updated README, contributing guide, and getting-started/skill docs to use the new extras-based installation commands. - **Tests** - Updated Harbor integration test expectations to match the revised extras lists. - **Chores** - Reduced output verbosity of the license-diff pre-commit hook. Authors: - David Gardner (https://github.com/dagardner-nv) Approvers: - Anuradha Karuppiah (https://github.com/AnuradhaKaruppiah) - Lawrence Lane (https://github.com/lbliii) URL: #98
Overview
hermes-agentdependency from thehermesextra, adding a newhermes-agentextraverboseflag for license_diff pre-commit hook (unrelated change)Where should the reviewer start?
pyproject.tomlRelated Issues: (use one of the action keywords Closes / Fixes / Resolves / Relates to)
Closes FABRIC-95
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
nemo-fabric[<adapter>]extras (e.g.,hermes,claude,codex,deepagents), removing the olderadapters-*wording.hermes-agentextra across the Hermes docs and examples.hermes-agentextra.