Skip to content

fix(inference): update Model Router pool - #11070

Merged
prekshivyas merged 7 commits into
mainfrom
codex/replace-model-router-gpt-oss-10969
Sep 5, 2026
Merged

fix(inference): update Model Router pool#11070
prekshivyas merged 7 commits into
mainfrom
codex/replace-model-router-gpt-oss-10969

Conversation

@rsliter

@rsliter rsliter commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Outcome

The default Model Router pool now routes through GPT-OSS 20B instead of the retired Nemotron Nano endpoint. The existing provider-routed live target keeps one request that must return a valid completion while preserving redaction, actionable failure evidence, and sandbox cleanup.

Reason

The retired Nemotron Nano endpoint returns HTTP 410 and prevents the existing Model Router E2E from proving routed inference.

Related issues

Fixes #10969

Changes

  • Replace nemotron-3-nano-reasoning and nvidia/nemotron-3-nano-30b-a3b with gpt-oss-20b-high and openai/gpt-oss-20b in the active pool and directly owned documentation.
  • Reduce the live target to one completion request through the shared inference fixture and shared NVIDIA credential validator.
  • Remove redundant response parsing, health, CLI-presence, retry, exact-text, and backing-model assertions.
  • Make pool and live-helper changes select the existing model-router-provider-routed-inference target and keep mock parity explicit.

Verification

  • Exact candidate: 9a224d978ac7fb765236114e5dff9f0f0854c059 on base 37cedc99007a776d4ea4591fcc74eb14bdcc0ef9.
  • Focused configuration schema tests: 124 passed.
  • npm run validate:configs: all 52 config files passed.
  • Focused E2E-support tests: 91 passed.
  • npm run test:e2e-phases:check: 132 tests across 88 files passed.
  • npm run e2e:assertions:check: 1,885 direct assertions across 86 files passed.
  • npm run validate:pr: passed on the exact candidate.
  • Core PR CI run 33918962675: passed.
  • Managed-image run 33918962942: passed, including exact all-agent activation and both OpenClaw discovery proofs. This includes the Hermes fix from fix(hermes): preserve sandbox lazy install target #11071.
  • Trusted Model Router E2E run 33921887434: passed against the exact candidate with selector model-router-provider-routed-inference. Revision-bound evidence records one passing target, a valid provider-routed completion, redacted credentials, and successful sandbox cleanup.
  • The first E2E dispatch, run 33921671033, was classified as dependency-blocked before target execution because the managed-image workflow was still running. The unchanged rerun above passed after that prerequisite completed.
  • Independent exact-diff review: no actionable findings.
  • npm run review:local: unavailable after the isolated local OpenShell gateway refused connections during specialist setup. The exact-head GitHub Advisor supplied the review evidence below.
  • git diff --check: passed.
  • The diff contains no secrets, API keys, or credentials.

Review notes

  • Eight exact-head PR Review Advisor specialists completed. Seven were clean. The architecture specialist suggested adding test/e2e/fixtures/phases/runtime.ts as a target-specific owner, but this is not valid: test/e2e/fixtures/ is already a full-suite owning path in tools/e2e/workflow-plan.mts, so changes there already select every catalogue target, including this one.
  • The Verification evidence specialist exhausted its five bounded provider retries on HTTP 429 and produced no review text. This environmental result is documented in the PR comment and requires no code change.
  • CodeRabbit reviewed the implementation commits with no actionable comments. Its linked-issue warning asks for new retirement infrastructure, which the accepted issue scope explicitly excludes.
  • The maintainer-approved bootstrap exception was used once to generate exact-commit Pi qualification receipts. Both native architecture jobs passed, only their contract bytes and authority digests were added, and the complete unskipped PR validation gate then passed.

Signed-off-by: Rebecca Sliter 571084+rsliter@users.noreply.github.com

Summary by CodeRabbit

  • New Features

    • Updated the default model router pool to route requests through NVIDIA Endpoints.
    • Added GPT-OSS 20B High and Nemotron 3 Super to the default model selection.
    • Updated model display names, API endpoints, and input/output token pricing.
  • Documentation

    • Updated model-router setup guidance with the latest providers, models, endpoints, and pricing.
    • Clarified that the Model Router selects a model from the configured NVIDIA Endpoints pool for each request.

Signed-off-by: Rebecca Sliter <571084+rsliter@users.noreply.github.com>
@rsliter rsliter self-assigned this Sep 4, 2026
@copy-pr-bot

copy-pr-bot Bot commented Sep 4, 2026

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@coderabbitai

coderabbitai Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 9b277a52-9714-4055-85ee-16018ffa8b17

📥 Commits

Reviewing files that changed from the base of the PR and between bed78ee and 33fc9d3.

📒 Files selected for processing (1)
  • docs/about/how-it-works.mdx

Included review availability: Your plan provides up to 12 included reviews per hour; 7 remain after this review.


📝 Walkthrough

Walkthrough

