fix(nemo-relay): harden native and CLI integration - #65104
Draft
bbednarski9 wants to merge 2 commits into
Draft
Conversation
bbednarski9
force-pushed
the
bbednarski/nemo-relay-managed-codecs
branch
from
July 15, 2026 16:52
a1eb01f to
9dea284
Compare
Contributor
|
Thanks for the focused hardening work. Current main still supplies only the execution-surface string to The codec selection, legacy fallback, response-identity coverage, and non-TTY version behavior directly address those current paths. GitHub reports the PR mergeable cleanly despite its older base. Automated hermes-sweeper review. |
2 tasks
19 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
api_modehermes --versionprobes offline while preserving update checks for interactive usersWhy
The managed LLM integration already used protocol-specific execution names such as
openai.chat_completions, but that name is telemetry identity rather than codec selection. As a result, Relay request interceptors could receive an unannotated request when Hermes ran through the native Python integration.Explicitly passing Relay-owned codecs makes the managed boundary protocol-aware without adding a Hermes translation layer.
Relay also validates Hermes through a five-second, captured
hermes --versionprobe. A source checkout previously performed a synchronous network update check for that non-interactive command, which could time out in a fresh isolated runtime home. Automated probes now remain local and deterministic; interactive version commands still report update availability.Validation
61 passedacross the NeMo Relay plugin and version-command testshermes --versionprobe completes in 0.53 seconds without a network update checknemo-relay run --agent hermessmokes both complete with the same concrete dynamic plugin and each emit:nemo_relay.llm.optimizationcontributionThe local model has no pricing entry, so the smoke summaries are correctly partial for pricing while token evidence is complete.