You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Canonical NemoClaw scope was accepted in the 2026-08-13 maintainer decision recorded in this issue. The Hermes-first integration may proceed as dependency-aware implementation work. General availability remains gated on stable released upstream artifacts and all compatibility, credential, policy, lifecycle, and E2E criteria below.
Problem
NemoClaw can run Hermes, and the upstream native integration is converging, but NemoClaw does not yet provide an approved, released, secure, and end-to-end validated way to enable Switchyard model routing for a managed Hermes sandbox.
Without that integration, users must choose compatible upstream revisions, build or install experimental plugin code, write Relay and Switchyard configuration, attach multiple provider endpoints and credentials, widen network policy, diagnose silent activation failures, and decide retry/fallback behavior themselves.
V5 goal
A user explicitly enables an approved Switchyard routing configuration for a NemoClaw-managed Hermes agent. Normal Hermes turns then use the released native path:
no Relay CLI wrapper;
no switchyard-server sidecar;
no upstream source checkout or ad hoc build;
at least two real target models behind OpenShell-secured provider boundaries;
persistent, fail-closed activation;
canonical non-secret routing evidence; and
restart, rebuild, cleanup, and negative-security qualification.
The first milestone qualifies seeded weighted-random and LLM-classifier routing. Stage routing, response-judging escalation, and other routers require separate qualification before being called supported.
Exact architecture and ownership
NemoClaw-managed OpenShell sandbox
└── normal supervised Hermes process
└── native NeMo Relay runtime
└── released nvidia.switchyard plugin
└── OpenShell-secured providers
├── judge/classifier, when required
├── weak/efficient target
└── strong/capable target
Relay intercepts and replaces Hermes downstream LLM execution with the Switchyard plugin async generator. Switchyard produces the RoutingOutcome, rewrites the request, and executes the selected target. Relay owns plugin discovery, activation, correlation, and lifecycle. Switchyard owns the routing algorithm and selected-target execution. Everything runs in the supervised Hermes process with zero Relay or Switchyard sidecars.
Within this accepted scope, NemoClaw owns:
selecting and verifying a released compatible Hermes, Relay, Switchyard, plugin, and OpenShell set;
installing verified artifacts for supported Linux architectures without source builds;
generating the released two-file activation/deployment contract and failing readiness when requested routing is inactive;
provisioning judge, weak, and strong provider identities through OpenShell without exposing raw credentials;
enforcing network, redirect, timeout, retry, fallback, cancellation, and stream-failure policy;
exposing bounded non-secret active-state and per-turn routing evidence; and
managed E2E, security, upgrade, rollback, operations, and support documentation.
NemoClaw does not own Switchyard algorithms, provider HTTP transport, a fork of the Relay plugin, benchmark claims, or a second harness-specific routing implementation.
Current status — 2026-09-14
The architecture is proven experimentally, but this is not yet a supported NemoClaw integration.
Hermes and Relay are ready as a released pair: Hermes Agent 0.21.3 includes the native Relay loader and locks Relay 0.8.3.
Switchyard is close at source level: the native plugin, routing events, semantic model groups, credential-header boundary, fallback behavior, and important classifier fixes have merged.
The production bundle is still missing: the official NeMo Relay Plugins producer now builds and installs Switchyard on Linux amd64/arm64 and other supported platforms, but it has not published a production release. Its current bundles are checksum-only and require a weaker trust override.
Qualification remains: Hermes interruption recovery, remaining provider transport bounds, OpenShell credential/endpoint attestation, fail-closed activation/readiness, two real targets, and managed E2E/security tests must still pass.
NemoClaw can prepare the disabled configuration, provider binding, readiness, and E2E work now. The production selector must wait for the released, immutable plugin tuple and completed qualification. Detailed upstream monitoring evidence is kept in the private readiness ledger rather than added as issue comments.
V0–V5 evidence ledger
Iteration
Architecture
Result
Meaning
V0
Relay 0.6 sidecar plus separate switchyard-server
Superseded
Historical compatibility path only
V1
Relay CLI wrapper launches one-off Hermes; Switchyard is statically linked
Proved gateway-owned credential substitution while exposing the single-host-model limitation
V4 demo
Native in-process path plus three attached OpenShell providers, two real cloud targets, route watcher, and read-only UI label
Passed as experimental evidence; frozen to Switchyard #270 commit c69a8b68f7c85e4b610c077690f90db6de9053ed
Proved the desired experience and security shape, not a released support contract
V5
Stable released artifacts, accepted scope, canonical configuration, secure providers, failure policy, E2E, and docs
Dependency-aware design and draft implementation are underway; the production selector remains blocked
Final supported integration after the immutable release tuple and qualification gates pass
Preserve V4 on its qualified immutable commit. Do not replace it with a moving PR head. Remove prototype overlays only after the released V5 replacements pass equivalent and stronger evidence.
Delivery tracker
Work package
Deliverable
Issue
Current state
Product decision
Canonical NemoClaw vs Community Solutions; lifecycle, compatibility, security, E2E, and support owners
This issue
Accepted 2026-08-13
Released compatibility and packaging
Stable tuple, exact locks, two architectures, immutable hashes, producer provenance, no source builds
StageRouter and response-judging escalation behavior/evaluation
Separate follow-ups
Out of first milestone
Other harnesses
Reusable Relay-host contract and gaps for OpenClaw/Deep Agents
Separate design after Hermes
Out of Hermes-first scope
Configuration and provider decisions
The released path uses two explicit files:
a manifest-backed Relay activation file containing plugin identity, native API/ABI compatibility, immutable entrypoint/bundle identity, and deployment path; and
a Switchyard v1 deployment document containing llm_clients, targets, and routes.
NemoClaw must reject the older plugin_id-only form, unknown route IDs, incompatible API/ABI/ranges, missing assets, and requested-but-inactive routing before any provider request.
For the first V5 provider design, use three separately attached OpenShell providers: judge, weak, and strong. Keep inference.local as Hermes's ordinary bootstrap/default route; do not use it for Switchyard targets because it represents one gateway-wide host-selected model.
Each Switchyard llm_client receives an endpoint-scoped raw-key placeholder through api_key_env; Switchyard constructs the provider Authorization header. forward_auth remains false. Caller authorization, cross-provider placeholder use, direct-provider egress, and silent fallback to inference.local must be denied.
Fresh creation of uniquely named providers is the initial boundary. Existing-provider reuse, update, mutation, and credential rotation remain blocked until OpenShell provides identity-bound conditional mutation and secret-free endpoint/profile attestation or an accepted equivalent.
Supported acceptance criteria
Maintainers accepted canonical product scope and the documented ownership boundary on 2026-08-13.
A fresh sandbox consumes only stable, compatible, immutable, provenance-verified artifacts for every supported architecture.
Normal supervised Hermes loads Relay and nvidia.switchyard persistently with zero routing sidecars.
Requested routing becomes active and ready before the first provider request.
Repeated Hermes turns select at least two distinct real target models.
Provider credentials remain outside agent-visible files, environment, argv, logs, errors, telemetry, and artifacts and resolve only at intended endpoints.
The platform design can extend beyond Hermes only when another harness provides equivalent Relay lifecycle, downstream model-call interception, configuration, routing metadata/feedback, and credential-bound provider execution. NemoClaw should reuse the secure provider and policy layers where possible, but each harness needs separately accepted adapter/lifecycle scope and E2E evidence. Hermes is first because the native loader exists upstream.
Remaining decisions
Who owns compatibility, security review, live E2E, release qualification, and support lifecycle?
Which future stable Hermes/Relay/Switchyard/plugin/OpenShell tuple is the first supported record?
What released producer publishes the native bundle for both required architectures with immutable provenance?
Scope decision — accepted
Canonical NemoClaw scope was accepted in the 2026-08-13 maintainer decision recorded in this issue. The Hermes-first integration may proceed as dependency-aware implementation work. General availability remains gated on stable released upstream artifacts and all compatibility, credential, policy, lifecycle, and E2E criteria below.
Problem
NemoClaw can run Hermes, and the upstream native integration is converging, but NemoClaw does not yet provide an approved, released, secure, and end-to-end validated way to enable Switchyard model routing for a managed Hermes sandbox.
Without that integration, users must choose compatible upstream revisions, build or install experimental plugin code, write Relay and Switchyard configuration, attach multiple provider endpoints and credentials, widen network policy, diagnose silent activation failures, and decide retry/fallback behavior themselves.
V5 goal
A user explicitly enables an approved Switchyard routing configuration for a NemoClaw-managed Hermes agent. Normal Hermes turns then use the released native path:
The first milestone qualifies seeded weighted-random and LLM-classifier routing. Stage routing, response-judging escalation, and other routers require separate qualification before being called supported.
Exact architecture and ownership
Relay intercepts and replaces Hermes downstream LLM execution with the Switchyard plugin async generator. Switchyard produces the RoutingOutcome, rewrites the request, and executes the selected target. Relay owns plugin discovery, activation, correlation, and lifecycle. Switchyard owns the routing algorithm and selected-target execution. Everything runs in the supervised Hermes process with zero Relay or Switchyard sidecars.
Within this accepted scope, NemoClaw owns:
NemoClaw does not own Switchyard algorithms, provider HTTP transport, a fork of the Relay plugin, benchmark claims, or a second harness-specific routing implementation.
Current status — 2026-09-14
The architecture is proven experimentally, but this is not yet a supported NemoClaw integration.
NemoClaw can prepare the disabled configuration, provider binding, readiness, and E2E work now. The production selector must wait for the released, immutable plugin tuple and completed qualification. Detailed upstream monitoring evidence is kept in the private readiness ledger rather than added as issue comments.
V0–V5 evidence ledger
Preserve V4 on its qualified immutable commit. Do not replace it with a moving PR head. Remove prototype overlays only after the released V5 replacements pass equivalent and stronger evidence.
Delivery tracker
Configuration and provider decisions
The released path uses two explicit files:
NemoClaw must reject the older plugin_id-only form, unknown route IDs, incompatible API/ABI/ranges, missing assets, and requested-but-inactive routing before any provider request.
For the first V5 provider design, use three separately attached OpenShell providers: judge, weak, and strong. Keep inference.local as Hermes's ordinary bootstrap/default route; do not use it for Switchyard targets because it represents one gateway-wide host-selected model.
Each Switchyard llm_client receives an endpoint-scoped raw-key placeholder through api_key_env; Switchyard constructs the provider Authorization header. forward_auth remains false. Caller authorization, cross-provider placeholder use, direct-provider egress, and silent fallback to inference.local must be denied.
Fresh creation of uniquely named providers is the initial boundary. Existing-provider reuse, update, mutation, and credential rotation remain blocked until OpenShell provides identity-bound conditional mutation and secret-free endpoint/profile attestation or an accepted equivalent.
Supported acceptance criteria
Constraints and non-goals
Other agent harnesses
The platform design can extend beyond Hermes only when another harness provides equivalent Relay lifecycle, downstream model-call interception, configuration, routing metadata/feedback, and credential-bound provider execution. NemoClaw should reuse the secure provider and policy layers where possible, but each harness needs separately accepted adapter/lifecycle scope and E2E evidence. Hermes is first because the native loader exists upstream.
Remaining decisions
Discovery and coordination
Related work
Checklist