The Model Router pool now uses updated NVIDIA Endpoint models. The routed inference E2E test uses shared runtime helpers and updated target metadata. Pi qualification records and assertion budgets were refreshed.

Changes

Model Router refresh

Layer / File(s) Summary
Refresh the routed model pool
docs/inference/set-up-model-router.mdx, nemoclaw-blueprint/router/pool-config.yaml, docs/about/how-it-works.mdx
The documented and active pools now use updated model identifiers, endpoints, display names, encoder settings, and token pricing. The routing documentation describes per-request selection from the configured NVIDIA Endpoint pool.
Validate routed completion through the runtime
test/e2e/fixtures/phases/runtime.ts, test/e2e/live/model-router-provider-routed-inference.test.ts, ci/e2e-assertion-budget.json
The live test uses shared NVIDIA key validation and runtime completion helpers. It removes local health polling, retries, response parsing, and raw sandbox requests. Assertion budgets match the reduced test assertions.
Wire target ownership and parity
test/e2e/support/model-router-provider-routed-inference.test.ts, test/e2e/mock-parity.json, test/e2e/support/workflow-plan.test.ts, tools/e2e/target-catalogue.mts
Support coverage, parity metadata, workflow routing, and target ownership now include the router pool configuration and inference helper.

Pi qualification refresh

Layer / File(s) Summary
Update Pi qualification records
ci/pi-agent-qualification-v1-linux-amd64.json, ci/pi-agent-qualification-v1-linux-arm64.json, src/lib/agent/candidate-authority.ts
The Linux qualification records and accepted Pi receipt digests now reference updated values.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Merge Risk: ⚪ Minimal · up to 33fc9

The documentation now describes routing through the configured NVIDIA Endpoints model pool. No merge-blocking behavior or user-impact risk remains.

Sequence Diagram(s)

sequenceDiagram
  participant RoutedInferenceTest
  participant RuntimeFixture
  participant Sandbox
  RoutedInferenceTest->>RuntimeFixture: request inference.local completion
  RuntimeFixture->>Sandbox: execute routed completion probe
  Sandbox-->>RuntimeFixture: return valid completion
  RuntimeFixture-->>RoutedInferenceTest: record validCompletionReturned
Loading

