diff --git a/README.md b/README.md
index 32f78c2b..11fe1d15 100644
--- a/README.md
+++ b/README.md
@@ -112,7 +112,7 @@ config = FabricConfig(
models={
"default": ModelConfig(
provider="nvidia",
- model="nvidia/nemotron-3-nano-30b-a3b",
+ model="nvidia/nemotron-3-nano-omni-30b-a3b-reasoning",
api_key_env="NVIDIA_API_KEY",
base_url="https://integrate.api.nvidia.com/v1",
)
diff --git a/adapters/claude/README.md b/adapters/claude/README.md
index f40429de..e809ac0c 100644
--- a/adapters/claude/README.md
+++ b/adapters/claude/README.md
@@ -24,7 +24,7 @@ The following table shows which components each installation provides:
For split runtime and adapter environments, configure `ADAPTER_PYTHON` and use
matching NeMo Fabric release versions. Refer to the
-[installation guide](https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric/getting-started/install#install-an-adapter-and-harness-without-the-runtime).
+[installation guide](https://docs.nvidia.com/nemo/fabric/getting-started/install#install-an-adapter-and-harness-without-the-runtime).
The `full` extra is equivalent to `harness`. Relay is optional for ordinary
runs. Relay telemetry and `Runtime.invoke_stream()` require the external CLI
@@ -58,7 +58,7 @@ Unset unused `ANTHROPIC_API_KEY` and `ANTHROPIC_AUTH_TOKEN` variables before
using WIF. Anthropic credential resolution treats an empty variable as selected,
so an empty API credential prevents fallback to a federation profile.
-Refer to the [Claude adapter authentication guide](https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric/integrations/harness/claude)
+Refer to the [Claude adapter authentication guide](https://docs.nvidia.com/nemo/fabric/integrations/harness-integrations/claude-code)
for mode selection, required WIF variables, and the Relay boundary. Package
installation is verified by the adapter wheel and module-entrypoint tests.
@@ -122,7 +122,7 @@ by the SDK and is not persisted as a NeMo Fabric artifact.
Relay requires a separately installed NeMo Relay 0.6.x CLI on `PATH`; the Python
`nemo-relay` package does not provide the executable. Follow the
-[NeMo Relay installation instructions](https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric/getting-started/install#install-nemo-relay).
+[NeMo Relay installation instructions](https://docs.nvidia.com/nemo/fabric/getting-started/install#install-nemo-relay).
Enable Relay through the normalized NeMo Fabric configuration:
diff --git a/adapters/claude/pypi.md b/adapters/claude/pypi.md
index a214272c..a9411a83 100644
--- a/adapters/claude/pypi.md
+++ b/adapters/claude/pypi.md
@@ -25,6 +25,6 @@ Installation can be performed using the `nemo-fabric` meta package with the `cla
The `full` extra is equivalent to `harness`. NeMo Relay is optional for ordinary
runs. NeMo Relay telemetry and streaming require the `nemo-relay` CLI tool.
-Refer to the [NeMo Relay installation guide](https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric/getting-started/install#nemo-relay-cli) for instructions.
+Refer to the [NeMo Relay installation guide](https://docs.nvidia.com/nemo/fabric/getting-started/install#nemo-relay-cli) for instructions.
-Refer to the [installation guide](https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric/getting-started/install) for more details.
+Refer to the [installation guide](https://docs.nvidia.com/nemo/fabric/getting-started/install) for more details.
diff --git a/adapters/claude/pyproject.toml b/adapters/claude/pyproject.toml
index 34e4ebcf..b980d8a9 100644
--- a/adapters/claude/pyproject.toml
+++ b/adapters/claude/pyproject.toml
@@ -41,7 +41,7 @@ full = [
Repository = "https://github.com/NVIDIA/NeMo-Fabric"
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"
[tool.setuptools.packages.find]
where = ["src"]
diff --git a/adapters/codex/README.md b/adapters/codex/README.md
index ba1a7e88..a073a231 100644
--- a/adapters/codex/README.md
+++ b/adapters/codex/README.md
@@ -23,7 +23,7 @@ The following table shows which components each installation provides:
For an environment-managed SDK, use `openai-codex==0.144.4`. For split runtime
and adapter environments, configure `ADAPTER_PYTHON` and use matching NeMo
Fabric release versions. Refer to the
-[installation guide](https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric/getting-started/install#install-an-adapter-and-harness-without-the-runtime).
+[installation guide](https://docs.nvidia.com/nemo/fabric/getting-started/install#install-an-adapter-and-harness-without-the-runtime).
The `full` extra is equivalent to `harness`. Relay is optional for ordinary
runs. Relay telemetry and `Runtime.invoke_stream()` require the external CLI
@@ -147,7 +147,7 @@ Codex state variables, the selected model's `api_key_env`, and explicit
Relay requires a separately installed NeMo Relay 0.6.x CLI on `PATH`; the Python
`nemo-relay` package does not provide the executable. Follow the
-[NeMo Relay installation instructions](https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric/getting-started/install#install-nemo-relay).
+[NeMo Relay installation instructions](https://docs.nvidia.com/nemo/fabric/getting-started/install#install-nemo-relay).
Enable Relay with `FabricConfig.enable_relay(...)`. The adapter starts the
installed `nemo-relay` CLI as a supervised sidecar; do not start the gateway
diff --git a/adapters/codex/pypi.md b/adapters/codex/pypi.md
index 86bc588a..a85f2551 100644
--- a/adapters/codex/pypi.md
+++ b/adapters/codex/pypi.md
@@ -25,6 +25,6 @@ Installation can be performed using the `nemo-fabric` meta package with the `cod
The `full` extra is equivalent to `harness`. NeMo Relay is optional for ordinary
runs. NeMo Relay telemetry and streaming require the `nemo-relay` CLI tool.
-Refer to the [NeMo Relay installation guide](https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric/getting-started/install#nemo-relay-cli) for instructions.
+Refer to the [NeMo Relay installation guide](https://docs.nvidia.com/nemo/fabric/getting-started/install#nemo-relay-cli) for instructions.
-Refer to the [installation guide](https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric/getting-started/install) for more details.
+Refer to the [installation guide](https://docs.nvidia.com/nemo/fabric/getting-started/install) for more details.
diff --git a/adapters/codex/pyproject.toml b/adapters/codex/pyproject.toml
index 478f62d9..f3fb1a59 100644
--- a/adapters/codex/pyproject.toml
+++ b/adapters/codex/pyproject.toml
@@ -41,7 +41,7 @@ full = [
Repository = "https://github.com/NVIDIA/NeMo-Fabric"
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"
[tool.setuptools.packages.find]
where = ["src"]
diff --git a/adapters/common/README.md b/adapters/common/README.md
index c2f4143e..aca188bd 100644
--- a/adapters/common/README.md
+++ b/adapters/common/README.md
@@ -15,7 +15,7 @@ Install the package directly when developing an adapter:
pip install nemo-fabric-adapters-common
```
-Refer to the [NeMo Fabric documentation](https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric)
+Refer to the [NeMo Fabric documentation](https://docs.nvidia.com/nemo/fabric)
for adapter and configuration guidance. Source code is available in the
[NVIDIA NeMo Fabric repository](https://github.com/NVIDIA/nemo-fabric/).
diff --git a/adapters/common/pypi.md b/adapters/common/pypi.md
index 354f67c4..f81299f8 100644
--- a/adapters/common/pypi.md
+++ b/adapters/common/pypi.md
@@ -23,6 +23,6 @@ Install the package directly when developing an adapter:
pip install nemo-fabric-adapters-common
```
-Refer to the [NeMo Fabric documentation](https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric)
+Refer to the [NeMo Fabric documentation](https://docs.nvidia.com/nemo/fabric)
for adapter and configuration guidance. Source code is available in the
[NVIDIA NeMo Fabric repository](https://github.com/NVIDIA/NeMo-Fabric).
diff --git a/adapters/common/pyproject.toml b/adapters/common/pyproject.toml
index fbb27f89..0a3bc1f0 100644
--- a/adapters/common/pyproject.toml
+++ b/adapters/common/pyproject.toml
@@ -29,7 +29,7 @@ requires-python = ">=3.11"
Repository = "https://github.com/NVIDIA/NeMo-Fabric"
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"
[tool.setuptools.packages.find]
where = ["src"]
diff --git a/adapters/deepagents/README.md b/adapters/deepagents/README.md
index 0fec6010..378dc700 100644
--- a/adapters/deepagents/README.md
+++ b/adapters/deepagents/README.md
@@ -26,7 +26,7 @@ For an environment-managed stack, use `deepagents>=0.6.12,<0.7.0`,
`langchain>=1.3,<2.0`, and `langgraph>=1.2,<2.0`. For split runtime and adapter
environments, configure `ADAPTER_PYTHON` and use matching NeMo Fabric release
versions. Refer to the
-[installation guide](https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric/getting-started/install#install-an-adapter-and-harness-without-the-runtime).
+[installation guide](https://docs.nvidia.com/nemo/fabric/getting-started/install#install-an-adapter-and-harness-without-the-runtime).
## Model and Authentication
diff --git a/adapters/deepagents/pypi.md b/adapters/deepagents/pypi.md
index ee177e1d..e68ca88f 100644
--- a/adapters/deepagents/pypi.md
+++ b/adapters/deepagents/pypi.md
@@ -30,4 +30,4 @@ NeMo Relay is optional for ordinary runs. NeMo Relay telemetry and streaming
require one of the installations in the table that includes the NeMo Relay
Python package.
-Refer to the [installation guide](https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric/getting-started/install) for more details.
+Refer to the [installation guide](https://docs.nvidia.com/nemo/fabric/getting-started/install) for more details.
diff --git a/adapters/deepagents/pyproject.toml b/adapters/deepagents/pyproject.toml
index 44689d61..70de4a1b 100644
--- a/adapters/deepagents/pyproject.toml
+++ b/adapters/deepagents/pyproject.toml
@@ -53,7 +53,7 @@ full = [
Repository = "https://github.com/NVIDIA/NeMo-Fabric"
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"
[tool.setuptools.packages.find]
where = ["src"]
diff --git a/adapters/hermes/README.md b/adapters/hermes/README.md
index 66ea66a4..dee7644a 100644
--- a/adapters/hermes/README.md
+++ b/adapters/hermes/README.md
@@ -24,7 +24,7 @@ table shows which components each installation provides:
For an environment-managed harness, use `hermes-agent>=0.17.0`. For split
runtime and adapter environments, configure `ADAPTER_PYTHON` and use matching
NeMo Fabric release versions. Refer to the
-[installation guide](https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric/getting-started/install#install-an-adapter-and-harness-without-the-runtime).
+[installation guide](https://docs.nvidia.com/nemo/fabric/getting-started/install#install-an-adapter-and-harness-without-the-runtime).
Relay is optional for ordinary runs. Relay telemetry and
`Runtime.invoke_stream()` require one of the installations in the table that
diff --git a/adapters/hermes/pypi.md b/adapters/hermes/pypi.md
index 1758da49..05c75d79 100644
--- a/adapters/hermes/pypi.md
+++ b/adapters/hermes/pypi.md
@@ -31,4 +31,4 @@ NeMo Relay is optional for ordinary runs. NeMo Relay telemetry and streaming
require one of the installations in the table that includes the NeMo Relay
Python package.
-Refer to the [installation guide](https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric/getting-started/install) for more details.
+Refer to the [installation guide](https://docs.nvidia.com/nemo/fabric/getting-started/install) for more details.
diff --git a/adapters/hermes/pyproject.toml b/adapters/hermes/pyproject.toml
index edf647fd..1d49d4a7 100644
--- a/adapters/hermes/pyproject.toml
+++ b/adapters/hermes/pyproject.toml
@@ -45,7 +45,7 @@ full = [
Repository = "https://github.com/NVIDIA/NeMo-Fabric"
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"
[tool.setuptools.packages.find]
where = ["src"]
diff --git a/crates/fabric-cli/src/presets.rs b/crates/fabric-cli/src/presets.rs
index c8bf3cd3..febe640d 100644
--- a/crates/fabric-cli/src/presets.rs
+++ b/crates/fabric-cli/src/presets.rs
@@ -184,7 +184,7 @@ fn hermes() -> FabricConfig {
"nvidia.fabric.hermes",
Some(model(
"nvidia",
- "nvidia/nemotron-3-nano-30b-a3b",
+ "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning",
Some("NVIDIA_API_KEY"),
Some(NVIDIA_API_CATALOG_BASE_URL),
)),
@@ -240,7 +240,7 @@ fn deepagents() -> FabricConfig {
"nvidia.fabric.langchain.deepagents",
Some(model(
"nvidia",
- "nvidia/nemotron-3-nano-30b-a3b",
+ "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning",
Some("NVIDIA_API_KEY"),
Some(NVIDIA_API_CATALOG_BASE_URL),
)),
diff --git a/crates/fabric-cli/src/scaffold.rs b/crates/fabric-cli/src/scaffold.rs
index 7973f3d3..f8cfb6a4 100644
--- a/crates/fabric-cli/src/scaffold.rs
+++ b/crates/fabric-cli/src/scaffold.rs
@@ -431,7 +431,7 @@ mod tests {
};
let source = fs::read_to_string(launcher).expect("read launcher");
assert!(source.contains("nvidia.fabric.hermes"));
- assert!(source.contains("nvidia/nemotron-3-nano-30b-a3b"));
+ assert!(source.contains("nvidia/nemotron-3-nano-omni-30b-a3b-reasoning"));
assert!(source.contains("https://integrate.api.nvidia.com/v1"));
if language == Language::Rust {
let manifest =
diff --git a/docs/about-nemo-fabric/overview.mdx b/docs/about-nemo-fabric/overview.mdx
index 3aeba896..4b728685 100644
--- a/docs/about-nemo-fabric/overview.mdx
+++ b/docs/about-nemo-fabric/overview.mdx
@@ -1,15 +1,17 @@
---
-title: "NVIDIA NeMo Fabric"
+title: "NVIDIA NeMo Fabric Documentation"
slug: "/about-nemo-fabric/overview"
description: "Configure, plan, run, and observe agent harnesses through one typed execution contract."
+template-library-version: "1.0.0"
---
{/* SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: Apache-2.0 */}
-NeMo Fabric is the harness-management layer that turns multiple agent runtimes
+NVIDIA NeMo Fabric is the harness-management layer that turns multiple agent runtimes
into one configurable, observable execution surface. Applications use the same
versioned config, lifecycle, result, artifact, and telemetry contracts whether
-the selected harness is Hermes Agent, Codex, or a custom adapter.
+the selected harness is [Hermes Agent](https://hermes-agent.nousresearch.com/docs/),
+[Codex SDK](https://openai.com/codex/), or a custom adapter.
NeMo Fabric owns the seam between an application and its harness. It resolves
configuration, selects an adapter, drives the runtime lifecycle,
@@ -19,25 +21,42 @@ into the caller.
## What NeMo Fabric Gives You
-
+
Construct a complete, versioned `FabricConfig` in Python. Applications
create variants with ordinary functions and typed copies.
-
+
Plan and invoke different harnesses through one Rust core, CLI, and Python
SDK instead of embedding harness launch logic in every consumer.
-
+
Resolve configs, inspect capabilities, run single-invocation jobs, and hold
multi-turn runtimes with typed requests, plans, handles, and results.
-
+
Collect output, errors, lifecycle events, artifact manifests, and telemetry
references in stable contracts suitable for platforms and evaluations.
-## How NeMo Fabric Fits
+
+## Choose Your Interface
+
+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 |
+| --- | --- | --- |
+| Python SDK | Your application owns job config, runtime lifecycle, or multi-turn state | [Client API](../reference/api/python-library-reference/nemo_fabric.client.md) |
+| 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) |
+
+Use `FabricConfig` as the canonical configuration contract. CLI selectors
+obtain complete typed configs from built-in presets or maintained examples.
+
+## Core Workflow
```text
Application or evaluation harness
@@ -55,87 +74,6 @@ Hermes Agent | Codex | custom harness
RunResult + artifacts + events + telemetry references
```
-The experimentation CLI and its catalogs live in the Rust `fabric-cli` crate
-and are installed separately from the Python SDK. Built-in presets and
-maintained examples produce a complete `FabricConfig` before using the same
-run-plan contract. Adapters own harness-specific preparation and invocation;
-consumers own the request and returned evidence.
-
-## Quick Start
-
-Install `just` 1.50.0+ if it is not already available.
-
-```bash
-cargo install just --locked
-```
-
-Refer to the [official installation guide](https://just.systems/man/en/installation.html)
-for more details.
-
-Ensure that the Cargo bin directory is in your `PATH`:
-
-```bash
-export PATH="$HOME/.cargo/bin:$PATH"
-```
-
-Create a Python virtual environment and activate it (replace `3.13` with your preferred Python version):
-
-```bash
-uv venv -p 3.13 --seed .venv
-source .venv/bin/activate
-```
-
-Build the Python SDK and install the Rust CLI from a source checkout:
-
-```bash
-just build-all
-```
-
-Run the example through the Python SDK:
-
-```python
-import asyncio
-from examples.code_review_agent import BASE_DIR, hermes_config
-from nemo_fabric import Fabric
-
-
-async def main() -> None:
- config = hermes_config()
- client = Fabric()
- result = await client.run(
- config,
- base_dir=BASE_DIR,
- input="Reply with exactly: fabric works",
- )
-
- print(result.status)
-
-
-asyncio.run(main())
-```
-
-Harness installation and credential requirements differ by adapter. The
-[repository quick start](https://github.com/NVIDIA/NeMo-Fabric#quick-start-hermes-agent)
-contains the complete Hermes Agent environment recipe.
-
-Refer to the [Python SDK guide](../sdk/python.mdx) for planning,
-diagnostics, typed requests, multi-turn runtimes, and NVIDIA NeMo Relay streaming.
-
-## Choose Your Interface
-
-| Interface | Use it when | Start with |
-| --- | --- | --- |
-| Python SDK | Your application owns job config, runtime lifecycle, or multi-turn state | [Client API](../reference/api/python-library-reference/nemo_fabric.client.md) |
-| 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) |
-
-Use `FabricConfig` as the canonical configuration contract. CLI selectors
-obtain complete typed configs from built-in presets or maintained examples.
-
-## Core Workflow
-
1. **Configure** a typed `FabricConfig` with a harness adapter,
environment, models, tools, skills, MCP, and telemetry.
2. **Create variants** from deep copies to vary harness, model, environment, or
@@ -148,38 +86,14 @@ obtain complete typed configs from built-in presets or maintained examples.
5. **Consume evidence** from `RunResult`: output, structured failure details,
artifacts, events, and telemetry references.
-## Next Steps
+## Learn More
-
-
- Resolve, plan, diagnose, run, and start stateful runtimes.
-
-
- Invoke multiple ordered turns and stop runtime handles safely.
-
-
- Consume live, raw NeMo Relay ATOF records and retrieve the terminal run result.
-
-
- Explore all mutable config objects and immutable request, plan, result,
- artifact, telemetry, and runtime models.
-
-
- Handle config, capability, lifecycle, state, and native-extension failures.
-
-
+Continue exploring NeMo Fabric through these resources.
+
+- **Installation** — [Installation](../getting-started/install.mdx) to set up the runtime and adapters.
+- **Quickstart** — [Quickstart](../getting-started/quickstart.mdx) to build from
+ source and run the maintained SDK example.
+- **Python SDK** — [Python SDK](../sdk/python.mdx) for planning, diagnostics,
+ typed requests, and multi-turn runtimes.
+- **API Reference** — [Client API](../reference/api/python-library-reference/nemo_fabric.client.md)
+ to resolve, plan, diagnose, run, and start stateful runtimes.
diff --git a/docs/experimentation/cli.mdx b/docs/experimentation/cli.mdx
index 65f1ac9d..c75e88dc 100644
--- a/docs/experimentation/cli.mdx
+++ b/docs/experimentation/cli.mdx
@@ -67,10 +67,10 @@ experiments:
| Preset | Harness | Default model | Endpoint |
| --- | --- | --- | --- |
| `scripted` | Deterministic test adapter | None | None |
-| `hermes` | Hermes Agent | `nvidia/nemotron-3-nano-30b-a3b` | NVIDIA API Catalog |
+| `hermes` | Hermes Agent | `nvidia/nemotron-3-nano-omni-30b-a3b-reasoning` | NVIDIA API Catalog |
| `claude` | Claude Code | `aws/anthropic/claude-opus-4-5` | `NVIDIA_FRONTIER_BASE_URL` |
| `codex` | Codex | `azure/openai/gpt-5.4` | `NVIDIA_FRONTIER_BASE_URL` |
-| `deepagents` | LangChain Deep Agents | `nvidia/nemotron-3-nano-30b-a3b` | NVIDIA API Catalog |
+| `deepagents` | LangChain Deep Agents | `nvidia/nemotron-3-nano-omni-30b-a3b-reasoning` | NVIDIA API Catalog |
The `scripted` preset does not call a model. It returns a deterministic response
through the same NeMo Fabric runtime and adapter contract, which makes it useful for
diff --git a/docs/getting-started/install.mdx b/docs/getting-started/install.mdx
index f0a6aa9c..c76f76fe 100644
--- a/docs/getting-started/install.mdx
+++ b/docs/getting-started/install.mdx
@@ -1,5 +1,5 @@
---
-title: "Install NVIDIA NeMo Fabric"
+title: "NVIDIA NeMo Fabric Installation"
description: "Install guide."
---
{/* SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
diff --git a/docs/getting-started/quickstart.mdx b/docs/getting-started/quickstart.mdx
index ebd04698..8b1e3bd3 100644
--- a/docs/getting-started/quickstart.mdx
+++ b/docs/getting-started/quickstart.mdx
@@ -1,6 +1,7 @@
---
title: "NVIDIA NeMo Fabric Quickstart"
description: "Get started with NVIDIA NeMo Fabric."
+template-library-version: "1.0.0"
---
{/* SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: Apache-2.0 */}
@@ -53,7 +54,7 @@ config = FabricConfig(
models={
"default": ModelConfig(
provider="nvidia",
- model="nvidia/nemotron-3-nano-30b-a3b",
+ model="nvidia/nemotron-3-nano-omni-30b-a3b-reasoning",
api_key_env="NVIDIA_API_KEY",
base_url="https://integrate.api.nvidia.com/v1",
)
@@ -68,4 +69,5 @@ A more detailed version of this example is available as a [Jupyter Notebook](htt
at [`examples/notebooks/01_quickstart.ipynb`](https://github.com/NVIDIA/NeMo-Fabric/blob/main/examples/notebooks/01_quickstart.ipynb).
## Next Steps
+
- [Python SDK](../sdk/python.mdx)
diff --git a/docs/sdk/python.mdx b/docs/sdk/python.mdx
index 2eb21a6d..06fed665 100644
--- a/docs/sdk/python.mdx
+++ b/docs/sdk/python.mdx
@@ -60,7 +60,7 @@ config = FabricConfig(
models={
"default": ModelConfig(
provider="nvidia",
- model="nvidia/nemotron-3-nano-30b-a3b",
+ model="nvidia/nemotron-3-nano-omni-30b-a3b-reasoning",
api_key_env="NVIDIA_API_KEY",
)
},
diff --git a/examples/code_review_agent/config.py b/examples/code_review_agent/config.py
index c7c39abc..3a706f28 100644
--- a/examples/code_review_agent/config.py
+++ b/examples/code_review_agent/config.py
@@ -44,7 +44,7 @@ def base_config() -> FabricConfig:
models={
"default": ModelConfig(
provider="nvidia",
- model="nvidia/nemotron-3-nano-30b-a3b",
+ model="nvidia/nemotron-3-nano-omni-30b-a3b-reasoning",
temperature=0.0,
api_key_env="NVIDIA_API_KEY",
)
diff --git a/examples/harbor/calculator/README.md b/examples/harbor/calculator/README.md
index 22ffbd7a..04ee3dd1 100644
--- a/examples/harbor/calculator/README.md
+++ b/examples/harbor/calculator/README.md
@@ -81,7 +81,7 @@ Expected Harbor summary: one trial, zero exceptions, and mean reward `1.000`.
uv run --extra harbor harbor run \
--path "$TASK_DIR" \
--agent nemo_fabric.integrations.harbor:FabricAgent \
- --model nvidia/nemotron-3-nano-30b-a3b \
+ --model nvidia/nemotron-3-nano-omni-30b-a3b-reasoning \
--ak fabric_adapter_id=nvidia.fabric.hermes \
--ak fabric_config_base_dir=/opt/fabric-calculator \
--ak fabric_workspace=/app \
@@ -106,7 +106,7 @@ typed config. The API key is passed separately as a task credential.
uv run --extra harbor harbor run \
--path "$TASK_DIR" \
--agent nemo_fabric.integrations.harbor:FabricAgent \
- --model nvidia/nemotron-3-nano-30b-a3b \
+ --model nvidia/nemotron-3-nano-omni-30b-a3b-reasoning \
--ak fabric_adapter_id=nvidia.fabric.hermes \
--ak fabric_config_base_dir=/opt/fabric-calculator \
--ak fabric_workspace=/app \
diff --git a/examples/harbor/swebench/README.md b/examples/harbor/swebench/README.md
index a8e5e4e5..d6f8556a 100644
--- a/examples/harbor/swebench/README.md
+++ b/examples/harbor/swebench/README.md
@@ -73,7 +73,7 @@ The default Hermes Agent command uses NVIDIA's hosted API:
uv run --extra harbor harbor run \
--task swe-bench/django__django-13741 \
--agent "$FABRIC_AGENT" \
- --model nvidia/nemotron-3-nano-30b-a3b \
+ --model nvidia/nemotron-3-nano-omni-30b-a3b-reasoning \
--ak fabric_adapter_id=nvidia.fabric.hermes \
--ak fabric_config_bundle="$FABRIC_BUNDLE" \
--ak "fabric_package=$FABRIC_PACKAGE" \
@@ -139,7 +139,7 @@ For example, the complete skill variation is:
uv run --extra harbor harbor run \
--task swe-bench/django__django-13741 \
--agent "$FABRIC_AGENT" \
- --model nvidia/nemotron-3-nano-30b-a3b \
+ --model nvidia/nemotron-3-nano-omni-30b-a3b-reasoning \
--skill "$PWD/examples/harbor/swebench/skills/swebench-debugging" \
--ak fabric_adapter_id=nvidia.fabric.hermes \
--ak fabric_config_bundle="$FABRIC_BUNDLE" \
@@ -230,7 +230,7 @@ uv run --extra harbor harbor run \
--dataset swe-bench/swe-bench-verified \
--n-tasks 5 \
--agent "$FABRIC_AGENT" \
- --model nvidia/nemotron-3-nano-30b-a3b \
+ --model nvidia/nemotron-3-nano-omni-30b-a3b-reasoning \
--ak fabric_adapter_id=nvidia.fabric.hermes \
--ak fabric_config_bundle="$FABRIC_BUNDLE" \
--ak fabric_telemetry=relay \
diff --git a/examples/notebooks/01_quickstart.ipynb b/examples/notebooks/01_quickstart.ipynb
index a288f26b..173a01b5 100644
--- a/examples/notebooks/01_quickstart.ipynb
+++ b/examples/notebooks/01_quickstart.ipynb
@@ -216,7 +216,7 @@
" models={\n",
" \"default\": ModelConfig(\n",
" provider=\"nvidia\",\n",
- " model=\"nvidia/nemotron-3-nano-30b-a3b\",\n",
+ " model=\"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning\",\n",
" base_url=\"https://integrate.api.nvidia.com/v1\",\n",
" temperature=0.0,\n",
" api_key_env=\"NVIDIA_API_KEY\",\n",
diff --git a/examples/notebooks/02_variations.ipynb b/examples/notebooks/02_variations.ipynb
index ac661029..24ebaa92 100644
--- a/examples/notebooks/02_variations.ipynb
+++ b/examples/notebooks/02_variations.ipynb
@@ -197,7 +197,7 @@
"\n",
"\n",
"NVIDIA_MODEL = ModelConfig(\n",
- " provider=\"nvidia\", model=\"nvidia/nemotron-3-nano-30b-a3b\",\n",
+ " provider=\"nvidia\", model=\"nvidia/nemotron-3-nano-omni-30b-a3b-reasoning\",\n",
" temperature=0.0, api_key_env=\"NVIDIA_API_KEY\",\n",
")\n",
"\n",
diff --git a/pypi.md b/pypi.md
index eef83343..09aa95a9 100644
--- a/pypi.md
+++ b/pypi.md
@@ -119,11 +119,11 @@ The LangChain Deep Agents and Hermes Agent adapter packages also provide
Claude and Codex require the
[`nemo-relay` CLI](https://crates.io/crates/nemo-relay-cli) instead of the NeMo
Relay Python package. They do not provide a `relay` extra. Refer to the
-[NeMo Relay CLI](https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric/getting-started/install#nemo-relay-cli)
+[NeMo Relay CLI](https://docs.nvidia.com/nemo/fabric/getting-started/install#nemo-relay-cli)
install guide for instructions on installing the CLI tool.
## Learn More
-Refer to the [NVIDIA NeMo Fabric documentation](https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric)
+Refer to the [NVIDIA NeMo Fabric documentation](https://docs.nvidia.com/nemo/fabric)
for installation, configuration, and usage guidance. Source code is available
in the [NVIDIA NeMo Fabric repository](https://github.com/NVIDIA/nemo-fabric/).
diff --git a/pyproject.toml b/pyproject.toml
index adbc776b..edfb23b3 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -32,7 +32,7 @@ dependencies = [
Repository = "https://github.com/NVIDIA/NeMo-Fabric"
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"
[tool.setuptools]
packages = []
diff --git a/python/README.md b/python/README.md
index 5bf14c44..79630b33 100644
--- a/python/README.md
+++ b/python/README.md
@@ -17,7 +17,7 @@ The package exposes the `nemo_fabric` Python module for typed agent
configuration, validation, run planning, runtime lifecycle management,
normalized results, artifacts, diagnostics, and telemetry references.
-Refer to the [NeMo Fabric documentation](https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric)
+Refer to the [NeMo Fabric documentation](https://docs.nvidia.com/nemo/fabric)
for installation and usage guidance. Source code is available in the
[NVIDIA NeMo Fabric repository](https://github.com/NVIDIA/nemo-fabric/).
diff --git a/python/pypi.md b/python/pypi.md
index 19960770..6d339a2a 100644
--- a/python/pypi.md
+++ b/python/pypi.md
@@ -30,6 +30,6 @@ The package exposes the `nemo_fabric` Python module for typed agent
configuration, validation, run planning, runtime lifecycle management,
normalized results, artifacts, diagnostics, and telemetry references.
-Refer to the [NeMo Fabric documentation](https://nvidia-nemo-fabric.docs.buildwithfern.com/nemo/fabric)
+Refer to the [NeMo Fabric documentation](https://docs.nvidia.com/nemo/fabric)
for installation and usage guidance. Source code is available in the
[NVIDIA NeMo Fabric repository](https://github.com/NVIDIA/NeMo-Fabric).
diff --git a/python/pyproject.toml b/python/pyproject.toml
index 4f720e09..08ab4006 100644
--- a/python/pyproject.toml
+++ b/python/pyproject.toml
@@ -31,7 +31,7 @@ dynamic = ["version"]
Repository = "https://github.com/NVIDIA/NeMo-Fabric"
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"
[tool.maturin]
manifest-path = "../crates/fabric-python/Cargo.toml"
diff --git a/tests/adapters/test_deepagents.py b/tests/adapters/test_deepagents.py
index e8b316cf..551e9dbd 100644
--- a/tests/adapters/test_deepagents.py
+++ b/tests/adapters/test_deepagents.py
@@ -158,7 +158,7 @@ def make(tmp_path: Path, *, runtime_id: str = "run-1") -> dict[str, Any]:
"models": {
"default": {
"provider": "nvidia",
- "model": "nvidia/nemotron-3-nano-30b-a3b",
+ "model": "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning",
"api_key_env": "NVIDIA_API_KEY",
"base_url": "https://integrate.api.nvidia.com/v1",
}
@@ -268,7 +268,7 @@ async def test_single_invocation_normalizes_response_usage_and_thread(
assert output["harness"] == "deepagents"
assert output["mode"] == "deepagents"
- assert output["model"] == "nvidia/nemotron-3-nano-30b-a3b"
+ assert output["model"] == "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning"
assert output["response"] == "reply to hello"
assert output["message_count"] == 2
assert output["usage"] == {
diff --git a/tests/docs/test_python_api_docs.py b/tests/docs/test_python_api_docs.py
index 503d7c93..3f85fbb1 100644
--- a/tests/docs/test_python_api_docs.py
+++ b/tests/docs/test_python_api_docs.py
@@ -32,6 +32,8 @@
ROOT = Path(__file__).resolve().parents[2]
REFERENCE_DIR = ROOT / "docs" / "reference" / "api" / "python-library-reference"
LANDING_PAGE = ROOT / "docs" / "about-nemo-fabric" / "overview.mdx"
+INSTALL_PAGE = ROOT / "docs" / "getting-started" / "install.mdx"
+QUICKSTART_PAGE = ROOT / "docs" / "getting-started" / "quickstart.mdx"
NAVIGATION = ROOT / "docs" / "index.yml"
MODULE_SLUGS = {
"nemo_fabric.client": "/reference/api/python-library-reference/client",
@@ -354,33 +356,33 @@ def test_generated_module_and_class_headings_have_blank_lines():
def test_landing_page_routes_new_users_through_the_product() -> None:
landing = LANDING_PAGE.read_text(encoding="utf-8")
+ installation = INSTALL_PAGE.read_text(encoding="utf-8")
+ quickstart = QUICKSTART_PAGE.read_text(encoding="utf-8")
navigation = NAVIGATION.read_text(encoding="utf-8")
assert " - section: API\n" in navigation
assert " - section: APIs\n" not in navigation
+ assert 'title: "NVIDIA NeMo Fabric Documentation"' in landing
+ assert 'title: "NVIDIA NeMo Fabric Installation"' in installation
+ assert 'title: "NVIDIA NeMo Fabric Quickstart"' in quickstart
+ assert 'template-library-version: "1.0.0"' in landing
+ assert 'template-library-version: "1.0.0"' in quickstart
for heading in (
"## What NeMo Fabric Gives You",
- "## How NeMo Fabric Fits",
- "## Quick Start",
"## Choose Your Interface",
"## Core Workflow",
- "## Next Steps",
+ "## Learn More",
):
assert heading in landing
for destination in (
- "/reference/api/python-library-reference/client",
- "/reference/api/python-library-reference/runtime",
- "/reference/api/python-library-reference/streaming",
- "/reference/api/python-library-reference/types",
- "/reference/api/python-library-reference/errors",
+ "../getting-started/install.mdx",
+ "../getting-started/quickstart.mdx",
+ "../experimentation/cli.mdx",
+ "../sdk/python.mdx",
+ "../reference/api/python-library-reference/nemo_fabric.client.md",
+ "../reference/api/python-library-reference/nemo_fabric.runtime.md",
+ "../reference/api/python-library-reference/nemo_fabric.streaming.md",
):
assert destination in landing
-
- quick_start = landing.split("## Quick Start", maxsplit=1)[1].split(
- "## Choose Your Interface", maxsplit=1
- )[0]
- assert "client.plan(" not in quick_start
- assert "client.doctor(" not in quick_start
- assert "/sdk/python" in quick_start
diff --git a/tests/e2e/test_hermes_config_mapping.py b/tests/e2e/test_hermes_config_mapping.py
index 7f6c0d70..17e8c4d4 100644
--- a/tests/e2e/test_hermes_config_mapping.py
+++ b/tests/e2e/test_hermes_config_mapping.py
@@ -32,7 +32,7 @@ def test_hermes_config_mapping(tmp_path: Path):
assert config["model"] == {
"provider": "nvidia",
- "default": "nvidia/nemotron-3-nano-30b-a3b",
+ "default": "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning",
"base_url": "https://integrate.api.nvidia.com/v1",
}
assert config["terminal"]["backend"] == "local"
@@ -59,7 +59,7 @@ def payload(tmpdir: str) -> dict:
"models": {
"default": {
"provider": "nvidia",
- "model": "nvidia/nemotron-3-nano-30b-a3b",
+ "model": "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning",
"api_key_env": "NVIDIA_API_KEY",
"base_url": "https://integrate.api.nvidia.com/v1",
}
diff --git a/tests/e2e/test_hermes_e2e.py b/tests/e2e/test_hermes_e2e.py
index 80d82f6f..50537bb3 100644
--- a/tests/e2e/test_hermes_e2e.py
+++ b/tests/e2e/test_hermes_e2e.py
@@ -162,7 +162,7 @@ async def test_artifacts(self):
hermes_config = yaml.safe_load(hermes_config_path.read_text(encoding="utf-8"))
assert hermes_config["model"]["provider"] == "nvidia"
- assert hermes_config["model"]["default"] == "nvidia/nemotron-3-nano-30b-a3b"
+ assert hermes_config["model"]["default"] == "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning"
assert hermes_config["model"]["base_url"] == f"{self.api_server}/v1"
assert hermes_config["plugins"]["enabled"] == ["observability/nemo_relay"]
assert output["hermes_native_config"]["plugins"] == ["observability/nemo_relay"]
@@ -223,7 +223,7 @@ async def test_atof_artifacts(self):
assert len(atof_records) == 7
assert all(
- record["metadata"]["model"] == "nvidia/nemotron-3-nano-30b-a3b"
+ record["metadata"]["model"] == "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning"
and record["metadata"]["platform"] == self.atof_platform
for record in atof_records
)
@@ -254,12 +254,12 @@ async def test_atif_artifacts(self):
assert first_step["message"] == "Reply with exactly: relay ok"
assert (
first_step["extra"]["llm_request"]["model"]
- == "nvidia/nemotron-3-nano-30b-a3b"
+ == "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning"
)
last_step = steps[-1]
assert last_step["source"] == "agent"
assert last_step["message"] == self.output["response"]
- assert last_step["model_name"] == "nvidia/nemotron-3-nano-30b-a3b"
+ assert last_step["model_name"] == "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning"
assert last_step["extra"]["invocation"]["framework"] == "nemo_relay"
assert last_step["extra"]["invocation"]["status"] == "completed"
diff --git a/tests/integrations/test_harbor_runner.py b/tests/integrations/test_harbor_runner.py
index 251c3d07..60b2f8e2 100644
--- a/tests/integrations/test_harbor_runner.py
+++ b/tests/integrations/test_harbor_runner.py
@@ -316,7 +316,7 @@ def test_harbor_calculator_documents_explicit_cli_commands():
assert "fabric_config_factory" not in swebench
assert "fabric_harness_settings" not in calculator
assert "fabric_workspace=/app" in calculator
- assert "--model nvidia/nemotron-3-nano-30b-a3b" in calculator
+ assert "--model nvidia/nemotron-3-nano-omni-30b-a3b-reasoning" in calculator
assert "--model anthropic/claude-sonnet-4-5" in calculator
assert 'CALCULATOR_DIR="$PWD/examples/harbor/calculator"' in calculator
assert "calculator/README.md" in landing
@@ -398,7 +398,7 @@ def test_harbor_relay_telemetry_exports_direct_atof_and_atif():
config = build_harbor_config(
adapter_id="nvidia.fabric.hermes",
workspace="/app",
- model_name="nvidia/nemotron-3-nano-30b-a3b",
+ model_name="nvidia/nemotron-3-nano-omni-30b-a3b-reasoning",
telemetry="relay",
)
assert config.harness.settings == {}
@@ -448,7 +448,7 @@ def test_swebench_matrix_translates_harbor_inputs_to_typed_config(tmp_path: Path
adapter_id="nvidia.fabric.hermes",
workspace="/testbed",
telemetry="relay",
- model_name="nvidia/nemotron-3-nano-30b-a3b",
+ model_name="nvidia/nemotron-3-nano-omni-30b-a3b-reasoning",
skills_dir="/harbor/skills",
mcp_servers=tuple(
HarborMcpServer.model_validate(server.model_dump(mode="python"))
@@ -480,7 +480,7 @@ def test_swebench_matrix_translates_harbor_inputs_to_typed_config(tmp_path: Path
assert base.mcp is None
assert base.tools is None
assert base.telemetry is None
- assert relay.models["default"].model == "nvidia/nemotron-3-nano-30b-a3b"
+ assert relay.models["default"].model == "nvidia/nemotron-3-nano-omni-30b-a3b-reasoning"
assert relay.skills is not None
assert relay.skills.paths == ["/harbor/skills"]
assert relay.mcp is not None