From 6eca163b4d6a34ad554eb9fe83355dd9e92ba7fb Mon Sep 17 00:00:00 2001 From: Zhongxuan Wang Date: Thu, 23 Jul 2026 17:32:24 -0700 Subject: [PATCH 1/3] docs: standardize NeMo Fabric naming Signed-off-by: Zhongxuan Wang --- .agents/skills/contribute-adapter/SKILL.md | 20 +++--- .../nemo_fabric_adapters/claude/adapter.py | 16 ++--- .../src/nemo_fabric_adapters/codex/adapter.py | 16 ++--- .../nemo_fabric_adapters/common/__init__.py | 2 +- .../nemo_fabric_adapters/common/lifecycle.py | 2 +- .../common/relay_gateway.py | 4 +- .../src/nemo_fabric_adapters/common/utils.py | 2 +- .../deepagents/adapter.py | 24 +++---- .../nemo_fabric_adapters/hermes/adapter.py | 8 +-- crates/fabric-cli/src/app.rs | 2 +- crates/fabric-core/src/config.rs | 62 +++++++++---------- crates/fabric-core/src/doctor.rs | 4 +- crates/fabric-core/src/error.rs | 6 +- crates/fabric-core/src/runtime.rs | 36 +++++------ crates/fabric-core/src/schema.rs | 8 +-- crates/fabric-python/src/lib.rs | 4 +- .../api/python-library-reference/index.md | 10 +-- .../nemo_fabric.client.md | 6 +- .../nemo_fabric.errors.md | 14 ++--- .../nemo_fabric.models.md | 8 +-- .../nemo_fabric.runtime.md | 2 +- .../nemo_fabric.types.md | 12 ++-- .../config/enum-adapterdescriptorsource.mdx | 6 +- .../config/enum-capabilitytarget.mdx | 2 +- .../config/enum-controllocation.mdx | 8 +-- .../config/enum-environmentownership.mdx | 6 +- .../config/enum-mcpexposure.mdx | 2 +- .../fn-resolve-run-plan-from-config.mdx | 4 +- .../nemo-fabric-core/config/index.mdx | 18 +++--- .../config/struct-adapterconfigsupport.mdx | 2 +- .../config/struct-adapterdescriptor.mdx | 2 +- .../config/struct-capabilityplan.mdx | 4 +- .../config/struct-environmentconfig.mdx | 4 +- .../config/struct-environmentplan.mdx | 2 +- .../config/struct-fabricconfig.mdx | 4 +- .../config/struct-mcpserverconfig.mdx | 2 +- .../config/struct-resolvecontext.mdx | 6 +- .../config/struct-runplan.mdx | 8 +-- .../nemo-fabric-core/doctor/index.mdx | 4 +- .../error/enum-fabricerror.mdx | 4 +- .../nemo-fabric-core/error/index.mdx | 8 +-- .../nemo-fabric-core/error/type-result.mdx | 4 +- .../nemo-fabric-core/index.mdx | 8 +-- .../runtime/enum-errorstage.mdx | 4 +- .../nemo-fabric-core/runtime/fn-run-plan.mdx | 4 +- .../nemo-fabric-core/runtime/index.mdx | 10 +-- .../runtime/struct-adapterinvocation.mdx | 2 +- .../runtime/struct-environmenthandle.mdx | 4 +- .../runtime/struct-errorinfo.mdx | 4 +- .../runtime/struct-fabricevent.mdx | 4 +- .../runtime/struct-runrequest.mdx | 4 +- .../runtime/struct-runresult.mdx | 6 +- .../runtime/struct-runtimehandle.mdx | 2 +- .../struct-runtimetelemetrycontext.mdx | 2 +- .../schema/enum-schemaname.mdx | 8 +-- .../nemo-fabric-core/schema/index.mdx | 6 +- examples/code_review_agent/config.py | 4 +- examples/harbor/calculator/task/task.toml | 2 +- examples/harbor/prepare_swebench.sh | 6 +- examples/notebooks/img/fabric-contract.svg | 2 +- examples/notebooks/img/variations.svg | 2 +- justfile | 4 +- python/src/nemo_fabric/client.py | 4 +- python/src/nemo_fabric/errors.py | 4 +- .../integrations/harbor/fabric_agent.py | 20 +++--- .../nemo_fabric/integrations/harbor/models.py | 2 +- .../nemo_fabric/integrations/harbor/runner.py | 2 +- .../integrations/harbor/telemetry.py | 2 +- python/src/nemo_fabric/models.py | 16 ++--- python/src/nemo_fabric/runtime.py | 2 +- python/src/nemo_fabric/types.py | 16 ++--- schemas/adapter-descriptor.schema.json | 4 +- schemas/adapter-invocation.schema.json | 20 +++--- schemas/agent.schema.json | 20 +++--- schemas/environment-handle.schema.json | 14 ++--- schemas/error-info.schema.json | 6 +- schemas/fabric-event.schema.json | 2 +- schemas/run-plan.schema.json | 42 ++++++------- schemas/run-request.schema.json | 2 +- schemas/run-result.schema.json | 12 ++-- schemas/runtime-context.schema.json | 16 ++--- schemas/runtime-handle.schema.json | 16 ++--- .../test_adapters_common_relay_gateway.py | 2 +- tests/python/test_sdk_contract.py | 2 +- 84 files changed, 341 insertions(+), 341 deletions(-) diff --git a/.agents/skills/contribute-adapter/SKILL.md b/.agents/skills/contribute-adapter/SKILL.md index cd50fe23..ffcae099 100644 --- a/.agents/skills/contribute-adapter/SKILL.md +++ b/.agents/skills/contribute-adapter/SKILL.md @@ -41,7 +41,7 @@ Decide the following before implementation: ## Implementation -- Use the existing Fabric `python` or `process` runner and normalized +- Use the existing NeMo Fabric `python` or `process` runner and normalized request/result contracts. Reuse `adapters/common/` only when its contract fits; do not add a runner or abstraction for one adapter. - Use `adapters//` with `LICENSE -> ../../LICENSE`, `README.md`, @@ -59,11 +59,11 @@ Decide the following before implementation: - Start with the narrowest truthful `fabric-adapter.json`. Keep `config.accepts`, `config.generates`, requirements, telemetry declarations, and lifecycle capabilities synchronized with implementation and tests. -- Use the complete Fabric invocation for adapters that consume normalized +- Use the complete NeMo Fabric invocation for adapters that consume normalized config or runtime context. Treat `config`, `capability_plan`, `telemetry_plan`, and `runtime_context` as authoritative. Reserve `harness.settings` for harness-specific behavior. -- Apply precedence in this order: normalized `config`; Fabric-resolved plans and +- Apply precedence in this order: normalized `config`; NeMo Fabric-resolved plans and runtime context; harness-specific settings; descriptor and adapter defaults. Let intentional overlaps layer by this order. Reject conflicting duplicate declarations or unsupported behavior with an actionable error naming the field @@ -75,23 +75,23 @@ Decide the following before implementation: - Forward only required system variables, selected credential variables, telemetry variables, and documented harness-specific environment. Never forward or log unrelated environment values. -- Start one local adapter host per Fabric runtime and keep it alive for ordered +- Start one local adapter host per NeMo Fabric runtime and keep it alive for ordered `start` → `invoke*` → `stop`. Emit one JSON lifecycle response per request on stdout and diagnostics on stderr; an early exit is a host crash. Return harness-level invoke failures in a successful lifecycle response as adapter output with `response: null`, `failed: true`, and structured `error` (`code`, `message`, `retryable`, and - optional `metadata`); Fabric normalizes it into a failed `RunResult`. + optional `metadata`); NeMo Fabric normalizes it into a failed `RunResult`. -> **TODO:** Revisit this output contract when Fabric adds streaming support; +> **TODO:** Revisit this output contract when NeMo Fabric adds streaming support; > update this guidance and affected adapter evidence then. - Scope workspace, generated config, state, sessions, and artifacts to the - resolved runtime context. Stateful adapters must isolate Fabric runtime IDs. + resolved runtime context. Stateful adapters must isolate NeMo Fabric runtime IDs. - Keep stdout stable: emit `response` plus adapter-specific extensions such as - `error`, harness `events`, `usage`, and session IDs. Fabric supplies top-level + `error`, harness `events`, `usage`, and session IDs. NeMo Fabric supplies top-level harness/adapter identity, lifecycle IDs, `status`, `error`, artifacts, - telemetry, Fabric lifecycle events, and metadata when it builds `RunResult`. + telemetry, NeMo Fabric lifecycle events, and metadata when it builds `RunResult`. Wire public adapter packages into language-native installation, descriptor, build, catalog, and CI surfaces. For Python, add the package to root @@ -105,7 +105,7 @@ ship its descriptor under `share/nemo-fabric/adapters/`. Use Use this table as the minimum capability review. Omit claims that the adapter cannot implement and test end to end. -| Surface | Fabric input | Adapter responsibility | +| Surface | NeMo Fabric input | Adapter responsibility | | --- | --- | --- | | Models | `config.models` and selected alias | Map supported provider settings and credential-variable names; reject unsupported providers. | | Tool policy | `config.tools.blocked` and `capability_plan.tools` | Claim `tools.blocked` only when every harness tool path enforces it. | diff --git a/adapters/claude/src/nemo_fabric_adapters/claude/adapter.py b/adapters/claude/src/nemo_fabric_adapters/claude/adapter.py index 2a57fd10..032a7ba6 100644 --- a/adapters/claude/src/nemo_fabric_adapters/claude/adapter.py +++ b/adapters/claude/src/nemo_fabric_adapters/claude/adapter.py @@ -1,7 +1,7 @@ # SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -"""Run Claude Agent SDK through the Fabric adapter contract.""" +"""Run Claude Agent SDK through the NeMo Fabric adapter contract.""" from __future__ import annotations @@ -122,7 +122,7 @@ def __init__( class AdapterInputError(ClaudeAdapterError): - """Invalid Fabric invocation input.""" + """Invalid NeMo Fabric invocation input.""" class AdapterConfigError(ClaudeAdapterError): @@ -173,7 +173,7 @@ def runtime_id(payload: dict[str, Any]) -> str: value = common_utils.runtime_context(payload).get("runtime_id") if not isinstance(value, str) or not value: raise AdapterInputError( - "claude_invalid_request", "Fabric runtime ID is required" + "claude_invalid_request", "NeMo Fabric runtime ID is required" ) return value @@ -271,7 +271,7 @@ def _nvidia_environment(payload: dict[str, Any]) -> dict[str, str]: "models.default.settings.base_url or NVIDIA_FRONTIER_BASE_URL is required " "for the NVIDIA model provider", ) - # Claude Code appends the Anthropic API version path itself, while Fabric's + # Claude Code appends the Anthropic API version path itself, while NeMo Fabric's # shared NVIDIA endpoint includes it for OpenAI-compatible clients. claude_base_url = base_url.rstrip("/").removesuffix("/v1") return { @@ -345,13 +345,13 @@ def _stage_skill_plugin(payload: dict[str, Any]) -> list[dict[str, str]]: if not skill_path.is_dir() or not (skill_path / "SKILL.md").is_file(): raise AdapterConfigError( "claude_invalid_configuration", - f"Fabric skill path must be a directory containing SKILL.md: {skill_path}", + f"NeMo Fabric skill path must be a directory containing SKILL.md: {skill_path}", ) name = skill_path.name if name in names: raise AdapterConfigError( "claude_invalid_configuration", - f"Fabric skill names must be unique: {name}", + f"NeMo Fabric skill names must be unique: {name}", ) names.add(name) skills.append((name, skill_path)) @@ -484,7 +484,7 @@ def prepare_claude_relay(payload: dict[str, Any]) -> ClaudeRelaySettings | None: def discard_stderr(_: str) -> None: - """Consume Claude Code stderr without exposing it through Fabric artifacts.""" + """Consume Claude Code stderr without exposing it through NeMo Fabric artifacts.""" def build_options( @@ -793,7 +793,7 @@ def _sdk_lifecycle_error(error: BaseException) -> lifecycle.LifecycleError: class ClaudeRuntime: - """One connected Claude SDK client owned by a Fabric runtime.""" + """One connected Claude SDK client owned by a NeMo Fabric runtime.""" def __init__(self) -> None: self._start_payload: dict[str, Any] | None = None diff --git a/adapters/codex/src/nemo_fabric_adapters/codex/adapter.py b/adapters/codex/src/nemo_fabric_adapters/codex/adapter.py index 0d08f927..c6ad297c 100644 --- a/adapters/codex/src/nemo_fabric_adapters/codex/adapter.py +++ b/adapters/codex/src/nemo_fabric_adapters/codex/adapter.py @@ -2,7 +2,7 @@ # SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -"""Run Codex through its native Python SDK and the Fabric adapter contract.""" +"""Run Codex through its native Python SDK and the NeMo Fabric adapter contract.""" from __future__ import annotations @@ -119,7 +119,7 @@ def __init__( class AdapterInputError(CodexAdapterError): - """Invalid Fabric invocation input.""" + """Invalid NeMo Fabric invocation input.""" class AdapterConfigError(CodexAdapterError): @@ -164,7 +164,7 @@ def runtime_id(payload: dict[str, Any]) -> str: value = common_utils.runtime_context(payload).get("runtime_id") if not isinstance(value, str) or not value: raise AdapterInputError( - "codex_invalid_request", "Fabric runtime ID is required" + "codex_invalid_request", "NeMo Fabric runtime ID is required" ) return value @@ -259,14 +259,14 @@ def _native_skill_paths(payload: dict[str, Any]) -> list[Path]: if not skill_path.is_dir() or not skill_file.is_file(): raise AdapterConfigError( "codex_invalid_configuration", - "Fabric skill path must be a directory containing SKILL.md: " + "NeMo Fabric skill path must be a directory containing SKILL.md: " f"{skill_path}", ) name = skill_path.name if not name or name in names: raise AdapterConfigError( "codex_invalid_configuration", - f"Fabric skill names must be unique: {name}", + f"NeMo Fabric skill names must be unique: {name}", ) names.add(name) paths.append(skill_path) @@ -279,7 +279,7 @@ async def _register_skill_roots(codex: AsyncCodex, skill_paths: list[Path]) -> N # The pinned SDK does not yet wrap the app-server's process-scoped # skills/extraRoots/set request. Keep the pinned-SDK compatibility seam - # here so arbitrary Fabric skill paths become discoverable without + # here so arbitrary NeMo Fabric skill paths become discoverable without # modifying the consumer workspace. await codex.models() client = getattr(codex, "_client", None) @@ -666,7 +666,7 @@ def thread_config( "codex", relay.gateway.executable )["hooks"], # This runtime-only request override is the SDK-native equivalent - # of the former non-interactive CLI flag. Fabric generated and + # of the former non-interactive CLI flag. NeMo Fabric generated and # vetted every hook command above. "bypass_hook_trust": True, }, @@ -1005,7 +1005,7 @@ def _as_lifecycle_error(error: CodexAdapterError) -> lifecycle.LifecycleError: class CodexRuntime: - """One Codex app-server client and thread owned by a Fabric runtime.""" + """One Codex app-server client and thread owned by a NeMo Fabric runtime.""" def __init__(self) -> None: self._start_payload: dict[str, Any] | None = None diff --git a/adapters/common/src/nemo_fabric_adapters/common/__init__.py b/adapters/common/src/nemo_fabric_adapters/common/__init__.py index f2852683..13dff21a 100644 --- a/adapters/common/src/nemo_fabric_adapters/common/__init__.py +++ b/adapters/common/src/nemo_fabric_adapters/common/__init__.py @@ -1,4 +1,4 @@ # SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -"""Shared helpers for Fabric adapter implementations.""" +"""Shared helpers for NeMo Fabric adapter implementations.""" diff --git a/adapters/common/src/nemo_fabric_adapters/common/lifecycle.py b/adapters/common/src/nemo_fabric_adapters/common/lifecycle.py index 0fcb7767..3149bf7c 100644 --- a/adapters/common/src/nemo_fabric_adapters/common/lifecycle.py +++ b/adapters/common/src/nemo_fabric_adapters/common/lifecycle.py @@ -377,7 +377,7 @@ def serve( input_stream: TextIO = sys.stdin, output_stream: TextIO = sys.stdout, ) -> None: - """Serve ordered lifecycle requests for exactly one Fabric runtime.""" + """Serve ordered lifecycle requests for exactly one NeMo Fabric runtime.""" # Reserve process stdout for the protocol for the entire host lifetime, # including SDK background tasks running while the host is idle. diff --git a/adapters/common/src/nemo_fabric_adapters/common/relay_gateway.py b/adapters/common/src/nemo_fabric_adapters/common/relay_gateway.py index a292fafb..2568a74a 100644 --- a/adapters/common/src/nemo_fabric_adapters/common/relay_gateway.py +++ b/adapters/common/src/nemo_fabric_adapters/common/relay_gateway.py @@ -41,7 +41,7 @@ class RelayGatewayLaunch: @dataclass(frozen=True) class RelayCliContract: - """Versioned external Relay CLI contract consumed by Fabric adapters.""" + """Versioned external Relay CLI contract consumed by NeMo Fabric adapters.""" version: tuple[int, int, int] observability_version: int @@ -94,7 +94,7 @@ def relay_cli_contract(executable: Path) -> RelayCliContract: raise RelayGatewayError( "unsupported NeMo Relay CLI version " f"{'.'.join(str(value) for value in version)}; " - "Fabric requires >=0.6.0,<0.7.0" + "NeMo Fabric requires >=0.6.0,<0.7.0" ) return RelayCliContract(version=version, observability_version=2) diff --git a/adapters/common/src/nemo_fabric_adapters/common/utils.py b/adapters/common/src/nemo_fabric_adapters/common/utils.py index e91a1309..a506da63 100644 --- a/adapters/common/src/nemo_fabric_adapters/common/utils.py +++ b/adapters/common/src/nemo_fabric_adapters/common/utils.py @@ -286,7 +286,7 @@ def relay_api_plugin_config(plugin_config: dict[str, Any]) -> plugin.PluginConfi ComponentSpec( ObservabilityConfig( # Relay 0.6 only accepts the v2 observability API model. - # Fabric still accepts its existing flat/v1 configuration + # NeMo Fabric still accepts its existing flat/v1 configuration # below and translates it at this API boundary. version=2, atof=_relay_api_atof_config(config.get("atof")), diff --git a/adapters/deepagents/src/nemo_fabric_adapters/deepagents/adapter.py b/adapters/deepagents/src/nemo_fabric_adapters/deepagents/adapter.py index 0a3523e7..421d0838 100644 --- a/adapters/deepagents/src/nemo_fabric_adapters/deepagents/adapter.py +++ b/adapters/deepagents/src/nemo_fabric_adapters/deepagents/adapter.py @@ -2,10 +2,10 @@ # SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -"""LangChain Deep Agents adapter for Fabric. +"""LangChain Deep Agents adapter for NeMo Fabric. -Maps Fabric's normalized invocation onto the ``deepagents`` SDK and returns a -normalized Fabric result. A started runtime retains one compiled graph and +Maps NeMo Fabric's normalized invocation onto the ``deepagents`` SDK and returns a +normalized NeMo Fabric result. A started runtime retains one compiled graph and LangGraph checkpointer across ordered invocations. """ @@ -41,7 +41,7 @@ } # MCP transports langchain-mcp-adapters accepts (after normalization). VALID_MCP_TRANSPORTS = {"stdio", "sse", "streamable_http", "websocket"} -# create_deep_agent arguments Fabric derives from normalized config; the +# create_deep_agent arguments NeMo Fabric derives from normalized config; the # harness.settings.deepagents passthrough must not override them (doing so would # bypass the normalized model config, MCP tool resolution, workspace confinement, # or tool gating). @@ -125,7 +125,7 @@ def main() -> None: def preflight_check(payload: dict[str, Any]) -> None: """Validate invocation-time prerequisites and fail fast with clear errors. - These are runtime preflight checks, not ``fabric doctor`` checks: Fabric core + These are runtime preflight checks, not ``fabric doctor`` checks: NeMo Fabric core has no adapter-doctor hook, so doctor cannot verify these. At invocation time the ``deepagents`` package must be importable and the configured model-provider credential must be present in the environment. @@ -175,7 +175,7 @@ def resolve_base_url( def build_chat_model(payload: dict[str, Any]) -> tuple[Any, str, str | None]: - """Build a LangChain chat model from Fabric model config. + """Build a LangChain chat model from NeMo Fabric model config. The default path targets NVIDIA-hosted OpenAI-compatible endpoints. A generic hook falls back to ``langchain.chat_models.init_chat_model`` for any provider @@ -228,7 +228,7 @@ def build_chat_model(payload: dict[str, Any]) -> tuple[Any, str, str | None]: def resolve_backend(payload: dict[str, Any]) -> Any: - """Root the Deep Agents filesystem backend at the Fabric workspace, if set.""" + """Root the Deep Agents filesystem backend at the NeMo Fabric workspace, if set.""" environment = common_utils.environment_payload(payload) workspace = environment.get("workspace") or common_utils.settings_payload( @@ -247,7 +247,7 @@ def resolve_backend(payload: dict[str, Any]) -> Any: async def resolve_tools(payload: dict[str, Any]) -> list[Any] | None: - """Resolve Fabric MCP servers into Deep Agents tools.""" + """Resolve NeMo Fabric MCP servers into Deep Agents tools.""" tools = await _mcp_tools(payload) return tools or None @@ -395,7 +395,7 @@ def _validated_passthrough(extra: Any) -> dict[str, Any]: """Validate the harness.settings.deepagents passthrough and return the safe subset. Only documented, JSON-serializable create_deep_agent options are forwarded. - Fabric-owned keys cannot be overridden (that would bypass the normalized model + NeMo Fabric-owned keys cannot be overridden (that would bypass the normalized model config, MCP tool resolution, workspace confinement, and tool gating), and unknown keys fail clearly instead of being silently dropped. """ @@ -407,8 +407,8 @@ def _validated_passthrough(extra: Any) -> dict[str, Any]: reserved = sorted(FABRIC_OWNED_AGENT_KEYS.intersection(extra)) if reserved: raise AdapterConfigError( - f"harness.settings.deepagents cannot override Fabric-owned keys {reserved}; " - "they are derived from the normalized Fabric config." + f"harness.settings.deepagents cannot override NeMo Fabric-owned keys {reserved}; " + "they are derived from the normalized NeMo Fabric config." ) unknown = sorted(set(extra) - DEEPAGENTS_PASSTHROUGH_KEYS) if unknown: @@ -463,7 +463,7 @@ def _gated_subagents(subagents: Any, blocked: set[str]) -> list[dict[str, Any]]: class DeepAgentsRuntime: - """One compiled Deep Agents graph and checkpointer owned by a Fabric runtime.""" + """One compiled Deep Agents graph and checkpointer owned by a NeMo Fabric runtime.""" def __init__(self) -> None: self._started = False diff --git a/adapters/hermes/src/nemo_fabric_adapters/hermes/adapter.py b/adapters/hermes/src/nemo_fabric_adapters/hermes/adapter.py index 07fd53aa..1278ecfa 100755 --- a/adapters/hermes/src/nemo_fabric_adapters/hermes/adapter.py +++ b/adapters/hermes/src/nemo_fabric_adapters/hermes/adapter.py @@ -2,9 +2,9 @@ # SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -"""Hermes adapter for Fabric. +"""Hermes adapter for NeMo Fabric. -This adapter maps Fabric's normalized config into Hermes' native Python SDK +This adapter maps NeMo Fabric's normalized config into Hermes' native Python SDK surface and invokes the installed Hermes runtime. """ @@ -174,7 +174,7 @@ def resolve_hermes_toolsets( class HermesRuntime: - """One Hermes agent and session database owned by a Fabric runtime.""" + """One Hermes agent and session database owned by a NeMo Fabric runtime.""" def __init__(self) -> None: self._started = False @@ -356,7 +356,7 @@ async def invoke(self, invocation: dict[str, Any]) -> dict[str, Any]: ) finally: # Hermes' Relay plugin materializes ATIF when its session-finalize - # hook runs. Finalize the telemetry session for each Fabric + # hook runs. Finalize the telemetry session for each NeMo Fabric # invocation while retaining the native AIAgent and SessionDB. self._finalize_relay_session() messages = result.get("messages") or [] diff --git a/crates/fabric-cli/src/app.rs b/crates/fabric-cli/src/app.rs index 93ab91eb..dfe547ec 100644 --- a/crates/fabric-cli/src/app.rs +++ b/crates/fabric-cli/src/app.rs @@ -47,7 +47,7 @@ enum Command { #[arg(long, default_value = "")] input: String, }, - /// Print the Fabric core version. + /// Print the NeMo Fabric core version. Version, } diff --git a/crates/fabric-core/src/config.rs b/crates/fabric-core/src/config.rs index 5316c433..e38298d6 100644 --- a/crates/fabric-core/src/config.rs +++ b/crates/fabric-core/src/config.rs @@ -1,7 +1,7 @@ // SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. // SPDX-License-Identifier: Apache-2.0 -//! Fabric config models and loading helpers. +//! NeMo Fabric config models and loading helpers. use std::collections::{BTreeMap, BTreeSet}; use std::fs; @@ -16,7 +16,7 @@ use crate::error::{FabricError, Result}; /// Adapter descriptor contract version supported by this core. pub const ADAPTER_CONTRACT_VERSION: &str = "fabric.adapter/v1alpha1"; -/// Versioned Fabric agent config. +/// Versioned NeMo Fabric agent config. #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, JsonSchema)] pub struct FabricConfig { /// Config schema version. @@ -113,7 +113,7 @@ pub struct AdapterDescriptor { /// Runtime requirements. #[serde(default)] pub requirements: AdapterRequirements, - /// Fabric config areas this adapter consumes or generates. + /// NeMo Fabric config areas this adapter consumes or generates. #[serde(default)] pub config: AdapterConfigSupport, /// Telemetry support declared by this adapter. @@ -127,11 +127,11 @@ pub struct AdapterDescriptor { pub extensions: BTreeMap, } -/// Where Fabric resolved an adapter descriptor from. +/// Where NeMo Fabric resolved an adapter descriptor from. #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, JsonSchema)] #[serde(rename_all = "snake_case")] pub enum AdapterDescriptorSource { - /// Descriptor maintained in this Fabric repository. + /// Descriptor maintained in this NeMo Fabric repository. Repository, /// Descriptor registered by the agent package or local development config. Local, @@ -275,23 +275,23 @@ pub enum ResolutionStrategy { NativePlugin, } -/// Where Fabric control code runs relative to the environment. +/// Where NeMo Fabric control code runs relative to the environment. #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, JsonSchema)] #[serde(rename_all = "snake_case")] pub enum ControlLocation { - /// Fabric runs on the host/control plane and starts or connects to the harness in the environment. + /// NeMo Fabric runs on the host/control plane and starts or connects to the harness in the environment. ExternalControl, - /// Fabric runs inside the prepared environment with the harness. + /// NeMo Fabric runs inside the prepared environment with the harness. InEnvControl, } -/// Whether Fabric owns the underlying environment resource. +/// Whether NeMo Fabric owns the underlying environment resource. #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, JsonSchema)] #[serde(rename_all = "snake_case")] pub enum EnvironmentOwnership { /// The caller or a surrounding system owns the environment resource. CallerOwned, - /// Fabric created or leased the environment resource and may release it. + /// NeMo Fabric created or leased the environment resource and may release it. FabricOwned, } @@ -321,7 +321,7 @@ pub struct AdapterRequirements { /// Adapter config support. #[derive(Debug, Clone, Default, PartialEq, Serialize, Deserialize, JsonSchema)] pub struct AdapterConfigSupport { - /// Fabric config areas or policy paths accepted by this adapter. + /// NeMo Fabric config areas or policy paths accepted by this adapter. #[serde(default, skip_serializing_if = "Vec::is_empty")] pub accepts: Vec, /// Harness-native files generated by this adapter. @@ -357,10 +357,10 @@ pub struct AdapterTelemetryProviderSupport { pub extensions: BTreeMap, } -/// Source context used when resolving an in-memory Fabric config. +/// Source context used when resolving an in-memory NeMo Fabric config. #[derive(Debug, Clone, PartialEq)] pub struct ResolveContext { - /// Base directory used to resolve relative Fabric paths. + /// Base directory used to resolve relative NeMo Fabric paths. pub base_dir: PathBuf, } @@ -438,10 +438,10 @@ fn default_output_schema() -> String { pub struct EnvironmentConfig { /// Environment provider, for example `local`, `docker`, `opensandbox`, or `k8s`. pub provider: String, - /// Where Fabric control code runs relative to the environment. + /// Where NeMo Fabric control code runs relative to the environment. #[serde(default = "default_control_location")] pub control_location: ControlLocation, - /// Whether Fabric owns the environment resource. + /// Whether NeMo Fabric owns the environment resource. #[serde(default = "default_environment_ownership")] pub ownership: EnvironmentOwnership, /// Workspace path inside or outside the provider. @@ -501,7 +501,7 @@ pub struct McpServerConfig { pub transport: String, /// MCP server URL or process command, depending on transport. pub url: String, - /// How Fabric exposes the MCP capability to the harness. + /// How NeMo Fabric exposes the MCP capability to the harness. pub exposure: McpExposure, /// Additive MCP server fields. #[serde(default, flatten)] @@ -514,7 +514,7 @@ pub struct McpServerConfig { pub enum McpExposure { /// Map into harness-native MCP config through the selected adapter. HarnessNative, - /// Fabric manages MCP and exposes basic tools/actions. + /// NeMo Fabric manages MCP and exposes basic tools/actions. FabricManaged, } @@ -982,7 +982,7 @@ fn validate_config(config: &FabricConfig) -> Result<()> { Ok(()) } -/// Resolve a typed Fabric config into a runnable plan. +/// Resolve a typed NeMo Fabric config into a runnable plan. /// /// Callers provide an already-composed typed config and the explicit base /// directory used for resolving relative paths. @@ -1228,7 +1228,7 @@ fn resolve_capability_plan( kind: CapabilityKind::Tools, name: "tools.blocked".to_string(), target: CapabilityTarget::HarnessNative, - reason: "selected adapter explicitly supports the Fabric blocked-tools policy" + reason: "selected adapter explicitly supports the NeMo Fabric blocked-tools policy" .to_string(), }); } else { @@ -1237,7 +1237,7 @@ fn resolve_capability_plan( kind: CapabilityKind::Tools, name: "tools.blocked".to_string(), target: CapabilityTarget::Unsupported, - reason: "selected adapter does not explicitly declare blocked-tools policy support and Fabric-managed enforcement is not implemented".to_string(), + reason: "selected adapter does not explicitly declare blocked-tools policy support and NeMo Fabric-managed enforcement is not implemented".to_string(), }); } } @@ -1249,7 +1249,7 @@ fn resolve_capability_plan( kind: CapabilityKind::Skills, name: "skills".to_string(), target: CapabilityTarget::HarnessNative, - reason: "selected adapter accepts Fabric skills config".to_string(), + reason: "selected adapter accepts NeMo Fabric skills config".to_string(), }); } else { unsupported.skill_paths = skill_paths.clone(); @@ -1257,7 +1257,7 @@ fn resolve_capability_plan( kind: CapabilityKind::Skills, name: "skills".to_string(), target: CapabilityTarget::Unsupported, - reason: "selected adapter does not declare native skills support and Fabric-managed skills are not implemented".to_string(), + reason: "selected adapter does not declare native skills support and NeMo Fabric-managed skills are not implemented".to_string(), }); } } @@ -1284,9 +1284,9 @@ fn resolve_capability_plan( target: CapabilityTarget::Unsupported, reason: match server.exposure { McpExposure::FabricManaged => { - "MCP server explicitly requests Fabric-managed exposure but Fabric-managed MCP is not implemented".to_string() + "MCP server explicitly requests NeMo Fabric-managed exposure but NeMo Fabric-managed MCP is not implemented".to_string() } - _ => "selected adapter does not declare native MCP support and Fabric-managed MCP is not implemented".to_string(), + _ => "selected adapter does not declare native MCP support and NeMo Fabric-managed MCP is not implemented".to_string(), }, }); } @@ -1420,14 +1420,14 @@ fn normalize_path(path: PathBuf) -> PathBuf { .collect() } -/// Resolved Fabric run plan. +/// Resolved NeMo Fabric run plan. #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, JsonSchema)] pub struct RunPlan { /// Stable agent name. pub agent_name: String, - /// Base directory used to resolve relative Fabric paths. + /// Base directory used to resolve relative NeMo Fabric paths. pub base_dir: PathBuf, - /// Complete typed Fabric config. + /// Complete typed NeMo Fabric config. pub config: FabricConfig, /// Adapter descriptor resolved for this plan, when configured. #[serde(default, skip_serializing_if = "Option::is_none")] @@ -1473,7 +1473,7 @@ pub struct RuntimeCapabilities { pub struct EnvironmentPlan { /// Environment provider. pub provider: String, - /// Fabric control location. + /// NeMo Fabric control location. pub control_location: ControlLocation, /// Environment resource ownership. pub ownership: EnvironmentOwnership, @@ -1512,10 +1512,10 @@ pub struct CapabilityPlan { /// Capabilities mapped into the harness-native surface. #[serde(default)] pub native: CapabilityTargetPlan, - /// Capabilities that Fabric must expose or manage outside the native harness config. + /// Capabilities that NeMo Fabric must expose or manage outside the native harness config. #[serde(default)] pub managed: CapabilityTargetPlan, - /// Capabilities that are configured but not executable by this Fabric build. + /// Capabilities that are configured but not executable by this NeMo Fabric build. #[serde(default)] pub unsupported: CapabilityTargetPlan, /// Routing decisions made while planning the configured capabilities. @@ -1576,7 +1576,7 @@ pub enum CapabilityKind { pub enum CapabilityTarget { /// Adapter maps the capability into harness-native config. HarnessNative, - /// Fabric exposes or manages the capability around the harness. + /// NeMo Fabric exposes or manages the capability around the harness. FabricManaged, /// Capability is configured but no executable surface exists. Unsupported, diff --git a/crates/fabric-core/src/doctor.rs b/crates/fabric-core/src/doctor.rs index 10f3117d..8327311c 100644 --- a/crates/fabric-core/src/doctor.rs +++ b/crates/fabric-core/src/doctor.rs @@ -1,7 +1,7 @@ // SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. // SPDX-License-Identifier: Apache-2.0 -//! Plan diagnostics for Fabric. +//! Plan diagnostics for NeMo Fabric. use std::collections::BTreeMap; use std::path::{Path, PathBuf}; @@ -115,7 +115,7 @@ fn check_resolution(plan: &RunPlan) -> DoctorCheck { let message = match status { DoctorStatus::Pass => format!("selected resolution strategy `{resolution:?}`"), DoctorStatus::Warn if matches!(resolution, ResolutionStrategy::Service) => { - "selected resolution strategy `service` is modeled but not implemented by Fabric runtime execution".to_string() + "selected resolution strategy `service` is modeled but not implemented by NeMo Fabric runtime execution".to_string() } DoctorStatus::Warn => format!( "selected resolution strategy `{resolution:?}` is declared but not executed by this POC" diff --git a/crates/fabric-core/src/error.rs b/crates/fabric-core/src/error.rs index ce2de11b..77cc7c74 100644 --- a/crates/fabric-core/src/error.rs +++ b/crates/fabric-core/src/error.rs @@ -1,16 +1,16 @@ // SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. // SPDX-License-Identifier: Apache-2.0 -//! Error types for Fabric core. +//! Error types for NeMo Fabric core. use std::path::PathBuf; use crate::config::AdapterKind; -/// Core Fabric result type. +/// Core NeMo Fabric result type. pub type Result = std::result::Result; -/// Errors raised by Fabric config loading and validation. +/// Errors raised by NeMo Fabric config loading and validation. #[derive(Debug, thiserror::Error)] pub enum FabricError { /// The base directory could not be resolved to an absolute path. diff --git a/crates/fabric-core/src/runtime.rs b/crates/fabric-core/src/runtime.rs index 4c5b9b80..96690bc0 100644 --- a/crates/fabric-core/src/runtime.rs +++ b/crates/fabric-core/src/runtime.rs @@ -57,7 +57,7 @@ static TEST_STOPPED_AGENTS: Mutex> = Mutex::new(Vec::new()); static LOCAL_HOSTS: LazyLock>>>> = LazyLock::new(|| Mutex::new(BTreeMap::new())); -/// A request passed to a Fabric-managed harness runtime. +/// A request passed to a NeMo Fabric-managed harness runtime. #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, JsonSchema, Default)] pub struct RunRequest { /// Request id. @@ -85,7 +85,7 @@ impl RunRequest { } } -/// Result from a Fabric-managed harness invocation. +/// Result from a NeMo Fabric-managed harness invocation. #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, JsonSchema)] pub struct RunResult { /// Stable agent name. @@ -117,7 +117,7 @@ pub struct RunResult { /// Telemetry reference when available. #[serde(default, skip_serializing_if = "Option::is_none")] pub telemetry: Option, - /// Fabric lifecycle/progress events emitted during the run. + /// NeMo Fabric lifecycle/progress events emitted during the run. #[serde(default, skip_serializing_if = "Vec::is_empty")] pub events: Vec, /// Adapter-specific metadata. @@ -140,13 +140,13 @@ pub enum RunStatus { /// Normalized error metadata. #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, JsonSchema)] pub struct ErrorInfo { - /// Fabric lifecycle stage where the failure surfaced. + /// NeMo Fabric lifecycle stage where the failure surfaced. pub stage: ErrorStage, /// Stable error code. pub code: String, /// Human-readable error message. pub message: String, - /// Whether Fabric considers this failure safe for a consumer-level retry. + /// Whether NeMo Fabric considers this failure safe for a consumer-level retry. #[serde(default)] pub retryable: bool, /// Adapter or runtime metadata useful for diagnostics. @@ -154,7 +154,7 @@ pub struct ErrorInfo { pub metadata: BTreeMap, } -/// Fabric lifecycle stage associated with an error. +/// NeMo Fabric lifecycle stage associated with an error. #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, JsonSchema)] #[serde(rename_all = "snake_case")] pub enum ErrorStage { @@ -211,7 +211,7 @@ pub struct TelemetryRef { pub metadata: BTreeMap, } -/// Fabric lifecycle or progress event. +/// NeMo Fabric lifecycle or progress event. #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, JsonSchema)] pub struct FabricEvent { /// Event id. @@ -234,7 +234,7 @@ pub struct EnvironmentHandle { pub environment_id: String, /// Environment provider. pub provider: String, - /// Where Fabric control code runs. + /// Where NeMo Fabric control code runs. pub control_location: ControlLocation, /// Workspace visible to the harness runtime. #[serde(default, skip_serializing_if = "Option::is_none")] @@ -242,7 +242,7 @@ pub struct EnvironmentHandle { /// Artifact root visible to the harness runtime. #[serde(default, skip_serializing_if = "Option::is_none")] pub artifacts: Option, - /// Whether Fabric owns the environment resource. + /// Whether NeMo Fabric owns the environment resource. pub ownership: EnvironmentOwnership, /// Provider connection metadata. #[serde(default, skip_serializing_if = "BTreeMap::is_empty")] @@ -257,7 +257,7 @@ pub struct EnvironmentHandle { pub struct RuntimeHandle { /// Runtime handle id. pub runtime_id: String, - /// Fabric-owned opaque binding for this runtime handle. + /// NeMo Fabric-owned opaque binding for this runtime handle. pub runtime_binding: String, /// Agent name. pub agent_name: String, @@ -309,7 +309,7 @@ pub struct RuntimeTelemetryContext { /// Generated Relay config path for this invocation. #[serde(default, skip_serializing_if = "Option::is_none")] pub config_path: Option, - /// Environment variables Fabric applies while invoking the adapter. + /// Environment variables NeMo Fabric applies while invoking the adapter. #[serde(default, skip_serializing_if = "BTreeMap::is_empty")] pub env: BTreeMap, /// Additional telemetry metadata surfaced to consumers and adapters. @@ -320,7 +320,7 @@ pub struct RuntimeTelemetryContext { /// One invocation against an initialized adapter runtime. #[derive(Debug, Clone, PartialEq, Serialize, Deserialize, JsonSchema)] pub struct AdapterInvocation { - /// Invocation context generated by Fabric. + /// Invocation context generated by NeMo Fabric. pub runtime_context: RuntimeContext, /// Typed caller request for this invocation. pub request: RunRequest, @@ -451,7 +451,7 @@ struct LocalAdapterHost { relay_config: Option, } -/// Invoke a Fabric run plan. +/// Invoke a NeMo Fabric run plan. pub fn run_plan(plan: &RunPlan, request: RunRequest) -> Result { let runtime = start_runtime(plan)?; let mut result = match invoke_runtime(plan, &runtime, request) { @@ -736,7 +736,7 @@ enum PythonSource { AdapterPythonEnv, /// The active virtualenv (`VIRTUAL_ENV`). Virtualenv, - /// An interpreter found next to the running Fabric executable. + /// An interpreter found next to the running NeMo Fabric executable. HostInterpreter, /// The bare `python3` command resolved off `PATH` (last resort). DefaultPython3, @@ -753,7 +753,7 @@ impl PythonSource { format!("`{ADAPTER_PYTHON_ENV}` environment variable") } PythonSource::Virtualenv => format!("active virtualenv (`{VIRTUAL_ENV_ENV}`)"), - PythonSource::HostInterpreter => "Fabric host interpreter".to_string(), + PythonSource::HostInterpreter => "NeMo Fabric host interpreter".to_string(), PythonSource::DefaultPython3 => format!("default `{DEFAULT_PYTHON}` on PATH"), } } @@ -1858,7 +1858,7 @@ fn resolve_python_command_with_env( } /// With no interpreter explicitly configured, prefer (in order) the active -/// virtualenv, an interpreter next to the running Fabric executable, and only +/// virtualenv, an interpreter next to the running NeMo Fabric executable, and only /// then a bare `python3` off PATH. A preinstalled adapter is installed in the /// caller's environment, so launching it with an unrelated `python3` off PATH /// otherwise dies mid-run with an opaque ModuleNotFoundError (FABRIC-86). @@ -2349,8 +2349,8 @@ fn event_with_metadata( } fn new_id(prefix: &str) -> String { - // The atomic counter only differentiates ids within one Fabric process. - // Include the process id so independently running Fabric processes cannot + // The atomic counter only differentiates ids within one NeMo Fabric process. + // Include the process id so independently running NeMo Fabric processes cannot // collide when they generate ids in the same millisecond. let counter = NEXT_ID.fetch_add(1, Ordering::Relaxed); format!("{prefix}-{}-{}-{counter}", now_millis(), std::process::id()) diff --git a/crates/fabric-core/src/schema.rs b/crates/fabric-core/src/schema.rs index 3ad59955..46824a6a 100644 --- a/crates/fabric-core/src/schema.rs +++ b/crates/fabric-core/src/schema.rs @@ -1,7 +1,7 @@ // SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. // SPDX-License-Identifier: Apache-2.0 -//! JSON Schema generation for the public Fabric contract. +//! JSON Schema generation for the public NeMo Fabric contract. use std::collections::BTreeMap; use std::path::{Path, PathBuf}; @@ -16,10 +16,10 @@ use crate::runtime::{ InvocationHandle, RunRequest, RunResult, RuntimeContext, RuntimeHandle, }; -/// Public schema snapshots generated by Fabric. +/// Public schema snapshots generated by NeMo Fabric. #[derive(Debug, Clone, Copy, PartialEq, Eq)] pub enum SchemaName { - /// Complete typed Fabric config schema. + /// Complete typed NeMo Fabric config schema. Agent, /// Adapter descriptor schema. AdapterDescriptor, @@ -43,7 +43,7 @@ pub enum SchemaName { ArtifactManifest, /// Structured error metadata schema. ErrorInfo, - /// Fabric lifecycle event schema. + /// NeMo Fabric lifecycle event schema. FabricEvent, } diff --git a/crates/fabric-python/src/lib.rs b/crates/fabric-python/src/lib.rs index 1362f480..72f62d3e 100644 --- a/crates/fabric-python/src/lib.rs +++ b/crates/fabric-python/src/lib.rs @@ -12,7 +12,7 @@ use nemo_fabric_core::{ use pyo3::exceptions::PyRuntimeError; use pyo3::prelude::*; -/// Return the Fabric core version. +/// Return the NeMo Fabric core version. #[pyfunction] fn version() -> PyResult { Ok(nemo_fabric_core::version().to_string()) @@ -44,7 +44,7 @@ fn doctor_config( to_json(&doctor_plan(&plan)) } -/// Run typed config JSON through its Fabric adapter and return JSON. +/// Run typed config JSON through its NeMo Fabric adapter and return JSON. #[pyfunction] #[pyo3(signature = (config_json, base_dir=None, input_text=None, input_file=None, request_json=None, request_file=None))] fn run_config( diff --git a/docs/reference/api/python-library-reference/index.md b/docs/reference/api/python-library-reference/index.md index 8d580c39..0b0604e3 100644 --- a/docs/reference/api/python-library-reference/index.md +++ b/docs/reference/api/python-library-reference/index.md @@ -11,7 +11,7 @@ SPDX-License-Identifier: Apache-2.0 */} ## Modules - [`nemo_fabric.client`](./nemo_fabric.client.md#module-nemo_fabricclient): Native Python client for resolving and running NeMo Fabric agents. -- [`nemo_fabric.runtime`](./nemo_fabric.runtime.md#module-nemo_fabricruntime): Runtime lifecycle support for the Fabric Python SDK. +- [`nemo_fabric.runtime`](./nemo_fabric.runtime.md#module-nemo_fabricruntime): Runtime lifecycle support for the NeMo Fabric Python SDK. - [`nemo_fabric.models`](./nemo_fabric.models.md#module-nemo_fabricmodels): Pydantic SDK models for NeMo Fabric configuration and requests. - [`nemo_fabric.types`](./nemo_fabric.types.md#module-nemo_fabrictypes): Public data contracts for the NeMo Fabric Python SDK. - [`nemo_fabric.errors`](./nemo_fabric.errors.md#module-nemo_fabricerrors): Public exception hierarchy for the NeMo Fabric Python SDK. @@ -23,7 +23,7 @@ SPDX-License-Identifier: Apache-2.0 */} - [`runtime.RuntimeStatus`](./nemo_fabric.runtime.md#class-runtimestatus): Lifecycle state of a runtime. - [`models.EnvironmentConfig`](./nemo_fabric.models.md#class-environmentconfig): Execution environment configuration supplied by the consumer. - [`models.FabricBaseModel`](./nemo_fabric.models.md#class-fabricbasemodel): Base class for SDK-facing Pydantic models. -- [`models.FabricConfig`](./nemo_fabric.models.md#class-fabricconfig): SDK-facing typed Fabric agent configuration. +- [`models.FabricConfig`](./nemo_fabric.models.md#class-fabricconfig): SDK-facing typed NeMo Fabric agent configuration. - [`models.HarnessConfig`](./nemo_fabric.models.md#class-harnessconfig): Harness adapter selection plus adapter-owned settings. - [`models.McpConfig`](./nemo_fabric.models.md#class-mcpconfig): MCP capability configuration. - [`models.McpServerConfig`](./nemo_fabric.models.md#class-mcpserverconfig): MCP server configuration. @@ -39,7 +39,7 @@ SPDX-License-Identifier: Apache-2.0 */} - [`models.RelayObservabilityConfig`](./nemo_fabric.models.md#class-relayobservabilityconfig): NeMo Relay observability component configuration. - [`models.RelayOtlpConfig`](./nemo_fabric.models.md#class-relayotlpconfig): NeMo Relay OTLP export configuration for OpenTelemetry/OpenInference. - [`models.RelayS3StorageConfig`](./nemo_fabric.models.md#class-relays3storageconfig): NeMo Relay ATIF S3 storage configuration. -- [`models.RunRequest`](./nemo_fabric.models.md#class-runrequest): One validated Fabric invocation request. +- [`models.RunRequest`](./nemo_fabric.models.md#class-runrequest): One validated NeMo Fabric invocation request. - [`models.RuntimeConfig`](./nemo_fabric.models.md#class-runtimeconfig): Runtime input/output contract. - [`models.SkillConfig`](./nemo_fabric.models.md#class-skillconfig): Skill capability configuration. - [`models.TelemetryConfig`](./nemo_fabric.models.md#class-telemetryconfig): Telemetry configuration. @@ -54,13 +54,13 @@ SPDX-License-Identifier: Apache-2.0 */} - [`types.FabricEvent`](./nemo_fabric.types.md#class-fabricevent): One normalized lifecycle or invocation event. - [`types.RunOutput`](./nemo_fabric.types.md#class-runoutput): Normalized adapter output. - [`types.RunPlan`](./nemo_fabric.types.md#class-runplan): Immutable execution plan produced before a runtime is started. -- [`types.RunResult`](./nemo_fabric.types.md#class-runresult): Normalized terminal result from one Fabric invocation. +- [`types.RunResult`](./nemo_fabric.types.md#class-runresult): Normalized terminal result from one NeMo Fabric invocation. - [`types.RuntimeCapabilities`](./nemo_fabric.types.md#class-runtimecapabilities): Operations declared by the resolved runtime and adapter. - [`types.RuntimeHandle`](./nemo_fabric.types.md#class-runtimehandle): Opaque identity and binding for one started runtime. - [`types.TelemetryRef`](./nemo_fabric.types.md#class-telemetryref): Reference to external or persisted telemetry for a run. - [`errors.FabricCapabilityError`](./nemo_fabric.errors.md#class-fabriccapabilityerror): Operation rejected by resolved runtime capabilities or implementation status. - [`errors.FabricConfigError`](./nemo_fabric.errors.md#class-fabricconfigerror): Invalid SDK input, request shape, factory, or resolved config. -- [`errors.FabricError`](./nemo_fabric.errors.md#class-fabricerror): Base class for structured SDK-level Fabric errors. +- [`errors.FabricError`](./nemo_fabric.errors.md#class-fabricerror): Base class for structured SDK-level NeMo Fabric errors. - [`errors.FabricNativeUnavailableError`](./nemo_fabric.errors.md#class-fabricnativeunavailableerror): SDK call requires the PyO3 extension, but it is not installed or importable. - [`errors.FabricRuntimeError`](./nemo_fabric.errors.md#class-fabricruntimeerror): Failure while starting, invoking, stopping, or otherwise driving a runtime. - [`errors.FabricStateError`](./nemo_fabric.errors.md#class-fabricstateerror): Operation rejected because a local runtime is in the wrong state. diff --git a/docs/reference/api/python-library-reference/nemo_fabric.client.md b/docs/reference/api/python-library-reference/nemo_fabric.client.md index f8fec00e..9a33c0fb 100644 --- a/docs/reference/api/python-library-reference/nemo_fabric.client.md +++ b/docs/reference/api/python-library-reference/nemo_fabric.client.md @@ -1,7 +1,7 @@ --- title: "Client" slug: "/reference/api/python-library-reference/client" -description: "Resolve, plan, diagnose, and run agents with Fabric." +description: "Resolve, plan, diagnose, and run agents with NeMo Fabric." --- {/* SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. SPDX-License-Identifier: Apache-2.0 */} @@ -40,7 +40,7 @@ doctor( Diagnose a planned agent without starting its runtime. -Doctor checks the resolved adapter, capability mappings, and declared environment requirements using the native Fabric core. +Doctor checks the resolved adapter, capability mappings, and declared environment requirements using the native NeMo Fabric core. @@ -112,7 +112,7 @@ run( Execute one complete start, invoke, and stop lifecycle. -``input`` and ``request`` are mutually exclusive. Omitting both produces an empty text input. Use ``RunRequest`` when the invocation needs a caller-owned request ID, context, or overrides. Fabric attempts to stop a started runtime even when invocation fails. +``input`` and ``request`` are mutually exclusive. Omitting both produces an empty text input. Use ``RunRequest`` when the invocation needs a caller-owned request ID, context, or overrides. NeMo Fabric attempts to stop a started runtime even when invocation fails. diff --git a/docs/reference/api/python-library-reference/nemo_fabric.errors.md b/docs/reference/api/python-library-reference/nemo_fabric.errors.md index 44bad6a2..3b1993fa 100644 --- a/docs/reference/api/python-library-reference/nemo_fabric.errors.md +++ b/docs/reference/api/python-library-reference/nemo_fabric.errors.md @@ -15,7 +15,7 @@ Public exception hierarchy for the NeMo Fabric Python SDK. ## class `FabricError` -Base class for structured SDK-level Fabric errors. +Base class for structured SDK-level NeMo Fabric errors. Catch this type to handle any SDK failure while preserving machine-readable stage, code, retryability, and detail fields. @@ -41,7 +41,7 @@ __init__( ) → None ``` -Initialize a structured Fabric exception. +Initialize a structured NeMo Fabric exception. @@ -76,7 +76,7 @@ __init__( ) → None ``` -Initialize a structured Fabric exception. +Initialize a structured NeMo Fabric exception. @@ -111,7 +111,7 @@ __init__( ) → None ``` -Initialize a structured Fabric exception. +Initialize a structured NeMo Fabric exception. @@ -146,7 +146,7 @@ __init__( ) → None ``` -Initialize a structured Fabric exception. +Initialize a structured NeMo Fabric exception. @@ -181,7 +181,7 @@ __init__( ) → None ``` -Initialize a structured Fabric exception. +Initialize a structured NeMo Fabric exception. @@ -216,7 +216,7 @@ __init__( ) → None ``` -Initialize a structured Fabric exception. +Initialize a structured NeMo Fabric exception. diff --git a/docs/reference/api/python-library-reference/nemo_fabric.models.md b/docs/reference/api/python-library-reference/nemo_fabric.models.md index 2736be7c..96233466 100644 --- a/docs/reference/api/python-library-reference/nemo_fabric.models.md +++ b/docs/reference/api/python-library-reference/nemo_fabric.models.md @@ -1,7 +1,7 @@ --- title: "Models" slug: "/reference/api/python-library-reference/models" -description: "Pydantic authoring models for Fabric config and request inputs." +description: "Pydantic authoring models for NeMo Fabric config and request inputs." --- {/* SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. SPDX-License-Identifier: Apache-2.0 */} @@ -259,7 +259,7 @@ Return a detached JSON-compatible mapping for Rust/core calls. ## class `EnvironmentConfig` Execution environment configuration supplied by the consumer. -``provider`` selects the environment implementation. ``workspace`` is the path visible to the harness, while ``artifacts`` is the provider-specific output location. ``settings`` configures the selected provider; ``connection`` describes how Fabric reaches an existing environment; and ``metadata`` carries consumer-owned values that Fabric does not interpret. ``ownership`` identifies who tears the environment down, and ``control_location`` identifies whether Fabric control code runs inside or outside it. +``provider`` selects the environment implementation. ``workspace`` is the path visible to the harness, while ``artifacts`` is the provider-specific output location. ``settings`` configures the selected provider; ``connection`` describes how NeMo Fabric reaches an existing environment; and ``metadata`` carries consumer-owned values that NeMo Fabric does not interpret. ``ownership`` identifies who tears the environment down, and ``control_location`` identifies whether NeMo Fabric control code runs inside or outside it. --- @@ -1423,7 +1423,7 @@ Return a detached JSON-compatible mapping for Rust/core calls. ## class `FabricConfig` -SDK-facing typed Fabric agent configuration. +SDK-facing typed NeMo Fabric agent configuration. --- @@ -1561,7 +1561,7 @@ Return a detached mapping matching the Rust ``FabricConfig`` schema. ## class `RunRequest` -One validated Fabric invocation request. +One validated NeMo Fabric invocation request. --- diff --git a/docs/reference/api/python-library-reference/nemo_fabric.runtime.md b/docs/reference/api/python-library-reference/nemo_fabric.runtime.md index e0e1474f..ebdf1c6d 100644 --- a/docs/reference/api/python-library-reference/nemo_fabric.runtime.md +++ b/docs/reference/api/python-library-reference/nemo_fabric.runtime.md @@ -7,7 +7,7 @@ description: "Drive stateful multi-turn execution through the Runtime API." SPDX-License-Identifier: Apache-2.0 */} # module `nemo_fabric.runtime` -Runtime lifecycle support for the Fabric Python SDK. +Runtime lifecycle support for the NeMo Fabric Python SDK. diff --git a/docs/reference/api/python-library-reference/nemo_fabric.types.md b/docs/reference/api/python-library-reference/nemo_fabric.types.md index 5de0e451..defbe23d 100644 --- a/docs/reference/api/python-library-reference/nemo_fabric.types.md +++ b/docs/reference/api/python-library-reference/nemo_fabric.types.md @@ -21,7 +21,7 @@ Resolved adapter identity attached to a run plan. **Attributes:** - - `adapter_id`: Stable identifier of the Fabric adapter implementation. + - `adapter_id`: Stable identifier of the NeMo Fabric adapter implementation. - `harness`: Stable machine-readable harness identifier. - `adapter_kind`: Execution mechanism used by the adapter. - `metadata`: Adapter-specific, JSON-compatible metadata. @@ -712,7 +712,7 @@ Return a detached, JSON-compatible mapping for serialization. ## class `RuntimeHandle` Opaque identity and binding for one started runtime. -Applications should treat ``runtime_binding`` as opaque. Fabric validates the handle against the run plan before invocation or shutdown. +Applications should treat ``runtime_binding`` as opaque. NeMo Fabric validates the handle against the run plan before invocation or shutdown. @@ -723,7 +723,7 @@ Applications should treat ``runtime_binding`` as opaque. Fabric validates the ha - `agent_name`: Resolved agent name. - `harness`: Stable harness identifier. - `adapter_kind`: Adapter execution mechanism. - - `adapter_id`: Optional Fabric adapter identifier. + - `adapter_id`: Optional NeMo Fabric adapter identifier. - `environment`: Prepared environment snapshot. @@ -786,7 +786,7 @@ Return a detached, JSON-compatible mapping for serialization. ## class `RunOutput` Normalized adapter output. -``response`` is a known adapter response field whose value follows the core Fabric JSON contract. Other keys are adapter-specific extensions. +``response`` is a known adapter response field whose value follows the core NeMo Fabric JSON contract. Other keys are adapter-specific extensions. ### method `__init__` @@ -852,7 +852,7 @@ Return a detached, JSON-compatible mapping for serialization. ## class `RunResult` -Normalized terminal result from one Fabric invocation. +Normalized terminal result from one NeMo Fabric invocation. The model is both attribute-accessible and mapping-compatible. A harness failure can be represented by ``status`` and ``error`` without raising when the adapter successfully returns a normalized result. @@ -863,7 +863,7 @@ The model is both attribute-accessible and mapping-compatible. A harness failure - `agent_name`: Resolved agent name. - `harness`: Stable harness identifier. - `adapter_kind`: Adapter execution mechanism. - - `adapter_id`: Fabric adapter identifier. + - `adapter_id`: NeMo Fabric adapter identifier. - `runtime_id`: Runtime lifecycle identifier. - `invocation_id`: Identifier for this invocation. - `request_id`: Correlated request identifier. diff --git a/docs/reference/api/rust-library-reference/nemo-fabric-core/config/enum-adapterdescriptorsource.mdx b/docs/reference/api/rust-library-reference/nemo-fabric-core/config/enum-adapterdescriptorsource.mdx index 57ada140..0066e598 100644 --- a/docs/reference/api/rust-library-reference/nemo-fabric-core/config/enum-adapterdescriptorsource.mdx +++ b/docs/reference/api/rust-library-reference/nemo-fabric-core/config/enum-adapterdescriptorsource.mdx @@ -1,7 +1,7 @@ --- title: "Enum Adapter Descriptor Source" sidebar-title: "AdapterDescriptorSource" -description: "Where Fabric resolved an adapter descriptor from." +description: "Where NeMo Fabric resolved an adapter descriptor from." position: 4 --- {/* SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. @@ -16,7 +16,7 @@ pub enum AdapterDescriptorSource { } ``` -Where Fabric resolved an adapter descriptor from. +Where NeMo Fabric resolved an adapter descriptor from. ## Variants @@ -24,7 +24,7 @@ Where Fabric resolved an adapter descriptor from.
-Descriptor maintained in this Fabric repository. +Descriptor maintained in this NeMo Fabric repository. ### `Local` diff --git a/docs/reference/api/rust-library-reference/nemo-fabric-core/config/enum-capabilitytarget.mdx b/docs/reference/api/rust-library-reference/nemo-fabric-core/config/enum-capabilitytarget.mdx index 2b82413a..034ea55b 100644 --- a/docs/reference/api/rust-library-reference/nemo-fabric-core/config/enum-capabilitytarget.mdx +++ b/docs/reference/api/rust-library-reference/nemo-fabric-core/config/enum-capabilitytarget.mdx @@ -31,7 +31,7 @@ Adapter maps the capability into harness-native config.
-Fabric exposes or manages the capability around the harness. +NeMo Fabric exposes or manages the capability around the harness. ### `Unsupported` diff --git a/docs/reference/api/rust-library-reference/nemo-fabric-core/config/enum-controllocation.mdx b/docs/reference/api/rust-library-reference/nemo-fabric-core/config/enum-controllocation.mdx index 84d27e31..608e6105 100644 --- a/docs/reference/api/rust-library-reference/nemo-fabric-core/config/enum-controllocation.mdx +++ b/docs/reference/api/rust-library-reference/nemo-fabric-core/config/enum-controllocation.mdx @@ -1,7 +1,7 @@ --- title: "Enum Control Location" sidebar-title: "ControlLocation" -description: "Where Fabric control code runs relative to the environment." +description: "Where NeMo Fabric control code runs relative to the environment." position: 10 --- {/* SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. @@ -16,7 +16,7 @@ pub enum ControlLocation { } ``` -Where Fabric control code runs relative to the environment. +Where NeMo Fabric control code runs relative to the environment. ## Variants @@ -24,13 +24,13 @@ Where Fabric control code runs relative to the environment.
-Fabric runs on the host/control plane and starts or connects to the harness in the environment. +NeMo Fabric runs on the host/control plane and starts or connects to the harness in the environment. ### `InEnvControl`
-Fabric runs inside the prepared environment with the harness. +NeMo Fabric runs inside the prepared environment with the harness. ## Trait Implementations diff --git a/docs/reference/api/rust-library-reference/nemo-fabric-core/config/enum-environmentownership.mdx b/docs/reference/api/rust-library-reference/nemo-fabric-core/config/enum-environmentownership.mdx index 962a0afd..94add027 100644 --- a/docs/reference/api/rust-library-reference/nemo-fabric-core/config/enum-environmentownership.mdx +++ b/docs/reference/api/rust-library-reference/nemo-fabric-core/config/enum-environmentownership.mdx @@ -1,7 +1,7 @@ --- title: "Enum Environment Ownership" sidebar-title: "EnvironmentOwnership" -description: "Whether Fabric owns the underlying environment resource." +description: "Whether NeMo Fabric owns the underlying environment resource." position: 12 --- {/* SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. @@ -16,7 +16,7 @@ pub enum EnvironmentOwnership { } ``` -Whether Fabric owns the underlying environment resource. +Whether NeMo Fabric owns the underlying environment resource. ## Variants @@ -30,7 +30,7 @@ The caller or a surrounding system owns the environment resource.
-Fabric created or leased the environment resource and may release it. +NeMo Fabric created or leased the environment resource and may release it. ## Trait Implementations diff --git a/docs/reference/api/rust-library-reference/nemo-fabric-core/config/enum-mcpexposure.mdx b/docs/reference/api/rust-library-reference/nemo-fabric-core/config/enum-mcpexposure.mdx index b0623603..978970bf 100644 --- a/docs/reference/api/rust-library-reference/nemo-fabric-core/config/enum-mcpexposure.mdx +++ b/docs/reference/api/rust-library-reference/nemo-fabric-core/config/enum-mcpexposure.mdx @@ -30,7 +30,7 @@ Map into harness-native MCP config through the selected adapter.
-Fabric manages MCP and exposes basic tools/actions. +NeMo Fabric manages MCP and exposes basic tools/actions. ## Trait Implementations diff --git a/docs/reference/api/rust-library-reference/nemo-fabric-core/config/fn-resolve-run-plan-from-config.mdx b/docs/reference/api/rust-library-reference/nemo-fabric-core/config/fn-resolve-run-plan-from-config.mdx index 830eb41f..09afcbfc 100644 --- a/docs/reference/api/rust-library-reference/nemo-fabric-core/config/fn-resolve-run-plan-from-config.mdx +++ b/docs/reference/api/rust-library-reference/nemo-fabric-core/config/fn-resolve-run-plan-from-config.mdx @@ -1,7 +1,7 @@ --- title: "Function resolve_run_plan_from_config" sidebar-title: "resolve_run_plan_from_config" -description: "Resolve a typed Fabric config into a runnable plan." +description: "Resolve a typed NeMo Fabric config into a runnable plan." position: 33 --- {/* SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. @@ -11,6 +11,6 @@ Generated from `cargo doc --no-deps -p nemo-fabric-core`.
FabricConfig,\n    context: ResolveContext,\n) -> Result<RunPlan>"}} />
-Resolve a typed Fabric config into a runnable plan. +Resolve a typed NeMo Fabric config into a runnable plan. Callers provide an already-composed typed config and the explicit base directory used for resolving relative paths. diff --git a/docs/reference/api/rust-library-reference/nemo-fabric-core/config/index.mdx b/docs/reference/api/rust-library-reference/nemo-fabric-core/config/index.mdx index 4de4cef4..407889bc 100644 --- a/docs/reference/api/rust-library-reference/nemo-fabric-core/config/index.mdx +++ b/docs/reference/api/rust-library-reference/nemo-fabric-core/config/index.mdx @@ -1,7 +1,7 @@ --- title: "Module config" sidebar-title: "config" -description: "Fabric config models and loading helpers." +description: "NeMo Fabric config models and loading helpers." position: 65 --- {/* SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. @@ -9,7 +9,7 @@ SPDX-License-Identifier: Apache-2.0 */} Generated from `cargo doc --no-deps -p nemo-fabric-core`. -Fabric config models and loading helpers. +NeMo Fabric config models and loading helpers. ## Structs @@ -23,7 +23,7 @@ Fabric config models and loading helpers. - [CapabilityTargetPlan](/reference/api/rust-library-reference/nemo-fabric-core/config/struct-capabilitytargetplan): Capabilities routed to one target. - [EnvironmentConfig](/reference/api/rust-library-reference/nemo-fabric-core/config/struct-environmentconfig): Execution environment configuration. - [EnvironmentPlan](/reference/api/rust-library-reference/nemo-fabric-core/config/struct-environmentplan): Resolved environment plan. -- [FabricConfig](/reference/api/rust-library-reference/nemo-fabric-core/config/struct-fabricconfig): Versioned Fabric agent config. +- [FabricConfig](/reference/api/rust-library-reference/nemo-fabric-core/config/struct-fabricconfig): Versioned NeMo Fabric agent config. - [HarnessConfig](/reference/api/rust-library-reference/nemo-fabric-core/config/struct-harnessconfig): Harness selection. - [McpConfig](/reference/api/rust-library-reference/nemo-fabric-core/config/struct-mcpconfig): MCP capability configuration. - [McpServerConfig](/reference/api/rust-library-reference/nemo-fabric-core/config/struct-mcpserverconfig): MCP server configuration. @@ -38,9 +38,9 @@ Fabric config models and loading helpers. - [RelayConfigPolicy](/reference/api/rust-library-reference/nemo-fabric-core/config/struct-relayconfigpolicy): Relay validation policy. - [RelayObservabilityConfig](/reference/api/rust-library-reference/nemo-fabric-core/config/struct-relayobservabilityconfig): NeMo Relay observability component configuration. - [RelayOtlpConfig](/reference/api/rust-library-reference/nemo-fabric-core/config/struct-relayotlpconfig): Relay OpenTelemetry/OpenInference export configuration. -- [ResolveContext](/reference/api/rust-library-reference/nemo-fabric-core/config/struct-resolvecontext): Source context used when resolving an in-memory Fabric config. +- [ResolveContext](/reference/api/rust-library-reference/nemo-fabric-core/config/struct-resolvecontext): Source context used when resolving an in-memory NeMo Fabric config. - [ResolvedAdapterDescriptor](/reference/api/rust-library-reference/nemo-fabric-core/config/struct-resolvedadapterdescriptor): Adapter descriptor selected for a run plan. -- [RunPlan](/reference/api/rust-library-reference/nemo-fabric-core/config/struct-runplan): Resolved Fabric run plan. +- [RunPlan](/reference/api/rust-library-reference/nemo-fabric-core/config/struct-runplan): Resolved NeMo Fabric run plan. - [RuntimeCapabilities](/reference/api/rust-library-reference/nemo-fabric-core/config/struct-runtimecapabilities): Lifecycle behavior implemented by a resolved runtime path. - [RuntimeConfig](/reference/api/rust-library-reference/nemo-fabric-core/config/struct-runtimeconfig): Runtime input/output contract. - [SkillConfig](/reference/api/rust-library-reference/nemo-fabric-core/config/struct-skillconfig): Skill capability configuration. @@ -52,12 +52,12 @@ Fabric config models and loading helpers. ## Enums -- [AdapterDescriptorSource](/reference/api/rust-library-reference/nemo-fabric-core/config/enum-adapterdescriptorsource): Where Fabric resolved an adapter descriptor from. +- [AdapterDescriptorSource](/reference/api/rust-library-reference/nemo-fabric-core/config/enum-adapterdescriptorsource): Where NeMo Fabric resolved an adapter descriptor from. - [AdapterKind](/reference/api/rust-library-reference/nemo-fabric-core/config/enum-adapterkind): Adapter implementation kind. - [CapabilityKind](/reference/api/rust-library-reference/nemo-fabric-core/config/enum-capabilitykind): Capability kind. - [CapabilityTarget](/reference/api/rust-library-reference/nemo-fabric-core/config/enum-capabilitytarget): Capability routing target. -- [ControlLocation](/reference/api/rust-library-reference/nemo-fabric-core/config/enum-controllocation): Where Fabric control code runs relative to the environment. -- [EnvironmentOwnership](/reference/api/rust-library-reference/nemo-fabric-core/config/enum-environmentownership): Whether Fabric owns the underlying environment resource. +- [ControlLocation](/reference/api/rust-library-reference/nemo-fabric-core/config/enum-controllocation): Where NeMo Fabric control code runs relative to the environment. +- [EnvironmentOwnership](/reference/api/rust-library-reference/nemo-fabric-core/config/enum-environmentownership): Whether NeMo Fabric owns the underlying environment resource. - [McpExposure](/reference/api/rust-library-reference/nemo-fabric-core/config/enum-mcpexposure): MCP exposure strategy. - [RelayAtifStorageConfig](/reference/api/rust-library-reference/nemo-fabric-core/config/enum-relayatifstorageconfig): Relay ATIF remote storage configuration. - [RelayAtofEndpointFieldNamePolicy](/reference/api/rust-library-reference/nemo-fabric-core/config/enum-relayatofendpointfieldnamepolicy): Relay ATOF endpoint field-name policy. @@ -75,4 +75,4 @@ Fabric config models and loading helpers. ## Functions - [load_adapter_descriptor](/reference/api/rust-library-reference/nemo-fabric-core/config/fn-load-adapter-descriptor): Load an adapter descriptor from JSON package metadata. -- [resolve_run_plan_from_config](/reference/api/rust-library-reference/nemo-fabric-core/config/fn-resolve-run-plan-from-config): Resolve a typed Fabric config into a runnable plan. +- [resolve_run_plan_from_config](/reference/api/rust-library-reference/nemo-fabric-core/config/fn-resolve-run-plan-from-config): Resolve a typed NeMo Fabric config into a runnable plan. diff --git a/docs/reference/api/rust-library-reference/nemo-fabric-core/config/struct-adapterconfigsupport.mdx b/docs/reference/api/rust-library-reference/nemo-fabric-core/config/struct-adapterconfigsupport.mdx index 4e4a85f0..4613e799 100644 --- a/docs/reference/api/rust-library-reference/nemo-fabric-core/config/struct-adapterconfigsupport.mdx +++ b/docs/reference/api/rust-library-reference/nemo-fabric-core/config/struct-adapterconfigsupport.mdx @@ -17,7 +17,7 @@ Adapter config support. ### `accepts: Vec` -Fabric config areas or policy paths accepted by this adapter. +NeMo Fabric config areas or policy paths accepted by this adapter. ### `generates: Vec` diff --git a/docs/reference/api/rust-library-reference/nemo-fabric-core/config/struct-adapterdescriptor.mdx b/docs/reference/api/rust-library-reference/nemo-fabric-core/config/struct-adapterdescriptor.mdx index 2d1a3357..53218428 100644 --- a/docs/reference/api/rust-library-reference/nemo-fabric-core/config/struct-adapterdescriptor.mdx +++ b/docs/reference/api/rust-library-reference/nemo-fabric-core/config/struct-adapterdescriptor.mdx @@ -41,7 +41,7 @@ Runtime requirements. ### `config: AdapterConfigSupport` -Fabric config areas this adapter consumes or generates. +NeMo Fabric config areas this adapter consumes or generates. ### `telemetry: AdapterTelemetrySupport` diff --git a/docs/reference/api/rust-library-reference/nemo-fabric-core/config/struct-capabilityplan.mdx b/docs/reference/api/rust-library-reference/nemo-fabric-core/config/struct-capabilityplan.mdx index 8e98b7c7..92c96efb 100644 --- a/docs/reference/api/rust-library-reference/nemo-fabric-core/config/struct-capabilityplan.mdx +++ b/docs/reference/api/rust-library-reference/nemo-fabric-core/config/struct-capabilityplan.mdx @@ -37,11 +37,11 @@ Capabilities mapped into the harness-native surface. ### `managed: CapabilityTargetPlan` -Capabilities that Fabric must expose or manage outside the native harness config. +Capabilities that NeMo Fabric must expose or manage outside the native harness config. ### `unsupported: CapabilityTargetPlan` -Capabilities that are configured but not executable by this Fabric build. +Capabilities that are configured but not executable by this NeMo Fabric build. ### `routes: Vec` diff --git a/docs/reference/api/rust-library-reference/nemo-fabric-core/config/struct-environmentconfig.mdx b/docs/reference/api/rust-library-reference/nemo-fabric-core/config/struct-environmentconfig.mdx index 97e9e0d1..fec6f481 100644 --- a/docs/reference/api/rust-library-reference/nemo-fabric-core/config/struct-environmentconfig.mdx +++ b/docs/reference/api/rust-library-reference/nemo-fabric-core/config/struct-environmentconfig.mdx @@ -21,11 +21,11 @@ Environment provider, for example `local`, `docker`, `opensandbox`, or `k8s`. ### `control_location: ControlLocation` -Where Fabric control code runs relative to the environment. +Where NeMo Fabric control code runs relative to the environment. ### `ownership: EnvironmentOwnership` -Whether Fabric owns the environment resource. +Whether NeMo Fabric owns the environment resource. ### `workspace: Option` diff --git a/docs/reference/api/rust-library-reference/nemo-fabric-core/config/struct-environmentplan.mdx b/docs/reference/api/rust-library-reference/nemo-fabric-core/config/struct-environmentplan.mdx index f0f664bc..cd73bc80 100644 --- a/docs/reference/api/rust-library-reference/nemo-fabric-core/config/struct-environmentplan.mdx +++ b/docs/reference/api/rust-library-reference/nemo-fabric-core/config/struct-environmentplan.mdx @@ -21,7 +21,7 @@ Environment provider. ### `control_location: ControlLocation` -Fabric control location. +NeMo Fabric control location. ### `ownership: EnvironmentOwnership` diff --git a/docs/reference/api/rust-library-reference/nemo-fabric-core/config/struct-fabricconfig.mdx b/docs/reference/api/rust-library-reference/nemo-fabric-core/config/struct-fabricconfig.mdx index dca40ab9..95805a39 100644 --- a/docs/reference/api/rust-library-reference/nemo-fabric-core/config/struct-fabricconfig.mdx +++ b/docs/reference/api/rust-library-reference/nemo-fabric-core/config/struct-fabricconfig.mdx @@ -1,7 +1,7 @@ --- title: "Struct Fabric Config" sidebar-title: "FabricConfig" -description: "Versioned Fabric agent config." +description: "Versioned NeMo Fabric agent config." position: 14 --- {/* SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. @@ -11,7 +11,7 @@ Generated from `cargo doc --no-deps -p nemo-fabric-core`.
String,\n    pub metadata: MetadataConfig,\n    pub harness: HarnessConfig,\n    pub models: BTreeMap<String, ModelConfig>,\n    pub runtime: RuntimeConfig,\n    pub environment: Option<EnvironmentConfig>,\n    pub tools: Option<ToolsConfig>,\n    pub skills: Option<SkillConfig>,\n    pub mcp: Option<McpConfig>,\n    pub telemetry: Option<TelemetryConfig>,\n    pub relay: Option<RelayConfig>,\n    pub extensions: BTreeMap<String, Value>,\n}"}} />
-Versioned Fabric agent config. +Versioned NeMo Fabric agent config. ## Fields diff --git a/docs/reference/api/rust-library-reference/nemo-fabric-core/config/struct-mcpserverconfig.mdx b/docs/reference/api/rust-library-reference/nemo-fabric-core/config/struct-mcpserverconfig.mdx index a569574d..00e3f637 100644 --- a/docs/reference/api/rust-library-reference/nemo-fabric-core/config/struct-mcpserverconfig.mdx +++ b/docs/reference/api/rust-library-reference/nemo-fabric-core/config/struct-mcpserverconfig.mdx @@ -25,7 +25,7 @@ MCP server URL or process command, depending on transport. ### `exposure: McpExposure` -How Fabric exposes the MCP capability to the harness. +How NeMo Fabric exposes the MCP capability to the harness. ### `extensions: BTreeMap` diff --git a/docs/reference/api/rust-library-reference/nemo-fabric-core/config/struct-resolvecontext.mdx b/docs/reference/api/rust-library-reference/nemo-fabric-core/config/struct-resolvecontext.mdx index 1fd20085..f05605cb 100644 --- a/docs/reference/api/rust-library-reference/nemo-fabric-core/config/struct-resolvecontext.mdx +++ b/docs/reference/api/rust-library-reference/nemo-fabric-core/config/struct-resolvecontext.mdx @@ -1,7 +1,7 @@ --- title: "Struct Resolve Context" sidebar-title: "ResolveContext" -description: "Source context used when resolving an in-memory Fabric config." +description: "Source context used when resolving an in-memory NeMo Fabric config." position: 22 --- {/* SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. @@ -11,13 +11,13 @@ Generated from `cargo doc --no-deps -p nemo-fabric-core`.
PathBuf,\n}"}} />
-Source context used when resolving an in-memory Fabric config. +Source context used when resolving an in-memory NeMo Fabric config. ## Fields ### `base_dir: PathBuf` -Base directory used to resolve relative Fabric paths. +Base directory used to resolve relative NeMo Fabric paths. ## Implementations diff --git a/docs/reference/api/rust-library-reference/nemo-fabric-core/config/struct-runplan.mdx b/docs/reference/api/rust-library-reference/nemo-fabric-core/config/struct-runplan.mdx index f042afb2..59b7b6fe 100644 --- a/docs/reference/api/rust-library-reference/nemo-fabric-core/config/struct-runplan.mdx +++ b/docs/reference/api/rust-library-reference/nemo-fabric-core/config/struct-runplan.mdx @@ -1,7 +1,7 @@ --- title: "Struct RunPlan" sidebar-title: "RunPlan" -description: "Resolved Fabric run plan." +description: "Resolved NeMo Fabric run plan." position: 24 --- {/* SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. @@ -11,7 +11,7 @@ Generated from `cargo doc --no-deps -p nemo-fabric-core`.
String,\n    pub base_dir: PathBuf,\n    pub config: FabricConfig,\n    pub adapter_descriptor: Option<ResolvedAdapterDescriptor>,\n    pub resolution: Option<ResolutionStrategy>,\n    pub environment_plan: Option<EnvironmentPlan>,\n    pub capability_plan: CapabilityPlan,\n    pub capabilities: RuntimeCapabilities,\n    pub telemetry_plan: Option<TelemetryPlan>,\n}"}} />
-Resolved Fabric run plan. +Resolved NeMo Fabric run plan. ## Fields @@ -21,11 +21,11 @@ Stable agent name. ### `base_dir: PathBuf` -Base directory used to resolve relative Fabric paths. +Base directory used to resolve relative NeMo Fabric paths. ### `config: FabricConfig` -Complete typed Fabric config. +Complete typed NeMo Fabric config. ### `adapter_descriptor: Option` diff --git a/docs/reference/api/rust-library-reference/nemo-fabric-core/doctor/index.mdx b/docs/reference/api/rust-library-reference/nemo-fabric-core/doctor/index.mdx index 5dff6b0b..6a349dbe 100644 --- a/docs/reference/api/rust-library-reference/nemo-fabric-core/doctor/index.mdx +++ b/docs/reference/api/rust-library-reference/nemo-fabric-core/doctor/index.mdx @@ -1,7 +1,7 @@ --- title: "Module doctor" sidebar-title: "doctor" -description: "Plan diagnostics for Fabric." +description: "Plan diagnostics for NeMo Fabric." position: 66 --- {/* SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. @@ -9,7 +9,7 @@ SPDX-License-Identifier: Apache-2.0 */} Generated from `cargo doc --no-deps -p nemo-fabric-core`. -Plan diagnostics for Fabric. +Plan diagnostics for NeMo Fabric. ## Structs diff --git a/docs/reference/api/rust-library-reference/nemo-fabric-core/error/enum-fabricerror.mdx b/docs/reference/api/rust-library-reference/nemo-fabric-core/error/enum-fabricerror.mdx index e0854e2f..8b454f90 100644 --- a/docs/reference/api/rust-library-reference/nemo-fabric-core/error/enum-fabricerror.mdx +++ b/docs/reference/api/rust-library-reference/nemo-fabric-core/error/enum-fabricerror.mdx @@ -1,7 +1,7 @@ --- title: "Enum Fabric Error" sidebar-title: "FabricError" -description: "Errors raised by Fabric config loading and validation." +description: "Errors raised by NeMo Fabric config loading and validation." position: 38 --- {/* SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. @@ -11,7 +11,7 @@ Generated from `cargo doc --no-deps -p nemo-fabric-core`.
PathBuf,\n        source: Error,\n    },\n    PathNotFound(PathBuf),\n    UnknownAdapter {\n        adapter_id: String,\n        available: Vec<String>,\n    },\n    AdapterDescriptorMismatch {\n        path: PathBuf,\n        field: &'static str,\n        expected: String,\n        actual: String,\n    },\n    AdapterDescriptorUnsupported {\n        adapter_id: String,\n        field: &'static str,\n        value: String,\n    },\n    InvalidAdapterDescriptor {\n        path: PathBuf,\n        message: String,\n    },\n    UnknownSchema {\n        schema: String,\n        available: Vec<String>,\n    },\n    UnsupportedRuntimeAdapter {\n        harness: String,\n        adapter_kind: AdapterKind,\n    },\n    AdapterLifecycleOperation {\n        operation: &'static str,\n        runtime_id: String,\n        code: String,\n        message: String,\n        diagnostics: String,\n    },\n    UnsupportedToolsPolicy {\n        harness: String,\n        reason: String,\n    },\n    RuntimeHandleMismatch {\n        field: &'static str,\n        expected: String,\n        actual: String,\n        runtime_id: String,\n    },\n    UnsupportedEnvironmentProvider {\n        provider: String,\n        adapter_kind: AdapterKind,\n    },\n    InvalidProcessSettings {\n        path: PathBuf,\n        source: Error,\n    },\n    InvalidPythonSettings {\n        path: PathBuf,\n        source: Error,\n    },\n    PythonInterpreterUnavailable {\n        path: PathBuf,\n        origin: String,\n        reason: String,\n    },\n    ProcessRunner {\n        command: String,\n        source: Error,\n    },\n    SerializeJson(Error),\n    Read {\n        path: PathBuf,\n        source: Error,\n    },\n    Write {\n        path: PathBuf,\n        source: Error,\n    },\n    ParseJson {\n        path: PathBuf,\n        source: Error,\n    },\n}"}} />
-Errors raised by Fabric config loading and validation. +Errors raised by NeMo Fabric config loading and validation. ## Variants diff --git a/docs/reference/api/rust-library-reference/nemo-fabric-core/error/index.mdx b/docs/reference/api/rust-library-reference/nemo-fabric-core/error/index.mdx index bc0a4a45..edc39a6a 100644 --- a/docs/reference/api/rust-library-reference/nemo-fabric-core/error/index.mdx +++ b/docs/reference/api/rust-library-reference/nemo-fabric-core/error/index.mdx @@ -1,7 +1,7 @@ --- title: "Module error" sidebar-title: "error" -description: "Error types for Fabric core." +description: "Error types for NeMo Fabric core." position: 67 --- {/* SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. @@ -9,12 +9,12 @@ SPDX-License-Identifier: Apache-2.0 */} Generated from `cargo doc --no-deps -p nemo-fabric-core`. -Error types for Fabric core. +Error types for NeMo Fabric core. ## Enums -- [FabricError](/reference/api/rust-library-reference/nemo-fabric-core/error/enum-fabricerror): Errors raised by Fabric config loading and validation. +- [FabricError](/reference/api/rust-library-reference/nemo-fabric-core/error/enum-fabricerror): Errors raised by NeMo Fabric config loading and validation. ## Type Aliases -- [Result](/reference/api/rust-library-reference/nemo-fabric-core/error/type-result): Core Fabric result type. +- [Result](/reference/api/rust-library-reference/nemo-fabric-core/error/type-result): Core NeMo Fabric result type. diff --git a/docs/reference/api/rust-library-reference/nemo-fabric-core/error/type-result.mdx b/docs/reference/api/rust-library-reference/nemo-fabric-core/error/type-result.mdx index 011b5b22..763bb248 100644 --- a/docs/reference/api/rust-library-reference/nemo-fabric-core/error/type-result.mdx +++ b/docs/reference/api/rust-library-reference/nemo-fabric-core/error/type-result.mdx @@ -1,7 +1,7 @@ --- title: "Type Alias Result" sidebar-title: "Result" -description: "Core Fabric result type." +description: "Core NeMo Fabric result type." position: 39 --- {/* SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. @@ -11,7 +11,7 @@ Generated from `cargo doc --no-deps -p nemo-fabric-core`.
Result<T, FabricError>;"}} />
-Core Fabric result type. +Core NeMo Fabric result type. ## Aliased Type diff --git a/docs/reference/api/rust-library-reference/nemo-fabric-core/index.mdx b/docs/reference/api/rust-library-reference/nemo-fabric-core/index.mdx index 0f9030b1..1156b314 100644 --- a/docs/reference/api/rust-library-reference/nemo-fabric-core/index.mdx +++ b/docs/reference/api/rust-library-reference/nemo-fabric-core/index.mdx @@ -80,11 +80,11 @@ Core config and runtime contract for NeMo Fabric. ## Modules -- [config](/reference/api/rust-library-reference/nemo-fabric-core/config): Fabric config models and loading helpers. -- [doctor](/reference/api/rust-library-reference/nemo-fabric-core/doctor): Plan diagnostics for Fabric. -- [error](/reference/api/rust-library-reference/nemo-fabric-core/error): Error types for Fabric core. +- [config](/reference/api/rust-library-reference/nemo-fabric-core/config): NeMo Fabric config models and loading helpers. +- [doctor](/reference/api/rust-library-reference/nemo-fabric-core/doctor): Plan diagnostics for NeMo Fabric. +- [error](/reference/api/rust-library-reference/nemo-fabric-core/error): Error types for NeMo Fabric core. - [runtime](/reference/api/rust-library-reference/nemo-fabric-core/runtime): Runtime invocation helpers. -- [schema](/reference/api/rust-library-reference/nemo-fabric-core/schema): JSON Schema generation for the public Fabric contract. +- [schema](/reference/api/rust-library-reference/nemo-fabric-core/schema): JSON Schema generation for the public NeMo Fabric contract. ## Functions diff --git a/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/enum-errorstage.mdx b/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/enum-errorstage.mdx index 48aa7dd9..5e26efe2 100644 --- a/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/enum-errorstage.mdx +++ b/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/enum-errorstage.mdx @@ -1,7 +1,7 @@ --- title: "Enum Error Stage" sidebar-title: "ErrorStage" -description: "Fabric lifecycle stage associated with an error." +description: "NeMo Fabric lifecycle stage associated with an error." position: 14 --- {/* SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. @@ -22,7 +22,7 @@ pub enum ErrorStage { } ``` -Fabric lifecycle stage associated with an error. +NeMo Fabric lifecycle stage associated with an error. ## Variants diff --git a/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/fn-run-plan.mdx b/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/fn-run-plan.mdx index 707f8768..3d35c12a 100644 --- a/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/fn-run-plan.mdx +++ b/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/fn-run-plan.mdx @@ -1,7 +1,7 @@ --- title: "Function run_plan" sidebar-title: "run_plan" -description: "Invoke a Fabric run plan." +description: "Invoke a NeMo Fabric run plan." position: 18 --- {/* SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. @@ -11,4 +11,4 @@ Generated from `cargo doc --no-deps -p nemo-fabric-core`.
RunPlan, request: RunRequest) -> Result<RunResult>"}} />
-Invoke a Fabric run plan. +Invoke a NeMo Fabric run plan. diff --git a/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/index.mdx b/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/index.mdx index aa347d62..34aa6b49 100644 --- a/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/index.mdx +++ b/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/index.mdx @@ -18,10 +18,10 @@ Runtime invocation helpers. - [ArtifactRef](/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-artifactref): Reference to one artifact. - [EnvironmentHandle](/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-environmenthandle): Resolved execution environment context. - [ErrorInfo](/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-errorinfo): Normalized error metadata. -- [FabricEvent](/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-fabricevent): Fabric lifecycle or progress event. +- [FabricEvent](/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-fabricevent): NeMo Fabric lifecycle or progress event. - [InvocationHandle](/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-invocationhandle): One request sent to a runtime. -- [RunRequest](/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-runrequest): A request passed to a Fabric-managed harness runtime. -- [RunResult](/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-runresult): Result from a Fabric-managed harness invocation. +- [RunRequest](/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-runrequest): A request passed to a NeMo Fabric-managed harness runtime. +- [RunResult](/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-runresult): Result from a NeMo Fabric-managed harness invocation. - [RuntimeContext](/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-runtimecontext): Context generated for one invocation of a started runtime. - [RuntimeHandle](/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-runtimehandle): Active or resumable harness runtime. - [RuntimeTelemetryContext](/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-runtimetelemetrycontext): Runtime telemetry config passed to adapters. @@ -29,13 +29,13 @@ Runtime invocation helpers. ## Enums -- [ErrorStage](/reference/api/rust-library-reference/nemo-fabric-core/runtime/enum-errorstage): Fabric lifecycle stage associated with an error. +- [ErrorStage](/reference/api/rust-library-reference/nemo-fabric-core/runtime/enum-errorstage): NeMo Fabric lifecycle stage associated with an error. - [RunStatus](/reference/api/rust-library-reference/nemo-fabric-core/runtime/enum-runstatus): Runtime completion status. ## Functions - [invoke_runtime](/reference/api/rust-library-reference/nemo-fabric-core/runtime/fn-invoke-runtime): Invoke a started harness runtime. - [prepare_environment](/reference/api/rust-library-reference/nemo-fabric-core/runtime/fn-prepare-environment): Resolve or attach to the execution environment context for a run plan. -- [run_plan](/reference/api/rust-library-reference/nemo-fabric-core/runtime/fn-run-plan): Invoke a Fabric run plan. +- [run_plan](/reference/api/rust-library-reference/nemo-fabric-core/runtime/fn-run-plan): Invoke a NeMo Fabric run plan. - [start_runtime](/reference/api/rust-library-reference/nemo-fabric-core/runtime/fn-start-runtime): Start or connect to a harness runtime. - [stop_runtime](/reference/api/rust-library-reference/nemo-fabric-core/runtime/fn-stop-runtime): Stop or detach from a harness runtime. diff --git a/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-adapterinvocation.mdx b/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-adapterinvocation.mdx index 866c95b9..8af838e3 100644 --- a/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-adapterinvocation.mdx +++ b/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-adapterinvocation.mdx @@ -17,7 +17,7 @@ One invocation against an initialized adapter runtime. ### `runtime_context: RuntimeContext` -Invocation context generated by Fabric. +Invocation context generated by NeMo Fabric. ### `request: RunRequest` diff --git a/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-environmenthandle.mdx b/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-environmenthandle.mdx index 18dffa0b..af3793d1 100644 --- a/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-environmenthandle.mdx +++ b/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-environmenthandle.mdx @@ -25,7 +25,7 @@ Environment provider. ### `control_location: ControlLocation` -Where Fabric control code runs. +Where NeMo Fabric control code runs. ### `workspace: Option` @@ -37,7 +37,7 @@ Artifact root visible to the harness runtime. ### `ownership: EnvironmentOwnership` -Whether Fabric owns the environment resource. +Whether NeMo Fabric owns the environment resource. ### `connection: BTreeMap` diff --git a/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-errorinfo.mdx b/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-errorinfo.mdx index 2ac7f218..2273d3ea 100644 --- a/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-errorinfo.mdx +++ b/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-errorinfo.mdx @@ -17,7 +17,7 @@ Normalized error metadata. ### `stage: ErrorStage` -Fabric lifecycle stage where the failure surfaced. +NeMo Fabric lifecycle stage where the failure surfaced. ### `code: String` @@ -29,7 +29,7 @@ Human-readable error message. ### `retryable: bool` -Whether Fabric considers this failure safe for a consumer-level retry. +Whether NeMo Fabric considers this failure safe for a consumer-level retry. ### `metadata: BTreeMap` diff --git a/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-fabricevent.mdx b/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-fabricevent.mdx index f8677fac..18a375bd 100644 --- a/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-fabricevent.mdx +++ b/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-fabricevent.mdx @@ -1,7 +1,7 @@ --- title: "Struct Fabric Event" sidebar-title: "FabricEvent" -description: "Fabric lifecycle or progress event." +description: "NeMo Fabric lifecycle or progress event." position: 6 --- {/* SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. @@ -11,7 +11,7 @@ Generated from `cargo doc --no-deps -p nemo-fabric-core`.
String,\n    pub timestamp_millis: u128,\n    pub kind: String,\n    pub message: String,\n    pub metadata: BTreeMap<String, Value>,\n}"}} />
-Fabric lifecycle or progress event. +NeMo Fabric lifecycle or progress event. ## Fields diff --git a/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-runrequest.mdx b/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-runrequest.mdx index 0912f2d4..9c96061f 100644 --- a/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-runrequest.mdx +++ b/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-runrequest.mdx @@ -1,7 +1,7 @@ --- title: "Struct RunRequest" sidebar-title: "RunRequest" -description: "A request passed to a Fabric-managed harness runtime." +description: "A request passed to a NeMo Fabric-managed harness runtime." position: 8 --- {/* SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. @@ -11,7 +11,7 @@ Generated from `cargo doc --no-deps -p nemo-fabric-core`.
String,\n    pub input: Value,\n    pub context: BTreeMap<String, Value>,\n    pub overrides: Option<Value>,\n}"}} />
-A request passed to a Fabric-managed harness runtime. +A request passed to a NeMo Fabric-managed harness runtime. ## Fields diff --git a/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-runresult.mdx b/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-runresult.mdx index 34db337f..cd1193e4 100644 --- a/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-runresult.mdx +++ b/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-runresult.mdx @@ -1,7 +1,7 @@ --- title: "Struct RunResult" sidebar-title: "RunResult" -description: "Result from a Fabric-managed harness invocation." +description: "Result from a NeMo Fabric-managed harness invocation." position: 9 --- {/* SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. @@ -11,7 +11,7 @@ Generated from `cargo doc --no-deps -p nemo-fabric-core`.
String,\n    pub harness: String,\n    pub adapter_kind: AdapterKind,\n    pub adapter_id: Option<String>,\n    pub runtime_id: String,\n    pub invocation_id: String,\n    pub request_id: String,\n    pub status: RunStatus,\n    pub output: Value,\n    pub error: Option<ErrorInfo>,\n    pub artifacts: ArtifactManifest,\n    pub telemetry: Option<TelemetryRef>,\n    pub events: Vec<FabricEvent>,\n    pub metadata: BTreeMap<String, Value>,\n}"}} />
-Result from a Fabric-managed harness invocation. +Result from a NeMo Fabric-managed harness invocation. ## Fields @@ -65,7 +65,7 @@ Telemetry reference when available. ### `events: Vec` -Fabric lifecycle/progress events emitted during the run. +NeMo Fabric lifecycle/progress events emitted during the run. ### `metadata: BTreeMap` diff --git a/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-runtimehandle.mdx b/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-runtimehandle.mdx index 58e9dfa2..5716d209 100644 --- a/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-runtimehandle.mdx +++ b/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-runtimehandle.mdx @@ -21,7 +21,7 @@ Runtime handle id. ### `runtime_binding: String` -Fabric-owned opaque binding for this runtime handle. +NeMo Fabric-owned opaque binding for this runtime handle. ### `agent_name: String` diff --git a/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-runtimetelemetrycontext.mdx b/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-runtimetelemetrycontext.mdx index b8b2ff3a..f4c4f38d 100644 --- a/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-runtimetelemetrycontext.mdx +++ b/docs/reference/api/rust-library-reference/nemo-fabric-core/runtime/struct-runtimetelemetrycontext.mdx @@ -25,7 +25,7 @@ Generated Relay config path for this invocation. ### `env: BTreeMap` -Environment variables Fabric applies while invoking the adapter. +Environment variables NeMo Fabric applies while invoking the adapter. ### `metadata: BTreeMap` diff --git a/docs/reference/api/rust-library-reference/nemo-fabric-core/schema/enum-schemaname.mdx b/docs/reference/api/rust-library-reference/nemo-fabric-core/schema/enum-schemaname.mdx index 5f8f36a7..5d2d76df 100644 --- a/docs/reference/api/rust-library-reference/nemo-fabric-core/schema/enum-schemaname.mdx +++ b/docs/reference/api/rust-library-reference/nemo-fabric-core/schema/enum-schemaname.mdx @@ -1,7 +1,7 @@ --- title: "Enum Schema Name" sidebar-title: "SchemaName" -description: "Public schema snapshots generated by Fabric." +description: "Public schema snapshots generated by NeMo Fabric." position: 1 --- {/* SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. @@ -27,7 +27,7 @@ Show 13 variants Agent, } ``` -Public schema snapshots generated by Fabric. +Public schema snapshots generated by NeMo Fabric. ## Variants @@ -35,7 +35,7 @@ Public schema snapshots generated by Fabric.
-Complete typed Fabric config schema. +Complete typed NeMo Fabric config schema. ### `AdapterDescriptor` @@ -107,7 +107,7 @@ Structured error metadata schema.
-Fabric lifecycle event schema. +NeMo Fabric lifecycle event schema. ## Implementations diff --git a/docs/reference/api/rust-library-reference/nemo-fabric-core/schema/index.mdx b/docs/reference/api/rust-library-reference/nemo-fabric-core/schema/index.mdx index a3475f92..569e114e 100644 --- a/docs/reference/api/rust-library-reference/nemo-fabric-core/schema/index.mdx +++ b/docs/reference/api/rust-library-reference/nemo-fabric-core/schema/index.mdx @@ -1,7 +1,7 @@ --- title: "Module schema" sidebar-title: "schema" -description: "JSON Schema generation for the public Fabric contract." +description: "JSON Schema generation for the public NeMo Fabric contract." position: 69 --- {/* SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. @@ -9,11 +9,11 @@ SPDX-License-Identifier: Apache-2.0 */} Generated from `cargo doc --no-deps -p nemo-fabric-core`. -JSON Schema generation for the public Fabric contract. +JSON Schema generation for the public NeMo Fabric contract. ## Enums -- [SchemaName](/reference/api/rust-library-reference/nemo-fabric-core/schema/enum-schemaname): Public schema snapshots generated by Fabric. +- [SchemaName](/reference/api/rust-library-reference/nemo-fabric-core/schema/enum-schemaname): Public schema snapshots generated by NeMo Fabric. ## Functions diff --git a/examples/code_review_agent/config.py b/examples/code_review_agent/config.py index 127f545c..379af36c 100644 --- a/examples/code_review_agent/config.py +++ b/examples/code_review_agent/config.py @@ -1,7 +1,7 @@ # SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -"""Complete Fabric configs and clone-based variants for the example agent.""" +"""Complete NeMo Fabric configs and clone-based variants for the example agent.""" from __future__ import annotations @@ -211,7 +211,7 @@ def with_opensandbox(base: FabricConfig) -> FabricConfig: def with_fabric_managed_github_mcp(base: FabricConfig) -> FabricConfig: - """Return a copy that routes the GitHub MCP server through Fabric.""" + """Return a copy that routes the GitHub MCP server through NeMo Fabric.""" config = base.model_copy(deep=True) config.add_mcp_server( diff --git a/examples/harbor/calculator/task/task.toml b/examples/harbor/calculator/task/task.toml index 8fea1404..383c84d9 100644 --- a/examples/harbor/calculator/task/task.toml +++ b/examples/harbor/calculator/task/task.toml @@ -5,7 +5,7 @@ schema_version = "1.3" [task] name = "nvidia/fabric-calculator" -description = "Fix a calculator bug through Harbor and a Fabric-selected agent harness." +description = "Fix a calculator bug through Harbor and a NeMo Fabric-selected agent harness." authors = [{ name = "NVIDIA NeMo Fabric" }] keywords = ["agents", "calculator", "coding", "fabric", "harbor"] diff --git a/examples/harbor/prepare_swebench.sh b/examples/harbor/prepare_swebench.sh index 8ba135ba..8396e075 100755 --- a/examples/harbor/prepare_swebench.sh +++ b/examples/harbor/prepare_swebench.sh @@ -2,9 +2,9 @@ # SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -# TEMPORARY SOURCE-CHECKOUT BOOTSTRAP — remove when Fabric is released. +# TEMPORARY SOURCE-CHECKOUT BOOTSTRAP — remove when NeMo Fabric is released. # -# The wheel-building path exists only because the Fabric distributions are not +# The wheel-building path exists only because the NeMo Fabric distributions are not # yet available from PyPI. Once they are published, the Harbor README should use # a pinned PyPI requirement directly and this script's wheelhouse, # .fabric-package file, and PIP_FIND_LINKS plumbing should be deleted. @@ -68,4 +68,4 @@ printf '%s\n' \ > "$bundle_dir/.fabric-package" echo "Prepared $bundle_dir" -echo "Fabric requirement: $(< "$bundle_dir/.fabric-package")" +echo "NeMo Fabric requirement: $(< "$bundle_dir/.fabric-package")" diff --git a/examples/notebooks/img/fabric-contract.svg b/examples/notebooks/img/fabric-contract.svg index 37604f0e..69791b31 100644 --- a/examples/notebooks/img/fabric-contract.svg +++ b/examples/notebooks/img/fabric-contract.svg @@ -1,7 +1,7 @@ Where NeMo Fabric sits between your agent and the harnesses - Your application builds a FabricConfig and passes it to NeMo Fabric. Two SDK calls run the agent (run and start_runtime); two optional calls inspect it without running (plan and doctor). Fabric resolves an adapter, drives one of several harnesses, and returns a normalized RunResult. + Your application builds a FabricConfig and passes it to NeMo Fabric. Two SDK calls run the agent (run and start_runtime); two optional calls inspect it without running (plan and doctor). NeMo Fabric resolves an adapter, drives one of several harnesses, and returns a normalized RunResult. diff --git a/examples/notebooks/img/variations.svg b/examples/notebooks/img/variations.svg index 2611709c..57e9f1cb 100644 --- a/examples/notebooks/img/variations.svg +++ b/examples/notebooks/img/variations.svg @@ -1,6 +1,6 @@ - Two ways to vary an agent with Fabric + Two ways to vary an agent with NeMo Fabric One logical agent can be varied two ways: harness variation (run the same agent on Hermes, Codex, Claude, or Deep Agents) and agent configuration variation (vary FabricConfig fields such as skills, MCP servers, models, and telemetry). diff --git a/justfile b/justfile index 5cecbf96..c7c5a461 100644 --- a/justfile +++ b/justfile @@ -226,12 +226,12 @@ for package in metadata["packages"]: mismatched.append(f"{package['name']}={package['version']}") if checked == 0: - raise SystemExit("Cargo metadata did not include any Fabric workspace packages") + raise SystemExit("Cargo metadata did not include any NeMo Fabric workspace packages") if mismatched: raise SystemExit( f"Cargo workspace packages do not all resolve to {version}: {', '.join(mismatched)}" ) -print(f"Cargo metadata resolves {checked} Fabric workspace packages to {version}") +print(f"Cargo metadata resolves {checked} NeMo Fabric workspace packages to {version}") PY then rm -f "$metadata_file" diff --git a/python/src/nemo_fabric/client.py b/python/src/nemo_fabric/client.py index f6d23c10..8d64ae5d 100644 --- a/python/src/nemo_fabric/client.py +++ b/python/src/nemo_fabric/client.py @@ -102,7 +102,7 @@ async def doctor( """Diagnose a planned agent without starting its runtime. Doctor checks the resolved adapter, capability mappings, and declared - environment requirements using the native Fabric core. + environment requirements using the native NeMo Fabric core. Args: config: Complete typed ``FabricConfig``. @@ -147,7 +147,7 @@ async def run( ``input`` and ``request`` are mutually exclusive. Omitting both produces an empty text input. Use ``RunRequest`` when the invocation needs a caller-owned request ID, context, or overrides. - Fabric attempts to stop a started runtime even when invocation fails. + NeMo Fabric attempts to stop a started runtime even when invocation fails. Args: config: Complete typed ``FabricConfig``. diff --git a/python/src/nemo_fabric/errors.py b/python/src/nemo_fabric/errors.py index 2af0a058..1bf35f40 100644 --- a/python/src/nemo_fabric/errors.py +++ b/python/src/nemo_fabric/errors.py @@ -11,7 +11,7 @@ class FabricError(RuntimeError): - """Base class for structured SDK-level Fabric errors. + """Base class for structured SDK-level NeMo Fabric errors. Catch this type to handle any SDK failure while preserving machine-readable stage, code, retryability, and detail fields. @@ -32,7 +32,7 @@ def __init__( retryable: bool = False, details: Mapping[str, Any] | None = None, ) -> None: - """Initialize a structured Fabric exception. + """Initialize a structured NeMo Fabric exception. Args: message: Human-readable failure description. diff --git a/python/src/nemo_fabric/integrations/harbor/fabric_agent.py b/python/src/nemo_fabric/integrations/harbor/fabric_agent.py index 7f78e70c..cb5f1b9a 100644 --- a/python/src/nemo_fabric/integrations/harbor/fabric_agent.py +++ b/python/src/nemo_fabric/integrations/harbor/fabric_agent.py @@ -1,7 +1,7 @@ # SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -"""Harbor agent implementation backed by the Fabric Python SDK.""" +"""Harbor agent implementation backed by the NeMo Fabric Python SDK.""" from __future__ import annotations @@ -81,10 +81,10 @@ def name() -> str: else: class FabricAgent(BaseAgent): - """Harbor agent wrapper that delegates harness execution to Fabric. + """Harbor agent wrapper that delegates harness execution to NeMo Fabric. Harbor owns task materialization, environment lifecycle, verification, and - reward calculation. Fabric owns the selected agent harness invocation. + reward calculation. NeMo Fabric owns the selected agent harness invocation. """ SUPPORTS_ATIF = True @@ -176,7 +176,7 @@ async def setup(self, environment: BaseEnvironment) -> None: "mkdir -p " + " ".join(shlex.quote(path) for path in setup_dirs), timeout_sec=30, ) - ensure_success("Fabric setup failed", result) + ensure_success("NeMo Fabric setup failed", result) if self.fabric_config_bundle is not None: await environment.upload_dir( self.fabric_config_bundle, @@ -193,7 +193,7 @@ async def setup(self, environment: BaseEnvironment) -> None: env=self._install_env, timeout_sec=self.fabric_timeout_sec, ) - ensure_success("Fabric package installation failed", result) + ensure_success("NeMo Fabric package installation failed", result) elif self.fabric_install_command: result = await environment.exec( self.fabric_install_command, @@ -201,7 +201,7 @@ async def setup(self, environment: BaseEnvironment) -> None: env=self._install_env, timeout_sec=self.fabric_timeout_sec, ) - ensure_success("Fabric install command failed", result) + ensure_success("NeMo Fabric install command failed", result) async def run( self, @@ -231,7 +231,7 @@ async def run( env=self._runner_env, timeout_sec=self.fabric_timeout_sec, ) - ensure_success("Fabric run failed", result) + ensure_success("NeMo Fabric run failed", result) await environment.download_file(remote_result_path, host_result_path) self._result_path = host_result_path @@ -354,7 +354,7 @@ def build_harbor_config( config = FabricConfig( metadata=MetadataConfig( name=name, - description="Fabric agent configured through Harbor run inputs.", + description="NeMo Fabric agent configured through Harbor run inputs.", ), harness=HarnessConfig( adapter_id=adapter_id, @@ -419,7 +419,7 @@ def build_harbor_config( def model_provider(model_name: str) -> str: - """Derive the Fabric provider from Harbor's model identifier.""" + """Derive the NeMo Fabric provider from Harbor's model identifier.""" return model_name.split("/", maxsplit=1)[0] if "/" in model_name else "openai" @@ -549,7 +549,7 @@ def _record_host_atif_validation( def populate_context_from_telemetry_summary(context: AgentContext, path: Path) -> None: - """Attach telemetry quality evidence to Fabric's Harbor metadata.""" + """Attach telemetry quality evidence to NeMo Fabric's Harbor metadata.""" if not path.is_file(): return diff --git a/python/src/nemo_fabric/integrations/harbor/models.py b/python/src/nemo_fabric/integrations/harbor/models.py index c114df61..f378c5e9 100644 --- a/python/src/nemo_fabric/integrations/harbor/models.py +++ b/python/src/nemo_fabric/integrations/harbor/models.py @@ -40,7 +40,7 @@ def validate_target(self) -> Self: class FabricRunPayload(BaseModel): - """Typed Fabric inputs transported into one Harbor task environment.""" + """Typed NeMo Fabric inputs transported into one Harbor task environment.""" model_config = ConfigDict(extra="forbid") diff --git a/python/src/nemo_fabric/integrations/harbor/runner.py b/python/src/nemo_fabric/integrations/harbor/runner.py index 8234acf4..1cf0a618 100644 --- a/python/src/nemo_fabric/integrations/harbor/runner.py +++ b/python/src/nemo_fabric/integrations/harbor/runner.py @@ -1,7 +1,7 @@ # SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -"""Run the Fabric SDK inside a Harbor task environment.""" +"""Run the NeMo Fabric SDK inside a Harbor task environment.""" from __future__ import annotations diff --git a/python/src/nemo_fabric/integrations/harbor/telemetry.py b/python/src/nemo_fabric/integrations/harbor/telemetry.py index b04d6b86..2891987e 100644 --- a/python/src/nemo_fabric/integrations/harbor/telemetry.py +++ b/python/src/nemo_fabric/integrations/harbor/telemetry.py @@ -1,7 +1,7 @@ # SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -"""Validate Fabric telemetry and publish Harbor-compatible run evidence.""" +"""Validate NeMo Fabric telemetry and publish Harbor-compatible run evidence.""" from __future__ import annotations diff --git a/python/src/nemo_fabric/models.py b/python/src/nemo_fabric/models.py index 3b7dd813..81297ead 100644 --- a/python/src/nemo_fabric/models.py +++ b/python/src/nemo_fabric/models.py @@ -119,10 +119,10 @@ class EnvironmentConfig(FabricBaseModel): ``provider`` selects the environment implementation. ``workspace`` is the path visible to the harness, while ``artifacts`` is the provider-specific output location. ``settings`` configures the selected provider; - ``connection`` describes how Fabric reaches an existing environment; and - ``metadata`` carries consumer-owned values that Fabric does not interpret. + ``connection`` describes how NeMo Fabric reaches an existing environment; and + ``metadata`` carries consumer-owned values that NeMo Fabric does not interpret. ``ownership`` identifies who tears the environment down, and - ``control_location`` identifies whether Fabric control code runs inside or + ``control_location`` identifies whether NeMo Fabric control code runs inside or outside it. """ @@ -145,7 +145,7 @@ class EnvironmentConfig(FabricBaseModel): ) metadata: dict[str, Any] = Field( default_factory=dict, - description="Consumer-owned environment metadata passed through without Fabric semantics.", + description="Consumer-owned environment metadata passed through without NeMo Fabric semantics.", ) connection: dict[str, Any] = Field( default_factory=dict, @@ -153,11 +153,11 @@ class EnvironmentConfig(FabricBaseModel): ) ownership: Literal["caller_owned", "fabric_owned"] = Field( default="caller_owned", - description="Whether the caller or Fabric owns environment teardown.", + description="Whether the caller or NeMo Fabric owns environment teardown.", ) control_location: Literal["external_control", "in_env_control"] = Field( default="in_env_control", - description="Whether Fabric control code runs outside or inside the environment.", + description="Whether NeMo Fabric control code runs outside or inside the environment.", ) @@ -395,7 +395,7 @@ class ToolsConfig(FabricBaseModel): class FabricConfig(FabricBaseModel): - """SDK-facing typed Fabric agent configuration.""" + """SDK-facing typed NeMo Fabric agent configuration.""" schema_version: str = "fabric.agent/v1alpha1" metadata: MetadataConfig @@ -520,7 +520,7 @@ def enable_relay( class RunRequest(FabricBaseModel): - """One validated Fabric invocation request.""" + """One validated NeMo Fabric invocation request.""" input: Any = "" request_id: str = Field( diff --git a/python/src/nemo_fabric/runtime.py b/python/src/nemo_fabric/runtime.py index 3fd736b4..f20fc12b 100644 --- a/python/src/nemo_fabric/runtime.py +++ b/python/src/nemo_fabric/runtime.py @@ -1,7 +1,7 @@ # SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -"""Runtime lifecycle support for the Fabric Python SDK.""" +"""Runtime lifecycle support for the NeMo Fabric Python SDK.""" from __future__ import annotations diff --git a/python/src/nemo_fabric/types.py b/python/src/nemo_fabric/types.py index f9a4cb1e..9eb48fa1 100644 --- a/python/src/nemo_fabric/types.py +++ b/python/src/nemo_fabric/types.py @@ -172,7 +172,7 @@ class _HarnessConfig(_ConfigMapping): """Harness adapter selection and adapter-owned settings. Attributes: - adapter_id: Stable identifier of the Fabric adapter to resolve. + adapter_id: Stable identifier of the NeMo Fabric adapter to resolve. resolution: Optional adapter resolution strategy. settings: JSON-compatible settings owned by the selected adapter. extra_fields: Preserved extension fields not recognized by this SDK. @@ -542,7 +542,7 @@ def _provider(cls, provider: str) -> str: class _FabricConfigSnapshot(_ConfigMapping): - """Typed snapshot of the Fabric configuration stored in a run plan. + """Typed snapshot of the NeMo Fabric configuration stored in a run plan. It is reconstructed from the native plan payload and exposed through the immutable ``RunPlan`` mapping. Unknown fields survive round trips through @@ -872,7 +872,7 @@ class AdapterInfo(FabricMapping): """Resolved adapter identity attached to a run plan. Attributes: - adapter_id: Stable identifier of the Fabric adapter implementation. + adapter_id: Stable identifier of the NeMo Fabric adapter implementation. harness: Stable machine-readable harness identifier. adapter_kind: Execution mechanism used by the adapter. metadata: Adapter-specific, JSON-compatible metadata. @@ -1149,7 +1149,7 @@ def _normalize(cls, data: dict[str, Any]) -> dict[str, Any]: class RuntimeHandle(FabricMapping): """Opaque identity and binding for one started runtime. - Applications should treat ``runtime_binding`` as opaque. Fabric validates + Applications should treat ``runtime_binding`` as opaque. NeMo Fabric validates the handle against the run plan before invocation or shutdown. Attributes: @@ -1158,7 +1158,7 @@ class RuntimeHandle(FabricMapping): agent_name: Resolved agent name. harness: Stable harness identifier. adapter_kind: Adapter execution mechanism. - adapter_id: Optional Fabric adapter identifier. + adapter_id: Optional NeMo Fabric adapter identifier. environment: Prepared environment snapshot. """ @@ -1202,7 +1202,7 @@ class RunOutput(FabricMapping): """Normalized adapter output. ``response`` is a known adapter response field whose value follows the - core Fabric JSON contract. Other keys are adapter-specific extensions. + core NeMo Fabric JSON contract. Other keys are adapter-specific extensions. """ response: JSONValue | None @@ -1217,7 +1217,7 @@ def response(self) -> JSONValue | None: class RunResult(FabricMapping): - """Normalized terminal result from one Fabric invocation. + """Normalized terminal result from one NeMo Fabric invocation. The model is both attribute-accessible and mapping-compatible. A harness failure can be represented by ``status`` and ``error`` without raising when @@ -1227,7 +1227,7 @@ class RunResult(FabricMapping): agent_name: Resolved agent name. harness: Stable harness identifier. adapter_kind: Adapter execution mechanism. - adapter_id: Fabric adapter identifier. + adapter_id: NeMo Fabric adapter identifier. runtime_id: Runtime lifecycle identifier. invocation_id: Identifier for this invocation. request_id: Correlated request identifier. diff --git a/schemas/adapter-descriptor.schema.json b/schemas/adapter-descriptor.schema.json index 97d42cb9..2dc95cbf 100644 --- a/schemas/adapter-descriptor.schema.json +++ b/schemas/adapter-descriptor.schema.json @@ -5,7 +5,7 @@ "description": "Adapter config support.", "properties": { "accepts": { - "description": "Fabric config areas or policy paths accepted by this adapter.", + "description": "NeMo Fabric config areas or policy paths accepted by this adapter.", "items": { "type": "string" }, @@ -181,7 +181,7 @@ "config": { "$ref": "#/$defs/AdapterConfigSupport", "default": {}, - "description": "Fabric config areas this adapter consumes or generates." + "description": "NeMo Fabric config areas this adapter consumes or generates." }, "contract_version": { "description": "Adapter descriptor contract version.", diff --git a/schemas/adapter-invocation.schema.json b/schemas/adapter-invocation.schema.json index 756caa97..90e795c0 100644 --- a/schemas/adapter-invocation.schema.json +++ b/schemas/adapter-invocation.schema.json @@ -51,16 +51,16 @@ "type": "object" }, "ControlLocation": { - "description": "Where Fabric control code runs relative to the environment.", + "description": "Where NeMo Fabric control code runs relative to the environment.", "oneOf": [ { "const": "external_control", - "description": "Fabric runs on the host/control plane and starts or connects to the harness in the environment.", + "description": "NeMo Fabric runs on the host/control plane and starts or connects to the harness in the environment.", "type": "string" }, { "const": "in_env_control", - "description": "Fabric runs inside the prepared environment with the harness.", + "description": "NeMo Fabric runs inside the prepared environment with the harness.", "type": "string" } ] @@ -82,7 +82,7 @@ }, "control_location": { "$ref": "#/$defs/ControlLocation", - "description": "Where Fabric control code runs." + "description": "Where NeMo Fabric control code runs." }, "environment_id": { "description": "Environment handle id.", @@ -95,7 +95,7 @@ }, "ownership": { "$ref": "#/$defs/EnvironmentOwnership", - "description": "Whether Fabric owns the environment resource." + "description": "Whether NeMo Fabric owns the environment resource." }, "provider": { "description": "Environment provider.", @@ -118,7 +118,7 @@ "type": "object" }, "EnvironmentOwnership": { - "description": "Whether Fabric owns the underlying environment resource.", + "description": "Whether NeMo Fabric owns the underlying environment resource.", "oneOf": [ { "const": "caller_owned", @@ -127,13 +127,13 @@ }, { "const": "fabric_owned", - "description": "Fabric created or leased the environment resource and may release it.", + "description": "NeMo Fabric created or leased the environment resource and may release it.", "type": "string" } ] }, "RunRequest": { - "description": "A request passed to a Fabric-managed harness runtime.", + "description": "A request passed to a NeMo Fabric-managed harness runtime.", "properties": { "context": { "additionalProperties": true, @@ -215,7 +215,7 @@ "additionalProperties": { "type": "string" }, - "description": "Environment variables Fabric applies while invoking the adapter.", + "description": "Environment variables NeMo Fabric applies while invoking the adapter.", "type": "object" }, "metadata": { @@ -243,7 +243,7 @@ }, "runtime_context": { "$ref": "#/$defs/RuntimeContext", - "description": "Invocation context generated by Fabric." + "description": "Invocation context generated by NeMo Fabric." } }, "required": [ diff --git a/schemas/agent.schema.json b/schemas/agent.schema.json index 8e0be3c0..5821543f 100644 --- a/schemas/agent.schema.json +++ b/schemas/agent.schema.json @@ -1,16 +1,16 @@ { "$defs": { "ControlLocation": { - "description": "Where Fabric control code runs relative to the environment.", + "description": "Where NeMo Fabric control code runs relative to the environment.", "oneOf": [ { "const": "external_control", - "description": "Fabric runs on the host/control plane and starts or connects to the harness in the environment.", + "description": "NeMo Fabric runs on the host/control plane and starts or connects to the harness in the environment.", "type": "string" }, { "const": "in_env_control", - "description": "Fabric runs inside the prepared environment with the harness.", + "description": "NeMo Fabric runs inside the prepared environment with the harness.", "type": "string" } ] @@ -34,7 +34,7 @@ "control_location": { "$ref": "#/$defs/ControlLocation", "default": "in_env_control", - "description": "Where Fabric control code runs relative to the environment." + "description": "Where NeMo Fabric control code runs relative to the environment." }, "metadata": { "additionalProperties": true, @@ -44,7 +44,7 @@ "ownership": { "$ref": "#/$defs/EnvironmentOwnership", "default": "caller_owned", - "description": "Whether Fabric owns the environment resource." + "description": "Whether NeMo Fabric owns the environment resource." }, "provider": { "description": "Environment provider, for example `local`, `docker`, `opensandbox`, or `k8s`.", @@ -69,7 +69,7 @@ "type": "object" }, "EnvironmentOwnership": { - "description": "Whether Fabric owns the underlying environment resource.", + "description": "Whether NeMo Fabric owns the underlying environment resource.", "oneOf": [ { "const": "caller_owned", @@ -78,7 +78,7 @@ }, { "const": "fabric_owned", - "description": "Fabric created or leased the environment resource and may release it.", + "description": "NeMo Fabric created or leased the environment resource and may release it.", "type": "string" } ] @@ -137,7 +137,7 @@ }, { "const": "fabric_managed", - "description": "Fabric manages MCP and exposes basic tools/actions.", + "description": "NeMo Fabric manages MCP and exposes basic tools/actions.", "type": "string" } ] @@ -148,7 +148,7 @@ "properties": { "exposure": { "$ref": "#/$defs/McpExposure", - "description": "How Fabric exposes the MCP capability to the harness." + "description": "How NeMo Fabric exposes the MCP capability to the harness." }, "transport": { "description": "MCP transport.", @@ -916,7 +916,7 @@ }, "$schema": "https://json-schema.org/draft/2020-12/schema", "additionalProperties": true, - "description": "Versioned Fabric agent config.", + "description": "Versioned NeMo Fabric agent config.", "properties": { "environment": { "anyOf": [ diff --git a/schemas/environment-handle.schema.json b/schemas/environment-handle.schema.json index 8f39a50c..ee83adb3 100644 --- a/schemas/environment-handle.schema.json +++ b/schemas/environment-handle.schema.json @@ -1,22 +1,22 @@ { "$defs": { "ControlLocation": { - "description": "Where Fabric control code runs relative to the environment.", + "description": "Where NeMo Fabric control code runs relative to the environment.", "oneOf": [ { "const": "external_control", - "description": "Fabric runs on the host/control plane and starts or connects to the harness in the environment.", + "description": "NeMo Fabric runs on the host/control plane and starts or connects to the harness in the environment.", "type": "string" }, { "const": "in_env_control", - "description": "Fabric runs inside the prepared environment with the harness.", + "description": "NeMo Fabric runs inside the prepared environment with the harness.", "type": "string" } ] }, "EnvironmentOwnership": { - "description": "Whether Fabric owns the underlying environment resource.", + "description": "Whether NeMo Fabric owns the underlying environment resource.", "oneOf": [ { "const": "caller_owned", @@ -25,7 +25,7 @@ }, { "const": "fabric_owned", - "description": "Fabric created or leased the environment resource and may release it.", + "description": "NeMo Fabric created or leased the environment resource and may release it.", "type": "string" } ] @@ -48,7 +48,7 @@ }, "control_location": { "$ref": "#/$defs/ControlLocation", - "description": "Where Fabric control code runs." + "description": "Where NeMo Fabric control code runs." }, "environment_id": { "description": "Environment handle id.", @@ -61,7 +61,7 @@ }, "ownership": { "$ref": "#/$defs/EnvironmentOwnership", - "description": "Whether Fabric owns the environment resource." + "description": "Whether NeMo Fabric owns the environment resource." }, "provider": { "description": "Environment provider.", diff --git a/schemas/error-info.schema.json b/schemas/error-info.schema.json index b989b1cc..d3501778 100644 --- a/schemas/error-info.schema.json +++ b/schemas/error-info.schema.json @@ -1,7 +1,7 @@ { "$defs": { "ErrorStage": { - "description": "Fabric lifecycle stage associated with an error.", + "description": "NeMo Fabric lifecycle stage associated with an error.", "oneOf": [ { "const": "config", @@ -64,12 +64,12 @@ }, "retryable": { "default": false, - "description": "Whether Fabric considers this failure safe for a consumer-level retry.", + "description": "Whether NeMo Fabric considers this failure safe for a consumer-level retry.", "type": "boolean" }, "stage": { "$ref": "#/$defs/ErrorStage", - "description": "Fabric lifecycle stage where the failure surfaced." + "description": "NeMo Fabric lifecycle stage where the failure surfaced." } }, "required": [ diff --git a/schemas/fabric-event.schema.json b/schemas/fabric-event.schema.json index aded8d0c..4158713b 100644 --- a/schemas/fabric-event.schema.json +++ b/schemas/fabric-event.schema.json @@ -1,6 +1,6 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", - "description": "Fabric lifecycle or progress event.", + "description": "NeMo Fabric lifecycle or progress event.", "properties": { "event_id": { "description": "Event id.", diff --git a/schemas/run-plan.schema.json b/schemas/run-plan.schema.json index db8bb4ea..d5d210f0 100644 --- a/schemas/run-plan.schema.json +++ b/schemas/run-plan.schema.json @@ -5,7 +5,7 @@ "description": "Adapter config support.", "properties": { "accepts": { - "description": "Fabric config areas or policy paths accepted by this adapter.", + "description": "NeMo Fabric config areas or policy paths accepted by this adapter.", "items": { "type": "string" }, @@ -47,7 +47,7 @@ "config": { "$ref": "#/$defs/AdapterConfigSupport", "default": {}, - "description": "Fabric config areas this adapter consumes or generates." + "description": "NeMo Fabric config areas this adapter consumes or generates." }, "contract_version": { "description": "Adapter descriptor contract version.", @@ -84,11 +84,11 @@ "type": "object" }, "AdapterDescriptorSource": { - "description": "Where Fabric resolved an adapter descriptor from.", + "description": "Where NeMo Fabric resolved an adapter descriptor from.", "oneOf": [ { "const": "repository", - "description": "Descriptor maintained in this Fabric repository.", + "description": "Descriptor maintained in this NeMo Fabric repository.", "type": "string" }, { @@ -228,7 +228,7 @@ "default": { "tools_configured": false }, - "description": "Capabilities that Fabric must expose or manage outside the native harness config." + "description": "Capabilities that NeMo Fabric must expose or manage outside the native harness config." }, "mcp_servers": { "additionalProperties": { @@ -273,7 +273,7 @@ "default": { "tools_configured": false }, - "description": "Capabilities that are configured but not executable by this Fabric build." + "description": "Capabilities that are configured but not executable by this NeMo Fabric build." } }, "type": "object" @@ -316,7 +316,7 @@ }, { "const": "fabric_managed", - "description": "Fabric exposes or manages the capability around the harness.", + "description": "NeMo Fabric exposes or manages the capability around the harness.", "type": "string" }, { @@ -352,16 +352,16 @@ "type": "object" }, "ControlLocation": { - "description": "Where Fabric control code runs relative to the environment.", + "description": "Where NeMo Fabric control code runs relative to the environment.", "oneOf": [ { "const": "external_control", - "description": "Fabric runs on the host/control plane and starts or connects to the harness in the environment.", + "description": "NeMo Fabric runs on the host/control plane and starts or connects to the harness in the environment.", "type": "string" }, { "const": "in_env_control", - "description": "Fabric runs inside the prepared environment with the harness.", + "description": "NeMo Fabric runs inside the prepared environment with the harness.", "type": "string" } ] @@ -385,7 +385,7 @@ "control_location": { "$ref": "#/$defs/ControlLocation", "default": "in_env_control", - "description": "Where Fabric control code runs relative to the environment." + "description": "Where NeMo Fabric control code runs relative to the environment." }, "metadata": { "additionalProperties": true, @@ -395,7 +395,7 @@ "ownership": { "$ref": "#/$defs/EnvironmentOwnership", "default": "caller_owned", - "description": "Whether Fabric owns the environment resource." + "description": "Whether NeMo Fabric owns the environment resource." }, "provider": { "description": "Environment provider, for example `local`, `docker`, `opensandbox`, or `k8s`.", @@ -420,7 +420,7 @@ "type": "object" }, "EnvironmentOwnership": { - "description": "Whether Fabric owns the underlying environment resource.", + "description": "Whether NeMo Fabric owns the underlying environment resource.", "oneOf": [ { "const": "caller_owned", @@ -429,7 +429,7 @@ }, { "const": "fabric_owned", - "description": "Fabric created or leased the environment resource and may release it.", + "description": "NeMo Fabric created or leased the environment resource and may release it.", "type": "string" } ] @@ -451,7 +451,7 @@ }, "control_location": { "$ref": "#/$defs/ControlLocation", - "description": "Fabric control location." + "description": "NeMo Fabric control location." }, "metadata": { "additionalProperties": true, @@ -488,7 +488,7 @@ }, "FabricConfig": { "additionalProperties": true, - "description": "Versioned Fabric agent config.", + "description": "Versioned NeMo Fabric agent config.", "properties": { "environment": { "anyOf": [ @@ -642,7 +642,7 @@ }, { "const": "fabric_managed", - "description": "Fabric manages MCP and exposes basic tools/actions.", + "description": "NeMo Fabric manages MCP and exposes basic tools/actions.", "type": "string" } ] @@ -653,7 +653,7 @@ "properties": { "exposure": { "$ref": "#/$defs/McpExposure", - "description": "How Fabric exposes the MCP capability to the harness." + "description": "How NeMo Fabric exposes the MCP capability to the harness." }, "transport": { "description": "MCP transport.", @@ -1578,7 +1578,7 @@ } }, "$schema": "https://json-schema.org/draft/2020-12/schema", - "description": "Resolved Fabric run plan.", + "description": "Resolved NeMo Fabric run plan.", "properties": { "adapter_descriptor": { "anyOf": [ @@ -1596,7 +1596,7 @@ "type": "string" }, "base_dir": { - "description": "Base directory used to resolve relative Fabric paths.", + "description": "Base directory used to resolve relative NeMo Fabric paths.", "type": "string" }, "capabilities": { @@ -1622,7 +1622,7 @@ }, "config": { "$ref": "#/$defs/FabricConfig", - "description": "Complete typed Fabric config." + "description": "Complete typed NeMo Fabric config." }, "environment_plan": { "anyOf": [ diff --git a/schemas/run-request.schema.json b/schemas/run-request.schema.json index 8397f022..818e719a 100644 --- a/schemas/run-request.schema.json +++ b/schemas/run-request.schema.json @@ -1,6 +1,6 @@ { "$schema": "https://json-schema.org/draft/2020-12/schema", - "description": "A request passed to a Fabric-managed harness runtime.", + "description": "A request passed to a NeMo Fabric-managed harness runtime.", "properties": { "context": { "additionalProperties": true, diff --git a/schemas/run-result.schema.json b/schemas/run-result.schema.json index ed2da451..2931a586 100644 --- a/schemas/run-result.schema.json +++ b/schemas/run-result.schema.json @@ -93,12 +93,12 @@ }, "retryable": { "default": false, - "description": "Whether Fabric considers this failure safe for a consumer-level retry.", + "description": "Whether NeMo Fabric considers this failure safe for a consumer-level retry.", "type": "boolean" }, "stage": { "$ref": "#/$defs/ErrorStage", - "description": "Fabric lifecycle stage where the failure surfaced." + "description": "NeMo Fabric lifecycle stage where the failure surfaced." } }, "required": [ @@ -109,7 +109,7 @@ "type": "object" }, "ErrorStage": { - "description": "Fabric lifecycle stage associated with an error.", + "description": "NeMo Fabric lifecycle stage associated with an error.", "oneOf": [ { "const": "config", @@ -154,7 +154,7 @@ ] }, "FabricEvent": { - "description": "Fabric lifecycle or progress event.", + "description": "NeMo Fabric lifecycle or progress event.", "properties": { "event_id": { "description": "Event id.", @@ -228,7 +228,7 @@ } }, "$schema": "https://json-schema.org/draft/2020-12/schema", - "description": "Result from a Fabric-managed harness invocation.", + "description": "Result from a NeMo Fabric-managed harness invocation.", "properties": { "adapter_id": { "description": "Adapter implementation id when an adapter descriptor was resolved.", @@ -262,7 +262,7 @@ "description": "Error metadata when applicable." }, "events": { - "description": "Fabric lifecycle/progress events emitted during the run.", + "description": "NeMo Fabric lifecycle/progress events emitted during the run.", "items": { "$ref": "#/$defs/FabricEvent" }, diff --git a/schemas/runtime-context.schema.json b/schemas/runtime-context.schema.json index cda168be..24dda3cf 100644 --- a/schemas/runtime-context.schema.json +++ b/schemas/runtime-context.schema.json @@ -51,16 +51,16 @@ "type": "object" }, "ControlLocation": { - "description": "Where Fabric control code runs relative to the environment.", + "description": "Where NeMo Fabric control code runs relative to the environment.", "oneOf": [ { "const": "external_control", - "description": "Fabric runs on the host/control plane and starts or connects to the harness in the environment.", + "description": "NeMo Fabric runs on the host/control plane and starts or connects to the harness in the environment.", "type": "string" }, { "const": "in_env_control", - "description": "Fabric runs inside the prepared environment with the harness.", + "description": "NeMo Fabric runs inside the prepared environment with the harness.", "type": "string" } ] @@ -82,7 +82,7 @@ }, "control_location": { "$ref": "#/$defs/ControlLocation", - "description": "Where Fabric control code runs." + "description": "Where NeMo Fabric control code runs." }, "environment_id": { "description": "Environment handle id.", @@ -95,7 +95,7 @@ }, "ownership": { "$ref": "#/$defs/EnvironmentOwnership", - "description": "Whether Fabric owns the environment resource." + "description": "Whether NeMo Fabric owns the environment resource." }, "provider": { "description": "Environment provider.", @@ -118,7 +118,7 @@ "type": "object" }, "EnvironmentOwnership": { - "description": "Whether Fabric owns the underlying environment resource.", + "description": "Whether NeMo Fabric owns the underlying environment resource.", "oneOf": [ { "const": "caller_owned", @@ -127,7 +127,7 @@ }, { "const": "fabric_owned", - "description": "Fabric created or leased the environment resource and may release it.", + "description": "NeMo Fabric created or leased the environment resource and may release it.", "type": "string" } ] @@ -146,7 +146,7 @@ "additionalProperties": { "type": "string" }, - "description": "Environment variables Fabric applies while invoking the adapter.", + "description": "Environment variables NeMo Fabric applies while invoking the adapter.", "type": "object" }, "metadata": { diff --git a/schemas/runtime-handle.schema.json b/schemas/runtime-handle.schema.json index 9cda47df..272a45ef 100644 --- a/schemas/runtime-handle.schema.json +++ b/schemas/runtime-handle.schema.json @@ -26,16 +26,16 @@ ] }, "ControlLocation": { - "description": "Where Fabric control code runs relative to the environment.", + "description": "Where NeMo Fabric control code runs relative to the environment.", "oneOf": [ { "const": "external_control", - "description": "Fabric runs on the host/control plane and starts or connects to the harness in the environment.", + "description": "NeMo Fabric runs on the host/control plane and starts or connects to the harness in the environment.", "type": "string" }, { "const": "in_env_control", - "description": "Fabric runs inside the prepared environment with the harness.", + "description": "NeMo Fabric runs inside the prepared environment with the harness.", "type": "string" } ] @@ -57,7 +57,7 @@ }, "control_location": { "$ref": "#/$defs/ControlLocation", - "description": "Where Fabric control code runs." + "description": "Where NeMo Fabric control code runs." }, "environment_id": { "description": "Environment handle id.", @@ -70,7 +70,7 @@ }, "ownership": { "$ref": "#/$defs/EnvironmentOwnership", - "description": "Whether Fabric owns the environment resource." + "description": "Whether NeMo Fabric owns the environment resource." }, "provider": { "description": "Environment provider.", @@ -93,7 +93,7 @@ "type": "object" }, "EnvironmentOwnership": { - "description": "Whether Fabric owns the underlying environment resource.", + "description": "Whether NeMo Fabric owns the underlying environment resource.", "oneOf": [ { "const": "caller_owned", @@ -102,7 +102,7 @@ }, { "const": "fabric_owned", - "description": "Fabric created or leased the environment resource and may release it.", + "description": "NeMo Fabric created or leased the environment resource and may release it.", "type": "string" } ] @@ -135,7 +135,7 @@ "type": "string" }, "runtime_binding": { - "description": "Fabric-owned opaque binding for this runtime handle.", + "description": "NeMo Fabric-owned opaque binding for this runtime handle.", "type": "string" }, "runtime_id": { diff --git a/tests/adapters/test_adapters_common_relay_gateway.py b/tests/adapters/test_adapters_common_relay_gateway.py index 3d836524..656053c0 100644 --- a/tests/adapters/test_adapters_common_relay_gateway.py +++ b/tests/adapters/test_adapters_common_relay_gateway.py @@ -80,7 +80,7 @@ def test_relay_cli_contract_rejects_unsupported_version( ) with pytest.raises( - relay_gateway.RelayGatewayError, match="Fabric requires >=0.6.0,<0.7.0" + relay_gateway.RelayGatewayError, match="NeMo Fabric requires >=0.6.0,<0.7.0" ): relay_gateway.relay_cli_contract(tmp_path / "nemo-relay") diff --git a/tests/python/test_sdk_contract.py b/tests/python/test_sdk_contract.py index 2b44272c..76976bf9 100644 --- a/tests/python/test_sdk_contract.py +++ b/tests/python/test_sdk_contract.py @@ -373,7 +373,7 @@ def test_environment_model_defines_extension_field_ownership(): properties = EnvironmentConfig.model_json_schema()["properties"] assert "environment provider" in properties["settings"]["description"] - assert "without Fabric semantics" in properties["metadata"]["description"] + assert "without NeMo Fabric semantics" in properties["metadata"]["description"] assert "existing environment" in properties["connection"]["description"] assert "environment teardown" in properties["ownership"]["description"] assert "outside or inside" in properties["control_location"]["description"] From 0b2a9bc0ca8d8d58f6182a0514d60321d84dd642 Mon Sep 17 00:00:00 2001 From: Zhongxuan Wang Date: Thu, 23 Jul 2026 17:41:27 -0700 Subject: [PATCH 2/3] docs: limit naming updates to user-facing text Signed-off-by: Zhongxuan Wang --- .agents/skills/contribute-adapter/SKILL.md | 20 +++++++++---------- .../nemo_fabric_adapters/claude/adapter.py | 10 +++++----- .../src/nemo_fabric_adapters/codex/adapter.py | 10 +++++----- .../nemo_fabric_adapters/common/__init__.py | 2 +- .../nemo_fabric_adapters/common/lifecycle.py | 2 +- .../common/relay_gateway.py | 2 +- .../src/nemo_fabric_adapters/common/utils.py | 2 +- .../deepagents/adapter.py | 20 +++++++++---------- .../nemo_fabric_adapters/hermes/adapter.py | 8 ++++---- crates/fabric-core/src/runtime.rs | 4 ++-- examples/code_review_agent/config.py | 4 ++-- examples/harbor/prepare_swebench.sh | 4 ++-- justfile | 4 ++-- .../integrations/harbor/fabric_agent.py | 6 +++--- .../nemo_fabric/integrations/harbor/models.py | 2 +- .../nemo_fabric/integrations/harbor/runner.py | 2 +- .../integrations/harbor/telemetry.py | 2 +- 17 files changed, 52 insertions(+), 52 deletions(-) diff --git a/.agents/skills/contribute-adapter/SKILL.md b/.agents/skills/contribute-adapter/SKILL.md index ffcae099..cd50fe23 100644 --- a/.agents/skills/contribute-adapter/SKILL.md +++ b/.agents/skills/contribute-adapter/SKILL.md @@ -41,7 +41,7 @@ Decide the following before implementation: ## Implementation -- Use the existing NeMo Fabric `python` or `process` runner and normalized +- Use the existing Fabric `python` or `process` runner and normalized request/result contracts. Reuse `adapters/common/` only when its contract fits; do not add a runner or abstraction for one adapter. - Use `adapters//` with `LICENSE -> ../../LICENSE`, `README.md`, @@ -59,11 +59,11 @@ Decide the following before implementation: - Start with the narrowest truthful `fabric-adapter.json`. Keep `config.accepts`, `config.generates`, requirements, telemetry declarations, and lifecycle capabilities synchronized with implementation and tests. -- Use the complete NeMo Fabric invocation for adapters that consume normalized +- Use the complete Fabric invocation for adapters that consume normalized config or runtime context. Treat `config`, `capability_plan`, `telemetry_plan`, and `runtime_context` as authoritative. Reserve `harness.settings` for harness-specific behavior. -- Apply precedence in this order: normalized `config`; NeMo Fabric-resolved plans and +- Apply precedence in this order: normalized `config`; Fabric-resolved plans and runtime context; harness-specific settings; descriptor and adapter defaults. Let intentional overlaps layer by this order. Reject conflicting duplicate declarations or unsupported behavior with an actionable error naming the field @@ -75,23 +75,23 @@ Decide the following before implementation: - Forward only required system variables, selected credential variables, telemetry variables, and documented harness-specific environment. Never forward or log unrelated environment values. -- Start one local adapter host per NeMo Fabric runtime and keep it alive for ordered +- Start one local adapter host per Fabric runtime and keep it alive for ordered `start` → `invoke*` → `stop`. Emit one JSON lifecycle response per request on stdout and diagnostics on stderr; an early exit is a host crash. Return harness-level invoke failures in a successful lifecycle response as adapter output with `response: null`, `failed: true`, and structured `error` (`code`, `message`, `retryable`, and - optional `metadata`); NeMo Fabric normalizes it into a failed `RunResult`. + optional `metadata`); Fabric normalizes it into a failed `RunResult`. -> **TODO:** Revisit this output contract when NeMo Fabric adds streaming support; +> **TODO:** Revisit this output contract when Fabric adds streaming support; > update this guidance and affected adapter evidence then. - Scope workspace, generated config, state, sessions, and artifacts to the - resolved runtime context. Stateful adapters must isolate NeMo Fabric runtime IDs. + resolved runtime context. Stateful adapters must isolate Fabric runtime IDs. - Keep stdout stable: emit `response` plus adapter-specific extensions such as - `error`, harness `events`, `usage`, and session IDs. NeMo Fabric supplies top-level + `error`, harness `events`, `usage`, and session IDs. Fabric supplies top-level harness/adapter identity, lifecycle IDs, `status`, `error`, artifacts, - telemetry, NeMo Fabric lifecycle events, and metadata when it builds `RunResult`. + telemetry, Fabric lifecycle events, and metadata when it builds `RunResult`. Wire public adapter packages into language-native installation, descriptor, build, catalog, and CI surfaces. For Python, add the package to root @@ -105,7 +105,7 @@ ship its descriptor under `share/nemo-fabric/adapters/`. Use Use this table as the minimum capability review. Omit claims that the adapter cannot implement and test end to end. -| Surface | NeMo Fabric input | Adapter responsibility | +| Surface | Fabric input | Adapter responsibility | | --- | --- | --- | | Models | `config.models` and selected alias | Map supported provider settings and credential-variable names; reject unsupported providers. | | Tool policy | `config.tools.blocked` and `capability_plan.tools` | Claim `tools.blocked` only when every harness tool path enforces it. | diff --git a/adapters/claude/src/nemo_fabric_adapters/claude/adapter.py b/adapters/claude/src/nemo_fabric_adapters/claude/adapter.py index 032a7ba6..a6867f2b 100644 --- a/adapters/claude/src/nemo_fabric_adapters/claude/adapter.py +++ b/adapters/claude/src/nemo_fabric_adapters/claude/adapter.py @@ -1,7 +1,7 @@ # SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -"""Run Claude Agent SDK through the NeMo Fabric adapter contract.""" +"""Run Claude Agent SDK through the Fabric adapter contract.""" from __future__ import annotations @@ -122,7 +122,7 @@ def __init__( class AdapterInputError(ClaudeAdapterError): - """Invalid NeMo Fabric invocation input.""" + """Invalid Fabric invocation input.""" class AdapterConfigError(ClaudeAdapterError): @@ -271,7 +271,7 @@ def _nvidia_environment(payload: dict[str, Any]) -> dict[str, str]: "models.default.settings.base_url or NVIDIA_FRONTIER_BASE_URL is required " "for the NVIDIA model provider", ) - # Claude Code appends the Anthropic API version path itself, while NeMo Fabric's + # Claude Code appends the Anthropic API version path itself, while Fabric's # shared NVIDIA endpoint includes it for OpenAI-compatible clients. claude_base_url = base_url.rstrip("/").removesuffix("/v1") return { @@ -484,7 +484,7 @@ def prepare_claude_relay(payload: dict[str, Any]) -> ClaudeRelaySettings | None: def discard_stderr(_: str) -> None: - """Consume Claude Code stderr without exposing it through NeMo Fabric artifacts.""" + """Consume Claude Code stderr without exposing it through Fabric artifacts.""" def build_options( @@ -793,7 +793,7 @@ def _sdk_lifecycle_error(error: BaseException) -> lifecycle.LifecycleError: class ClaudeRuntime: - """One connected Claude SDK client owned by a NeMo Fabric runtime.""" + """One connected Claude SDK client owned by a Fabric runtime.""" def __init__(self) -> None: self._start_payload: dict[str, Any] | None = None diff --git a/adapters/codex/src/nemo_fabric_adapters/codex/adapter.py b/adapters/codex/src/nemo_fabric_adapters/codex/adapter.py index c6ad297c..c69f6943 100644 --- a/adapters/codex/src/nemo_fabric_adapters/codex/adapter.py +++ b/adapters/codex/src/nemo_fabric_adapters/codex/adapter.py @@ -2,7 +2,7 @@ # SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -"""Run Codex through its native Python SDK and the NeMo Fabric adapter contract.""" +"""Run Codex through its native Python SDK and the Fabric adapter contract.""" from __future__ import annotations @@ -119,7 +119,7 @@ def __init__( class AdapterInputError(CodexAdapterError): - """Invalid NeMo Fabric invocation input.""" + """Invalid Fabric invocation input.""" class AdapterConfigError(CodexAdapterError): @@ -279,7 +279,7 @@ async def _register_skill_roots(codex: AsyncCodex, skill_paths: list[Path]) -> N # The pinned SDK does not yet wrap the app-server's process-scoped # skills/extraRoots/set request. Keep the pinned-SDK compatibility seam - # here so arbitrary NeMo Fabric skill paths become discoverable without + # here so arbitrary Fabric skill paths become discoverable without # modifying the consumer workspace. await codex.models() client = getattr(codex, "_client", None) @@ -666,7 +666,7 @@ def thread_config( "codex", relay.gateway.executable )["hooks"], # This runtime-only request override is the SDK-native equivalent - # of the former non-interactive CLI flag. NeMo Fabric generated and + # of the former non-interactive CLI flag. Fabric generated and # vetted every hook command above. "bypass_hook_trust": True, }, @@ -1005,7 +1005,7 @@ def _as_lifecycle_error(error: CodexAdapterError) -> lifecycle.LifecycleError: class CodexRuntime: - """One Codex app-server client and thread owned by a NeMo Fabric runtime.""" + """One Codex app-server client and thread owned by a Fabric runtime.""" def __init__(self) -> None: self._start_payload: dict[str, Any] | None = None diff --git a/adapters/common/src/nemo_fabric_adapters/common/__init__.py b/adapters/common/src/nemo_fabric_adapters/common/__init__.py index 13dff21a..f2852683 100644 --- a/adapters/common/src/nemo_fabric_adapters/common/__init__.py +++ b/adapters/common/src/nemo_fabric_adapters/common/__init__.py @@ -1,4 +1,4 @@ # SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -"""Shared helpers for NeMo Fabric adapter implementations.""" +"""Shared helpers for Fabric adapter implementations.""" diff --git a/adapters/common/src/nemo_fabric_adapters/common/lifecycle.py b/adapters/common/src/nemo_fabric_adapters/common/lifecycle.py index 3149bf7c..0fcb7767 100644 --- a/adapters/common/src/nemo_fabric_adapters/common/lifecycle.py +++ b/adapters/common/src/nemo_fabric_adapters/common/lifecycle.py @@ -377,7 +377,7 @@ def serve( input_stream: TextIO = sys.stdin, output_stream: TextIO = sys.stdout, ) -> None: - """Serve ordered lifecycle requests for exactly one NeMo Fabric runtime.""" + """Serve ordered lifecycle requests for exactly one Fabric runtime.""" # Reserve process stdout for the protocol for the entire host lifetime, # including SDK background tasks running while the host is idle. diff --git a/adapters/common/src/nemo_fabric_adapters/common/relay_gateway.py b/adapters/common/src/nemo_fabric_adapters/common/relay_gateway.py index 2568a74a..6eb3bb4b 100644 --- a/adapters/common/src/nemo_fabric_adapters/common/relay_gateway.py +++ b/adapters/common/src/nemo_fabric_adapters/common/relay_gateway.py @@ -41,7 +41,7 @@ class RelayGatewayLaunch: @dataclass(frozen=True) class RelayCliContract: - """Versioned external Relay CLI contract consumed by NeMo Fabric adapters.""" + """Versioned external Relay CLI contract consumed by Fabric adapters.""" version: tuple[int, int, int] observability_version: int diff --git a/adapters/common/src/nemo_fabric_adapters/common/utils.py b/adapters/common/src/nemo_fabric_adapters/common/utils.py index a506da63..e91a1309 100644 --- a/adapters/common/src/nemo_fabric_adapters/common/utils.py +++ b/adapters/common/src/nemo_fabric_adapters/common/utils.py @@ -286,7 +286,7 @@ def relay_api_plugin_config(plugin_config: dict[str, Any]) -> plugin.PluginConfi ComponentSpec( ObservabilityConfig( # Relay 0.6 only accepts the v2 observability API model. - # NeMo Fabric still accepts its existing flat/v1 configuration + # Fabric still accepts its existing flat/v1 configuration # below and translates it at this API boundary. version=2, atof=_relay_api_atof_config(config.get("atof")), diff --git a/adapters/deepagents/src/nemo_fabric_adapters/deepagents/adapter.py b/adapters/deepagents/src/nemo_fabric_adapters/deepagents/adapter.py index 421d0838..d2d33555 100644 --- a/adapters/deepagents/src/nemo_fabric_adapters/deepagents/adapter.py +++ b/adapters/deepagents/src/nemo_fabric_adapters/deepagents/adapter.py @@ -2,10 +2,10 @@ # SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -"""LangChain Deep Agents adapter for NeMo Fabric. +"""LangChain Deep Agents adapter for Fabric. -Maps NeMo Fabric's normalized invocation onto the ``deepagents`` SDK and returns a -normalized NeMo Fabric result. A started runtime retains one compiled graph and +Maps Fabric's normalized invocation onto the ``deepagents`` SDK and returns a +normalized Fabric result. A started runtime retains one compiled graph and LangGraph checkpointer across ordered invocations. """ @@ -41,7 +41,7 @@ } # MCP transports langchain-mcp-adapters accepts (after normalization). VALID_MCP_TRANSPORTS = {"stdio", "sse", "streamable_http", "websocket"} -# create_deep_agent arguments NeMo Fabric derives from normalized config; the +# create_deep_agent arguments Fabric derives from normalized config; the # harness.settings.deepagents passthrough must not override them (doing so would # bypass the normalized model config, MCP tool resolution, workspace confinement, # or tool gating). @@ -125,7 +125,7 @@ def main() -> None: def preflight_check(payload: dict[str, Any]) -> None: """Validate invocation-time prerequisites and fail fast with clear errors. - These are runtime preflight checks, not ``fabric doctor`` checks: NeMo Fabric core + These are runtime preflight checks, not ``fabric doctor`` checks: Fabric core has no adapter-doctor hook, so doctor cannot verify these. At invocation time the ``deepagents`` package must be importable and the configured model-provider credential must be present in the environment. @@ -175,7 +175,7 @@ def resolve_base_url( def build_chat_model(payload: dict[str, Any]) -> tuple[Any, str, str | None]: - """Build a LangChain chat model from NeMo Fabric model config. + """Build a LangChain chat model from Fabric model config. The default path targets NVIDIA-hosted OpenAI-compatible endpoints. A generic hook falls back to ``langchain.chat_models.init_chat_model`` for any provider @@ -228,7 +228,7 @@ def build_chat_model(payload: dict[str, Any]) -> tuple[Any, str, str | None]: def resolve_backend(payload: dict[str, Any]) -> Any: - """Root the Deep Agents filesystem backend at the NeMo Fabric workspace, if set.""" + """Root the Deep Agents filesystem backend at the Fabric workspace, if set.""" environment = common_utils.environment_payload(payload) workspace = environment.get("workspace") or common_utils.settings_payload( @@ -247,7 +247,7 @@ def resolve_backend(payload: dict[str, Any]) -> Any: async def resolve_tools(payload: dict[str, Any]) -> list[Any] | None: - """Resolve NeMo Fabric MCP servers into Deep Agents tools.""" + """Resolve Fabric MCP servers into Deep Agents tools.""" tools = await _mcp_tools(payload) return tools or None @@ -395,7 +395,7 @@ def _validated_passthrough(extra: Any) -> dict[str, Any]: """Validate the harness.settings.deepagents passthrough and return the safe subset. Only documented, JSON-serializable create_deep_agent options are forwarded. - NeMo Fabric-owned keys cannot be overridden (that would bypass the normalized model + Fabric-owned keys cannot be overridden (that would bypass the normalized model config, MCP tool resolution, workspace confinement, and tool gating), and unknown keys fail clearly instead of being silently dropped. """ @@ -463,7 +463,7 @@ def _gated_subagents(subagents: Any, blocked: set[str]) -> list[dict[str, Any]]: class DeepAgentsRuntime: - """One compiled Deep Agents graph and checkpointer owned by a NeMo Fabric runtime.""" + """One compiled Deep Agents graph and checkpointer owned by a Fabric runtime.""" def __init__(self) -> None: self._started = False diff --git a/adapters/hermes/src/nemo_fabric_adapters/hermes/adapter.py b/adapters/hermes/src/nemo_fabric_adapters/hermes/adapter.py index 1278ecfa..07fd53aa 100755 --- a/adapters/hermes/src/nemo_fabric_adapters/hermes/adapter.py +++ b/adapters/hermes/src/nemo_fabric_adapters/hermes/adapter.py @@ -2,9 +2,9 @@ # SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -"""Hermes adapter for NeMo Fabric. +"""Hermes adapter for Fabric. -This adapter maps NeMo Fabric's normalized config into Hermes' native Python SDK +This adapter maps Fabric's normalized config into Hermes' native Python SDK surface and invokes the installed Hermes runtime. """ @@ -174,7 +174,7 @@ def resolve_hermes_toolsets( class HermesRuntime: - """One Hermes agent and session database owned by a NeMo Fabric runtime.""" + """One Hermes agent and session database owned by a Fabric runtime.""" def __init__(self) -> None: self._started = False @@ -356,7 +356,7 @@ async def invoke(self, invocation: dict[str, Any]) -> dict[str, Any]: ) finally: # Hermes' Relay plugin materializes ATIF when its session-finalize - # hook runs. Finalize the telemetry session for each NeMo Fabric + # hook runs. Finalize the telemetry session for each Fabric # invocation while retaining the native AIAgent and SessionDB. self._finalize_relay_session() messages = result.get("messages") or [] diff --git a/crates/fabric-core/src/runtime.rs b/crates/fabric-core/src/runtime.rs index 96690bc0..6f54c329 100644 --- a/crates/fabric-core/src/runtime.rs +++ b/crates/fabric-core/src/runtime.rs @@ -2349,8 +2349,8 @@ fn event_with_metadata( } fn new_id(prefix: &str) -> String { - // The atomic counter only differentiates ids within one NeMo Fabric process. - // Include the process id so independently running NeMo Fabric processes cannot + // The atomic counter only differentiates ids within one Fabric process. + // Include the process id so independently running Fabric processes cannot // collide when they generate ids in the same millisecond. let counter = NEXT_ID.fetch_add(1, Ordering::Relaxed); format!("{prefix}-{}-{}-{counter}", now_millis(), std::process::id()) diff --git a/examples/code_review_agent/config.py b/examples/code_review_agent/config.py index 379af36c..127f545c 100644 --- a/examples/code_review_agent/config.py +++ b/examples/code_review_agent/config.py @@ -1,7 +1,7 @@ # SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -"""Complete NeMo Fabric configs and clone-based variants for the example agent.""" +"""Complete Fabric configs and clone-based variants for the example agent.""" from __future__ import annotations @@ -211,7 +211,7 @@ def with_opensandbox(base: FabricConfig) -> FabricConfig: def with_fabric_managed_github_mcp(base: FabricConfig) -> FabricConfig: - """Return a copy that routes the GitHub MCP server through NeMo Fabric.""" + """Return a copy that routes the GitHub MCP server through Fabric.""" config = base.model_copy(deep=True) config.add_mcp_server( diff --git a/examples/harbor/prepare_swebench.sh b/examples/harbor/prepare_swebench.sh index 8396e075..f4de544c 100755 --- a/examples/harbor/prepare_swebench.sh +++ b/examples/harbor/prepare_swebench.sh @@ -2,9 +2,9 @@ # SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -# TEMPORARY SOURCE-CHECKOUT BOOTSTRAP — remove when NeMo Fabric is released. +# TEMPORARY SOURCE-CHECKOUT BOOTSTRAP — remove when Fabric is released. # -# The wheel-building path exists only because the NeMo Fabric distributions are not +# The wheel-building path exists only because the Fabric distributions are not # yet available from PyPI. Once they are published, the Harbor README should use # a pinned PyPI requirement directly and this script's wheelhouse, # .fabric-package file, and PIP_FIND_LINKS plumbing should be deleted. diff --git a/justfile b/justfile index c7c5a461..5cecbf96 100644 --- a/justfile +++ b/justfile @@ -226,12 +226,12 @@ for package in metadata["packages"]: mismatched.append(f"{package['name']}={package['version']}") if checked == 0: - raise SystemExit("Cargo metadata did not include any NeMo Fabric workspace packages") + raise SystemExit("Cargo metadata did not include any Fabric workspace packages") if mismatched: raise SystemExit( f"Cargo workspace packages do not all resolve to {version}: {', '.join(mismatched)}" ) -print(f"Cargo metadata resolves {checked} NeMo Fabric workspace packages to {version}") +print(f"Cargo metadata resolves {checked} Fabric workspace packages to {version}") PY then rm -f "$metadata_file" diff --git a/python/src/nemo_fabric/integrations/harbor/fabric_agent.py b/python/src/nemo_fabric/integrations/harbor/fabric_agent.py index cb5f1b9a..dddcda67 100644 --- a/python/src/nemo_fabric/integrations/harbor/fabric_agent.py +++ b/python/src/nemo_fabric/integrations/harbor/fabric_agent.py @@ -1,7 +1,7 @@ # SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -"""Harbor agent implementation backed by the NeMo Fabric Python SDK.""" +"""Harbor agent implementation backed by the Fabric Python SDK.""" from __future__ import annotations @@ -419,7 +419,7 @@ def build_harbor_config( def model_provider(model_name: str) -> str: - """Derive the NeMo Fabric provider from Harbor's model identifier.""" + """Derive the Fabric provider from Harbor's model identifier.""" return model_name.split("/", maxsplit=1)[0] if "/" in model_name else "openai" @@ -549,7 +549,7 @@ def _record_host_atif_validation( def populate_context_from_telemetry_summary(context: AgentContext, path: Path) -> None: - """Attach telemetry quality evidence to NeMo Fabric's Harbor metadata.""" + """Attach telemetry quality evidence to Fabric's Harbor metadata.""" if not path.is_file(): return diff --git a/python/src/nemo_fabric/integrations/harbor/models.py b/python/src/nemo_fabric/integrations/harbor/models.py index f378c5e9..c114df61 100644 --- a/python/src/nemo_fabric/integrations/harbor/models.py +++ b/python/src/nemo_fabric/integrations/harbor/models.py @@ -40,7 +40,7 @@ def validate_target(self) -> Self: class FabricRunPayload(BaseModel): - """Typed NeMo Fabric inputs transported into one Harbor task environment.""" + """Typed Fabric inputs transported into one Harbor task environment.""" model_config = ConfigDict(extra="forbid") diff --git a/python/src/nemo_fabric/integrations/harbor/runner.py b/python/src/nemo_fabric/integrations/harbor/runner.py index 1cf0a618..8234acf4 100644 --- a/python/src/nemo_fabric/integrations/harbor/runner.py +++ b/python/src/nemo_fabric/integrations/harbor/runner.py @@ -1,7 +1,7 @@ # SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -"""Run the NeMo Fabric SDK inside a Harbor task environment.""" +"""Run the Fabric SDK inside a Harbor task environment.""" from __future__ import annotations diff --git a/python/src/nemo_fabric/integrations/harbor/telemetry.py b/python/src/nemo_fabric/integrations/harbor/telemetry.py index 2891987e..b04d6b86 100644 --- a/python/src/nemo_fabric/integrations/harbor/telemetry.py +++ b/python/src/nemo_fabric/integrations/harbor/telemetry.py @@ -1,7 +1,7 @@ # SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -"""Validate NeMo Fabric telemetry and publish Harbor-compatible run evidence.""" +"""Validate Fabric telemetry and publish Harbor-compatible run evidence.""" from __future__ import annotations From abf2be57c623f6d0606fd653050dfd6867593e3d Mon Sep 17 00:00:00 2001 From: Zhongxuan Wang Date: Thu, 23 Jul 2026 18:00:09 -0700 Subject: [PATCH 3/3] docs: address API reference review feedback Signed-off-by: Zhongxuan Wang --- docs/reference/api/python-library-reference/index.md | 2 +- .../api/python-library-reference/nemo_fabric.client.md | 2 +- .../api/python-library-reference/nemo_fabric.models.md | 2 +- .../api/python-library-reference/nemo_fabric.runtime.md | 2 +- python/src/nemo_fabric/runtime.py | 2 +- scripts/generate_api_docs.sh | 4 ++-- tests/adapters/test_adapters_common_relay_gateway.py | 3 ++- 7 files changed, 9 insertions(+), 8 deletions(-) diff --git a/docs/reference/api/python-library-reference/index.md b/docs/reference/api/python-library-reference/index.md index 0b0604e3..c0f3245b 100644 --- a/docs/reference/api/python-library-reference/index.md +++ b/docs/reference/api/python-library-reference/index.md @@ -11,7 +11,7 @@ SPDX-License-Identifier: Apache-2.0 */} ## Modules - [`nemo_fabric.client`](./nemo_fabric.client.md#module-nemo_fabricclient): Native Python client for resolving and running NeMo Fabric agents. -- [`nemo_fabric.runtime`](./nemo_fabric.runtime.md#module-nemo_fabricruntime): Runtime lifecycle support for the NeMo Fabric Python SDK. +- [`nemo_fabric.runtime`](./nemo_fabric.runtime.md#module-nemo_fabricruntime): Runtime lifecycle support for the NVIDIA NeMo Fabric Python SDK. - [`nemo_fabric.models`](./nemo_fabric.models.md#module-nemo_fabricmodels): Pydantic SDK models for NeMo Fabric configuration and requests. - [`nemo_fabric.types`](./nemo_fabric.types.md#module-nemo_fabrictypes): Public data contracts for the NeMo Fabric Python SDK. - [`nemo_fabric.errors`](./nemo_fabric.errors.md#module-nemo_fabricerrors): Public exception hierarchy for the NeMo Fabric Python SDK. diff --git a/docs/reference/api/python-library-reference/nemo_fabric.client.md b/docs/reference/api/python-library-reference/nemo_fabric.client.md index 9a33c0fb..25d1c869 100644 --- a/docs/reference/api/python-library-reference/nemo_fabric.client.md +++ b/docs/reference/api/python-library-reference/nemo_fabric.client.md @@ -1,7 +1,7 @@ --- title: "Client" slug: "/reference/api/python-library-reference/client" -description: "Resolve, plan, diagnose, and run agents with NeMo Fabric." +description: "Resolve, plan, diagnose, and run agents with NVIDIA NeMo Fabric." --- {/* SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. SPDX-License-Identifier: Apache-2.0 */} diff --git a/docs/reference/api/python-library-reference/nemo_fabric.models.md b/docs/reference/api/python-library-reference/nemo_fabric.models.md index 96233466..53e33726 100644 --- a/docs/reference/api/python-library-reference/nemo_fabric.models.md +++ b/docs/reference/api/python-library-reference/nemo_fabric.models.md @@ -1,7 +1,7 @@ --- title: "Models" slug: "/reference/api/python-library-reference/models" -description: "Pydantic authoring models for NeMo Fabric config and request inputs." +description: "Pydantic authoring models for NVIDIA NeMo Fabric config and request inputs." --- {/* SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. SPDX-License-Identifier: Apache-2.0 */} diff --git a/docs/reference/api/python-library-reference/nemo_fabric.runtime.md b/docs/reference/api/python-library-reference/nemo_fabric.runtime.md index ebdf1c6d..931a7c9c 100644 --- a/docs/reference/api/python-library-reference/nemo_fabric.runtime.md +++ b/docs/reference/api/python-library-reference/nemo_fabric.runtime.md @@ -7,7 +7,7 @@ description: "Drive stateful multi-turn execution through the Runtime API." SPDX-License-Identifier: Apache-2.0 */} # module `nemo_fabric.runtime` -Runtime lifecycle support for the NeMo Fabric Python SDK. +Runtime lifecycle support for the NVIDIA NeMo Fabric Python SDK. diff --git a/python/src/nemo_fabric/runtime.py b/python/src/nemo_fabric/runtime.py index f20fc12b..83c76b30 100644 --- a/python/src/nemo_fabric/runtime.py +++ b/python/src/nemo_fabric/runtime.py @@ -1,7 +1,7 @@ # SPDX-FileCopyrightText: Copyright (c) 2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -"""Runtime lifecycle support for the NeMo Fabric Python SDK.""" +"""Runtime lifecycle support for the NVIDIA NeMo Fabric Python SDK.""" from __future__ import annotations diff --git a/scripts/generate_api_docs.sh b/scripts/generate_api_docs.sh index b8628f68..b2157d13 100755 --- a/scripts/generate_api_docs.sh +++ b/scripts/generate_api_docs.sh @@ -67,7 +67,7 @@ add_frontmatter \ add_frontmatter \ "$out/nemo_fabric.client.md" \ "Client" \ - "Resolve, plan, diagnose, and run agents with NeMo Fabric." \ + "Resolve, plan, diagnose, and run agents with NVIDIA NeMo Fabric." \ "/reference/api/python-library-reference/client" add_frontmatter \ "$out/nemo_fabric.runtime.md" \ @@ -77,7 +77,7 @@ add_frontmatter \ add_frontmatter \ "$out/nemo_fabric.models.md" \ "Models" \ - "Pydantic authoring models for NeMo Fabric config and request inputs." \ + "Pydantic authoring models for NVIDIA NeMo Fabric config and request inputs." \ "/reference/api/python-library-reference/models" add_frontmatter \ "$out/nemo_fabric.types.md" \ diff --git a/tests/adapters/test_adapters_common_relay_gateway.py b/tests/adapters/test_adapters_common_relay_gateway.py index 656053c0..8180ec7a 100644 --- a/tests/adapters/test_adapters_common_relay_gateway.py +++ b/tests/adapters/test_adapters_common_relay_gateway.py @@ -80,7 +80,8 @@ def test_relay_cli_contract_rejects_unsupported_version( ) with pytest.raises( - relay_gateway.RelayGatewayError, match="NeMo Fabric requires >=0.6.0,<0.7.0" + relay_gateway.RelayGatewayError, + match=r"NeMo Fabric requires >=0\.6\.0,<0\.7\.0", ): relay_gateway.relay_cli_contract(tmp_path / "nemo-relay")