Suggested reviewers: miyoungc

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check name Status Explanation Resolution
Linked Issues check ⚠️ Warning The pull request replaces the retired model and adds a provider-routed completion check. It does not show a proactive model-retirement or availability gate, and the provided candidate evidence still r… Add a proactive model-retirement or availability gate. Verify that the retired model is absent from every active pool, catalog, and fixture. Rerun the exact Model Router target and provide passing evidence.
Out of Scope Changes check ⚠️ Warning Most changes support the Model Router fix, but the Pi qualification image updates and the Pi receipt digest allowlist changes are unrelated to [#10969]. Remove ci/pi-agent-qualification-v1-linux-amd64.json, ci/pi-agent-qualification-v1-linux-arm64.json, and the unrelated Pi digest changes from src/lib/agent/candidate-authority.ts, unless separate linked objectives justify them.
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the primary change: updating the Model Router pool for inference.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 6…
Full details: Linked Issues check

Explanation

The pull request replaces the retired model and adds a provider-routed completion check. It does not show a proactive model-retirement or availability gate, and the provided candidate evidence still reports HTTP 410 for the retired model. Acceptance criteria are therefore incomplete for [#10969].

  • Fix all pre-merge checks with AI
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/replace-model-router-gpt-oss-10969

Comment @coderabbitai help to get the list of available commands.

@rsliter

rsliter commented Sep 4, 2026

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor
Action performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

@github-code-quality

github-code-quality Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Code Coverage Overview

Languages: TypeScript

TypeScript / code-coverage/plugin

The overall line coverage in commit 33fc9d3 in the codex/replace-model-... branch remains at 96%, unchanged from commit 94bb868 in the main branch.

TypeScript / code-coverage/cli

The overall line coverage in commit 33fc9d3 in the codex/replace-model-... branch remains at 83%, unchanged from commit 94bb868 in the main branch.

Show a line coverage summary of the most impacted files.
File main 94bb868 codex/replace-model-... 33fc9d3 +/-
src/lib/inferen...ocal-runtime.ts 97% 87% -10%
src/lib/actions...oy-execution.ts 94% 91% -3%
src/lib/onboard...-diagnostics.ts 99% 96% -3%
src/lib/actions...dbox/destroy.ts 90% 88% -2%
src/lib/onboard...ce-lifecycle.ts 85% 83% -2%
src/lib/onboard...-transaction.ts 69% 70% +1%
src/lib/onboard...ed-lifecycle.ts 75% 77% +2%
src/lib/onboard.../application.ts 69% 71% +2%
src/lib/onboard...on-authority.ts 81% 88% +7%
src/lib/onboard...ght-messages.ts 72% 82% +10%

Updated September 04, 2026 22:51 UTC

Signed-off-by: Rebecca Sliter <571084+rsliter@users.noreply.github.com>
@rsliter

rsliter commented Sep 4, 2026

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Signed-off-by: Rebecca Sliter <571084+rsliter@users.noreply.github.com>
@rsliter

rsliter commented Sep 4, 2026

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@wscurran wscurran added area: inference Inference routing, serving, model selection, or outputs area: routing Request routing, policy routing, model selection, or fallback logic bug-fix PR fixes a bug or regression labels Sep 4, 2026
@rsliter

rsliter commented Sep 4, 2026

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor
⚠️ Action not completed

No files to review.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@rsliter

rsliter commented Sep 4, 2026

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor
⚠️ Action not completed

No files to review.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@rsliter

rsliter commented Sep 4, 2026

Copy link
Copy Markdown
Contributor Author

PR Review Advisor run 33918962150 on exact head 9a224d9 is classified as an environmental review-provider failure, not candidate-owned. The Verification evidence specialist exhausted its checked-in five provider retries and received HTTP 429 with no response body or review text; the other eight specialists completed successfully. No code change is warranted, and this unavailable specialist result does not block the scoped PR.

@rsliter
rsliter marked this pull request as ready for review September 4, 2026 21:58
Signed-off-by: Rebecca Sliter <571084+rsliter@users.noreply.github.com>
Signed-off-by: Rebecca Sliter <571084+rsliter@users.noreply.github.com>
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

PR Review Advisor finished for commit 33fc9d3. Include the Advisor findings in the complete PR feedback collection. Verify and group valid findings before repair.

All previous runs

@prekshivyas
prekshivyas merged commit fa08360 into main Sep 5, 2026
118 of 121 checks passed
@prekshivyas
prekshivyas deleted the codex/replace-model-router-gpt-oss-10969 branch September 5, 2026 00:51
cjagwani added a commit that referenced this pull request Sep 5, 2026
<!-- markdownlint-disable MD041 -->
## Outcome

Adds the canonical dated documentation entry for v0.0.120 and records
the release's material user-facing changes before tag planning. The
Hermes rebuild guide now also documents the fail-closed immutable-base
requirement for legacy sandboxes without an image hint.

## Reason

Release planning requires a merged `docs/changelog/2026-09-04.mdx`
containing exactly one `## v0.0.120` heading. The existing automation
draft does not contain that required changelog and does not cover the
full release scope, so this PR provides a fresh, independently reviewed
release-docs update.

### Related issues

Relates to #10919

## Changes

- Add three release-note lead paragraphs and detailed, user-facing
v0.0.120 changes with canonical documentation routes.
- Cover configuration export and doctor (#11015, #11012); Hermes
runtime, recovery, and Discord policy (#10595, #11071, #11024, #10927,
#10983, #10988, #10999, #11019, #10682); Shields retirement (#10722,
#10996); OpenShell forwarding and runtime authority (#10695, #10814,
#10815, #10810); onboarding and recovery (#10690, #10900, #11046,
#10882, #10864); inference behavior (#10956, #10910, #11070); Deep
Agents MCP projection safety (#10911, #10909); and provider-profile
validation (#10884, #10895).
- Scope the legacy Hermes immutable-base rebuild guidance to the
Hermes-rendered recovery page.

## Verification

- `npx vitest run --project integration
test/generation/check-docs-links.test.ts
test/generation/check-docs-published-routes.test.ts
test/generation/post-merge-docs.test.ts` — 3 files and 125 tests passed.
- `npm run docs` — passed with 0 errors and 5 existing Fern warnings.
- Independent documentation audit — reconciled all 71 commits in
`v0.0.119..origin/main`, validated all 29 PR links and published routes,
and found no unsupported product claims or remaining corrections.
- Normal `pre-commit`, `commit-msg`, and `pre-push` hooks — passed.
- `git diff --check` — passed.
- GitHub commit verification —
`a22fe0989fd72c7daaa9b2e7a4734a3edc069aba` is Verified with reason
`valid`.
- Secret review — the diff contains no secrets, API keys, or
credentials.

## Review notes

The existing automation draft #10919 is intentionally left untouched.
This PR supersedes its release-docs content with the complete canonical
changelog and a variant-correct Hermes recovery update.

---
Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Documentation**
- Added release notes covering verified configuration export, host and
gateway diagnostics, service forwarding, sandbox recovery, onboarding
safeguards, inference retries, MCP projection safety, provider setup,
and Discord runtime policy.
- Clarified sandbox rebuild behavior, including use of the
release-pinned immutable base image when required.
- Documented that rebuilds stop before modifying sandbox data when the
required image cannot be resolved or validated.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: inference Inference routing, serving, model selection, or outputs area: routing Request routing, policy routing, model selection, or fallback logic bug-fix PR fixes a bug or regression

Projects

None yet

Development

Successfully merging this pull request may close these issues.

inference: Model Router E2E selects a retired Nemotron 3 Nano endpoint

3 participants