Skip to content

ci(e2e): switch hosted inference to nemotron ultra - #5751

Merged
cv merged 1 commit into
mainfrom
fix/hosted-inference-ultra-model
Jun 24, 2026
Merged

ci(e2e): switch hosted inference to nemotron ultra#5751
cv merged 1 commit into
mainfrom
fix/hosted-inference-ultra-model

Conversation

@cv

@cv cv commented Jun 24, 2026

Copy link
Copy Markdown
Collaborator

Summary

Switches hosted CI inference defaults from nvidia/nvidia/nemotron-3-super-v3 to nvidia/nvidia/nemotron-3-ultra so nightly E2E jobs avoid the current validation timeout on the previous hosted model. Keeps the endpoint and OpenAI-compatible completions path unchanged.

Changes

  • Updated reusable and direct E2E workflow hosted inference model variables to nvidia/nvidia/nemotron-3-ultra.
  • Updated hosted inference helper defaults used by shell and Vitest E2E scenarios.
  • Updated workflow boundary and probe tests to assert the new hosted model default.

Type of Change

  • Code change (feature, bug fix, or refactor)
  • Code change with doc updates
  • Doc only (prose changes, no code sample modifications)
  • Doc only (includes code sample changes)

Verification

  • PR description includes the DCO sign-off declaration and every commit appears as Verified in GitHub
  • Git hooks passed during commit and push, or npx prek run --from-ref main --to-ref HEAD passes
  • Targeted tests pass for changed behavior
  • Full npm test passes (broad runtime changes only)
  • Tests added or updated for new or changed behavior
  • No secrets, API keys, or credentials committed
  • Docs updated for user-facing behavior changes
  • npm run docs builds without warnings (doc changes only)
  • Doc pages follow the style guide (doc changes only)
  • New doc pages include SPDX header and frontmatter (new pages only)

Signed-off-by: Carlos Villela cvillela@nvidia.com

Summary by CodeRabbit

  • Bug Fixes
    • Updated hosted inference and E2E test defaults to use a newer model identifier across workflows and scenarios.
    • Aligned test expectations and validation checks so model-related checks match the updated defaults.
    • Kept all other CI and test behavior unchanged.

@cv cv self-assigned this Jun 24, 2026
@coderabbitai

coderabbitai Bot commented Jun 24, 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: b6656ce1-0652-4223-92c5-9732ad2736ba

📥 Commits

Reviewing files that changed from the base of the PR and between 84ce922 and 57c0183.

📒 Files selected for processing (17)
  • .github/workflows/e2e-script.yaml
  • .github/workflows/e2e-vitest-scenarios.yaml
  • .github/workflows/nightly-e2e.yaml
  • src/lib/inference/onboard-probes.test.ts
  • src/lib/onboard/providers.ts
  • test/e2e-scenario/fixtures/hosted-inference.ts
  • test/e2e-scenario/live/agent-turn-latency-helpers.ts
  • test/e2e-scenario/live/hermes-discord.test.ts
  • test/e2e-scenario/live/hermes-slack-e2e-helpers.ts
  • test/e2e-scenario/live/rebuild-hermes.test.ts
  • test/e2e-scenario/live/upgrade-stale-sandbox-helpers.ts
  • test/e2e-script-workflow.test.ts
  • test/e2e/lib/ci-compatible-inference.sh
  • test/e2e/test-rebuild-hermes.sh
  • test/e2e/test-rebuild-openclaw.sh
  • test/e2e/test-upgrade-stale-sandbox.sh
  • tools/e2e-scenarios/workflow-boundary.mts

📝 Walkthrough

Walkthrough

Replaces every occurrence of the hosted inference model identifier nvidia/nvidia/nemotron-3-super-v3 with nvidia/nvidia/nemotron-3-ultra across the source constant HOSTED_INFERENCE_MODEL, E2E TypeScript fixtures and helpers, shell-based E2E scripts, workflow boundary validators, test assertions, and CI YAML job environment variables.

Changes

Model identifier update: nemotron-3-super-v3 → nemotron-3-ultra

Layer / File(s) Summary
Source constant and unit test
src/lib/onboard/providers.ts, src/lib/inference/onboard-probes.test.ts
HOSTED_INFERENCE_MODEL exported constant and the chat-completions probe unit test assertion both updated to nvidia/nvidia/nemotron-3-ultra.
E2E TypeScript fixtures and live test helpers
test/e2e-scenario/fixtures/hosted-inference.ts, test/e2e-scenario/live/agent-turn-latency-helpers.ts, test/e2e-scenario/live/hermes-discord.test.ts, test/e2e-scenario/live/hermes-slack-e2e-helpers.ts, test/e2e-scenario/live/rebuild-hermes.test.ts, test/e2e-scenario/live/upgrade-stale-sandbox-helpers.ts
Default model fallbacks in DEFAULT_HOSTED_INFERENCE_MODEL, DEFAULT_COMPAT_MODEL, commandEnv(), hermesSlackEnv, HOSTED_MODEL, and writeStaleRegistryEntry all updated to nemotron-3-ultra.
E2E shell scripts
test/e2e/lib/ci-compatible-inference.sh, test/e2e/test-rebuild-hermes.sh, test/e2e/test-rebuild-openclaw.sh, test/e2e/test-upgrade-stale-sandbox.sh
Default model fallback strings in registry/session generation and POST_REBUILD_INFERENCE_MODEL defaults updated to nvidia/nvidia/nemotron-3-ultra.
Workflow boundary validator and test assertions
tools/e2e-scenarios/workflow-boundary.mts, test/e2e-script-workflow.test.ts
validateRebuildHermesVitestJob equality checks and all workflow test assertions for NEMOCLAW_MODEL/NEMOCLAW_COMPAT_MODEL updated to nemotron-3-ultra.
CI workflow YAML job environments
.github/workflows/e2e-script.yaml, .github/workflows/e2e-vitest-scenarios.yaml, .github/workflows/nightly-e2e.yaml
NEMOCLAW_MODEL and NEMOCLAW_COMPAT_MODEL env vars updated to nvidia/nvidia/nemotron-3-ultra across all affected jobs (17 total ranges).

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • NVIDIA/NemoClaw#5600: Added the workflow-boundary validation contract for fixed NEMOCLAW_* hosted-inference env values that this PR updates to nemotron-3-ultra.
  • NVIDIA/NemoClaw#5605: Touched hermesSlackEnv and the Hermes Slack Vitest workflow's NEMOCLAW_MODEL/NEMOCLAW_COMPAT_MODEL defaults, the same fields updated here.

Suggested labels

area: ci, area: e2e, chore

Poem

🐰 Hop, hop, through the model files I go,
Swapping "super-v3" for "ultra" in a row,
Each workflow YAML, each shell script too,
Every constant gleaming fresh and new.
The CI flows on — the bunny says: "Woo!" 🎉

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main change: updating CI E2E hosted inference from Nemotron Super to Nemotron Ultra.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/hosted-inference-ultra-model

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

@github-code-quality

github-code-quality Bot commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Code Coverage Overview

Languages: TypeScript

TypeScript / code-coverage/plugin

The overall coverage in the fix/hosted-inference... branch is 96%. Coverage data for the main branch is not yet available.

Show a code coverage summary of the most covered files.
File main fix/hosted-inference... 57c0183 +/-
nemoclaw/src/se...cret-scanner.ts 100%
nemoclaw/src/commands/slash.ts 100%
nemoclaw/src/li...bprocess-env.ts 100%
nemoclaw/src/bl...eprint/state.ts 98%
nemoclaw/src/onboard/config.ts 98%
nemoclaw/src/bl...int/snapshot.ts 97%
nemoclaw/src/bl...print/runner.ts 95%
nemoclaw/src/co...ration-state.ts 94%
nemoclaw/src/bl...ate-networks.ts 94%
nemoclaw/src/index.ts 94%

TypeScript / code-coverage/cli

The overall coverage in the fix/hosted-inference... branch is 47%. Coverage data for the main branch is not yet available.

Show a code coverage summary of the most covered files.
File main fix/hosted-inference... 57c0183 +/-
src/lib/state/o...oard-session.ts 91%
src/lib/inference/local.ts 76%
src/lib/sandbox/config.ts 72%
src/lib/actions...dbox/rebuild.ts 69%
src/lib/onboard/preflight.ts 64%
src/lib/actions...licy-channel.ts 58%
src/lib/state/sandbox.ts 55%
src/lib/onboard...er-gpu-patch.ts 50%
src/lib/policy/index.ts 49%
src/lib/onboard.ts 18%

Updated June 24, 2026 18:22 UTC
Code Coverage is in Public Preview. Learn more and provide us with your feedback.

@github-actions

github-actions Bot commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

PR Review Advisor — No blocking findings

Merge posture: No blocking advisor findings
Primary next action: Add or justify PRA-T1 and any related test follow-ups.
Open items: 0 required · 0 warnings · 0 suggestions · 1 test follow-up

Action checklist

  • PRA-T1 Add or justify test follow-up: Runtime validation
Test follow-ups to resolve or justify

If these cover changed behavior, prefer adding them in this PR; otherwise state why existing coverage is enough or link the follow-up.

  • PRA-T1 Runtime validation — Run one hosted-compatible inference validation probe against `https://inference-api.nvidia.com/v1\` with `NEMOCLAW_MODEL=nvidia/nvidia/nemotron-3-ultra`, `NEMOCLAW_COMPAT_MODEL=nvidia/nvidia/nemotron-3-ultra`, and `NEMOCLAW_PREFERRED_API=openai-completions` to confirm the served model contract and bounded probe response.. Static coverage is strong for constant propagation and workflow contracts, but the key behavior depends on an external hosted inference service accepting `nvidia/nvidia/nemotron-3-ultra` on the unchanged OpenAI-compatible completions path.

Workflow run details

This is an automated, non-binding review; it still expects maintainers and agents to respond to each required or warning item. Treat suggestions as current-PR improvements when they touch changed code; defer only with maintainer rationale or a linked follow-up. A human maintainer must make the final merge decision.

@github-actions

Copy link
Copy Markdown
Contributor

E2E Advisor Recommendation

Required E2E: cloud-onboard-e2e, cloud-inference-e2e, credential-migration-e2e, agent-turn-latency-e2e
Optional E2E: onboard-resume-e2e, onboard-repair-e2e, rebuild-hermes-e2e, hermes-discord-e2e, hermes-slack-e2e

Dispatch hint: cloud-onboard-e2e,cloud-inference-e2e,credential-migration-e2e,agent-turn-latency-e2e

Workflow run

Full advisor summary

E2E Recommendation Advisor

Base: origin/main
Head: HEAD
Confidence: high

Required E2E

  • cloud-onboard-e2e (high): Required because the runtime hosted-inference provider staging and reusable workflow defaults affect non-interactive hosted onboarding. This validates public/install.sh onboarding, provider creation, policy setup, sandbox health, and hosted inference configuration with the new model.
  • cloud-inference-e2e (medium): Required because the PR changes the hosted compatible model used by live CI inference. This verifies a real sandbox can route through inference.local to inference-api.nvidia.com and receive a chat completion using the new default.
  • credential-migration-e2e (medium): Required because the changed hosted-inference staging path maps NVIDIA_INFERENCE_API_KEY into the compatible provider credential, and the credential-migration job environment now uses the new model. This protects the credential propagation and migration boundary.
  • agent-turn-latency-e2e (high): Required as a representative real assistant user-flow check for both OpenClaw and Hermes with the new hosted compatible model default. It catches model/API incompatibilities that may not appear in a direct inference.local smoke test.

Optional E2E

  • onboard-resume-e2e (medium): Optional confidence because the workflow defaults for this job changed to the new hosted model. The PR does not modify onboard state-machine resume orchestration, so the resume-compatibility mandatory pair rule is not triggered.
  • onboard-repair-e2e (medium): Optional confidence because the workflow defaults for this job changed to the new hosted model. Useful to validate the repair lane still survives hosted model validation and onboarding repair setup.
  • rebuild-hermes-e2e (high): Optional confidence because Hermes rebuild scenario helpers and workflow defaults were updated to the new hosted model.
  • hermes-discord-e2e (high): Optional confidence for a Hermes messaging user flow whose live scenario default hosted model changed.
  • hermes-slack-e2e (high): Optional confidence for a Hermes Slack user flow whose helper default hosted model changed.

New E2E recommendations

  • hosted-inference-default-staging (medium): Existing hosted E2Es commonly pass NEMOCLAW_PROVIDER and NEMOCLAW_MODEL explicitly via workflow env. Add a narrow E2E that omits provider/model while setting only NVIDIA_INFERENCE_API_KEY plus the hosted-inference flag, so src/lib/onboard/providers.ts default staging is exercised end-to-end.
    • Suggested test: hosted-inference-default-staging-e2e

Dispatch hint

  • Workflow: .github/workflows/nightly-e2e.yaml
  • jobs input: cloud-onboard-e2e,cloud-inference-e2e,credential-migration-e2e,agent-turn-latency-e2e

@github-actions

Copy link
Copy Markdown
Contributor

Vitest E2E Scenario Recommendation

Required Vitest E2E scenarios: hermes-discord-vitest, rebuild-hermes-stale-base-vitest, rebuild-hermes-vitest, e2e-scenarios-all
Optional Vitest E2E scenarios: None

Dispatch required Vitest E2E scenarios:

  • gh workflow run e2e-vitest-scenarios.yaml --ref <pr-head-ref> --field jobs=hermes-discord-vitest
  • gh workflow run e2e-vitest-scenarios.yaml --ref <pr-head-ref> --field jobs=rebuild-hermes-stale-base-vitest
  • gh workflow run e2e-vitest-scenarios.yaml --ref <pr-head-ref> --field jobs=rebuild-hermes-vitest
  • gh workflow run e2e-vitest-scenarios.yaml --ref <pr-head-ref>

Workflow run

Full Vitest E2E advisor summary

Vitest E2E Scenario Advisor

Base: origin/main
Head: HEAD
Confidence: high

Required Vitest E2E scenarios

  • hermes-discord-vitest: Focused free-standing Vitest job wired for changed live test test/e2e-scenario/live/hermes-discord.test.ts.
    • Dispatch: gh workflow run e2e-vitest-scenarios.yaml --ref <pr-head-ref> --field jobs=hermes-discord-vitest
  • rebuild-hermes-stale-base-vitest: Focused free-standing Vitest job wired for changed live test test/e2e-scenario/live/rebuild-hermes.test.ts.
    • Dispatch: gh workflow run e2e-vitest-scenarios.yaml --ref <pr-head-ref> --field jobs=rebuild-hermes-stale-base-vitest
  • rebuild-hermes-vitest: Focused free-standing Vitest job wired for changed live test test/e2e-scenario/live/rebuild-hermes.test.ts.
    • Dispatch: gh workflow run e2e-vitest-scenarios.yaml --ref <pr-head-ref> --field jobs=rebuild-hermes-vitest
  • e2e-scenarios-all: The PR changes the shared Vitest scenario workflow, shared hosted-inference fixture defaults, workflow-boundary tooling, and multiple live Vitest scenario helpers/tests for hosted inference model selection. This affects shared Vitest scenario machinery rather than one isolated scenario, so run the full Vitest scenario fan-out.
    • Dispatch: gh workflow run e2e-vitest-scenarios.yaml --ref <pr-head-ref>

Optional Vitest E2E scenarios

  • None.

Relevant changed files

  • .github/workflows/e2e-vitest-scenarios.yaml
  • src/lib/onboard/providers.ts
  • test/e2e-scenario/fixtures/hosted-inference.ts
  • test/e2e-scenario/live/agent-turn-latency-helpers.ts
  • test/e2e-scenario/live/hermes-discord.test.ts
  • test/e2e-scenario/live/hermes-slack-e2e-helpers.ts
  • test/e2e-scenario/live/rebuild-hermes.test.ts
  • test/e2e-scenario/live/upgrade-stale-sandbox-helpers.ts
  • tools/e2e-scenarios/workflow-boundary.mts

@cv
cv merged commit bcea2a4 into main Jun 24, 2026
47 checks passed
@cv
cv deleted the fix/hosted-inference-ultra-model branch June 24, 2026 18:23
@cv
cv restored the fix/hosted-inference-ultra-model branch June 24, 2026 18:24
@github-actions

Copy link
Copy Markdown
Contributor

Selective E2E Results — ✅ All requested jobs passed

Run: 28120438569
Target ref: fix/hosted-inference-ultra-model
Requested jobs: cloud-e2e
Summary: 1 passed, 0 failed, 0 cancelled, 0 skipped

Job Result
cloud-e2e ✅ success

@cv

cv commented Jun 24, 2026

Copy link
Copy Markdown
Collaborator Author

Runtime validation follow-up PRA-T1: dispatched selective nightly E2E for this branch with jobs=cloud-e2e and advisor_dispatch_id=pr-5751-cloud-e2e-ultra. The run passed, including the hosted inference onboarding validation against https://inference-api.nvidia.com/v1 with NEMOCLAW_MODEL=nvidia/nvidia/nemotron-3-ultra, NEMOCLAW_COMPAT_MODEL=nvidia/nvidia/nemotron-3-ultra, and NEMOCLAW_PREFERRED_API=openai-completions: https://github.com/NVIDIA/NemoClaw/actions/runs/28120438569

@cv cv added the v0.0.68 label Jun 25, 2026
jyaunches added a commit that referenced this pull request Jun 25, 2026
## Summary
Restore issue #5800 parity package `P0-A` for merged bash-suite
inference-helper deltas only.

This is a focused support-test parity PR: the helper/product behavior
already exists on `main`; this adds missing Vitest assertions so shell
retirement keeps the hosted/hermetic inference contracts covered.

## Related Issues
Refs #5800
Refs #5098
Refs #5373
Refs #5374
Refs #5385
Refs #5395
Refs #5399
Refs #5400
Refs #5411
Refs #5751
Refs #5672
Refs #5757

## Scope gate
- Package: `P0-A — Hosted/hermetic inference helper parity`
- Included PRs all merged and touched `test/e2e`: yes
- Out of scope: unmerged/non-bash PRs; product cleanup; shell lane
retirement / PR #5756 cleanup

## Parity map
| ID | Source PR | Contract | Inference classification | Vitest
assertion / waiver | Status |
| --- | --- | --- | --- | --- | --- |
| A1 | #5373 | Fake OpenAI-compatible helper supports `/models`, chat
completions, responses API, auth checking, and request capture. |
`hermetic-default` |
`test/e2e-scenario/support-tests/hosted-inference.test.ts` starts
`startFakeOpenAiCompatibleServer` and asserts
models/chat/responses/request log behavior. | covered |
| A2 | #5374, #5385, #5395 | Hosted CI inference stages
`NVIDIA_INFERENCE_API_KEY` as `COMPATIBLE_API_KEY`, routes as
`custom`/`compatible-endpoint`, and prefers `openai-completions`. |
`hosted-compatible capable` | Existing workflow/helper assertions plus
new shell helper staging assertion in `hosted-inference.test.ts`. |
covered |
| A3 | #5399, #5751, #5672, #5757 | Hosted model default remains the
Inference Hub provider/namespace/model ID
`nvidia/nvidia/nemotron-3-ultra`; explicit `NEMOCLAW_MODEL` takes
precedence over `NEMOCLAW_COMPAT_MODEL`, which takes precedence over
helper options/default. | `hosted-compatible capable` | New
`requireHostedInferenceConfig` model precedence/default assertion;
existing workflow/model namespace tests remain green. | covered |
| A4 | #5400, #5411 | Hosted reachability probe is bounded and low-cost:
no `/models`, chat completions, auth header, or bearer token spend. |
`hosted-compatible capable` | Existing probe tests retained and
revalidated. | covered |
| A5 | #5385 | Public NVIDIA/nvapi shell mode remains distinct from
hosted-compatible mode and is not restaged as compatible inference. |
`public-nvidia required` | New shell helper assertion checks `nvapi-*` +
`cloud` keeps `nvidia-prod`, leaves `COMPATIBLE_API_KEY` unset. |
covered |

## Inference mode support
- Default mode for touched live targets: none touched; this PR only
changes support tests.
- Real inference support preserved: yes, by asserting hosted-compatible
and public-NVIDIA helper boundaries without invoking real inference.
- Modes validated in this PR: hermetic fake endpoint and shell helper
mocked hosted-compatible/public boundary.
- If not validated with real inference: not required; no live target or
hosted secret path changed.

## Validation
- [x] `npx vitest run --project e2e-vitest-support
test/e2e-scenario/support-tests/hosted-inference.test.ts`
- [x] `npx vitest run test/e2e-script-workflow.test.ts
test/issue-5667-hosted-inference-model-namespace.test.ts
src/lib/inference/onboard-probes.test.ts
src/lib/onboard/providers.test.ts`
- [x] `git diff --check`
- [ ] hosted/public selective E2E workflow, if required by
classification: not required; support-test-only PR, no live/workflow
behavior changed.

## Follow-ups / waivers
- Pre-push full `Test (CLI)` / `Test (plugin)` hooks were not clean on
local macOS after the commit: CLI run hit existing macOS/stat/OOM-style
failures; plugin run could not import package `json5`. Focused target
tests above passed.


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

* **Tests**
* Expanded end-to-end coverage for hosted inference compatibility and
model ID/model precedence behavior.
* Added validations for environment variable staging rules and shell
mode behavior across NVAPI key scenarios.
* Introduced a fake OpenAI-compatible server and added contract checks
for `/models`, auth-required flows, and streamed responses on
chat/response endpoints, including cleanup after runs.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
@cv
cv deleted the fix/hosted-inference-ultra-model branch June 28, 2026 00:21
Hadar301 pushed a commit to Hadar301/NemoClaw-OpenShift that referenced this pull request Jul 12, 2026
## Summary
Switches hosted CI inference defaults from
`nvidia/nvidia/nemotron-3-super-v3` to `nvidia/nvidia/nemotron-3-ultra`
so nightly E2E jobs avoid the current validation timeout on the previous
hosted model. Keeps the endpoint and OpenAI-compatible completions path
unchanged.

## Changes
- Updated reusable and direct E2E workflow hosted inference model
variables to `nvidia/nvidia/nemotron-3-ultra`.
- Updated hosted inference helper defaults used by shell and Vitest E2E
scenarios.
- Updated workflow boundary and probe tests to assert the new hosted
model default.

## Type of Change
- [x] Code change (feature, bug fix, or refactor)
- [ ] Code change with doc updates
- [ ] Doc only (prose changes, no code sample modifications)
- [ ] Doc only (includes code sample changes)

## Verification
- [x] PR description includes the DCO sign-off declaration and every
commit appears as `Verified` in GitHub
- [x] Git hooks passed during commit and push, or `npx prek run
--from-ref main --to-ref HEAD` passes
- [x] Targeted tests pass for changed behavior
- [ ] Full `npm test` passes (broad runtime changes only)
- [x] Tests added or updated for new or changed behavior
- [x] No secrets, API keys, or credentials committed
- [ ] Docs updated for user-facing behavior changes
- [ ] `npm run docs` builds without warnings (doc changes only)
- [ ] Doc pages follow the [style
guide](https://github.com/NVIDIA/NemoClaw/blob/main/docs/CONTRIBUTING.md)
(doc changes only)
- [ ] New doc pages include SPDX header and frontmatter (new pages only)

---
<!-- DCO sign-off is required in this PR description, and every commit
must appear as Verified in GitHub. Run: git config user.name && git
config user.email -->
Signed-off-by: Carlos Villela <cvillela@nvidia.com>

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

## Summary by CodeRabbit

* **Bug Fixes**
* Updated hosted inference and E2E test defaults to use a newer model
identifier across workflows and scenarios.
* Aligned test expectations and validation checks so model-related
checks match the updated defaults.
  * Kept all other CI and test behavior unchanged.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Hadar301 pushed a commit to Hadar301/NemoClaw-OpenShift that referenced this pull request Jul 12, 2026
## Summary
Restore issue NVIDIA#5800 parity package `P0-A` for merged bash-suite
inference-helper deltas only.

This is a focused support-test parity PR: the helper/product behavior
already exists on `main`; this adds missing Vitest assertions so shell
retirement keeps the hosted/hermetic inference contracts covered.

## Related Issues
Refs NVIDIA#5800
Refs NVIDIA#5098
Refs NVIDIA#5373
Refs NVIDIA#5374
Refs NVIDIA#5385
Refs NVIDIA#5395
Refs NVIDIA#5399
Refs NVIDIA#5400
Refs NVIDIA#5411
Refs NVIDIA#5751
Refs NVIDIA#5672
Refs NVIDIA#5757

## Scope gate
- Package: `P0-A — Hosted/hermetic inference helper parity`
- Included PRs all merged and touched `test/e2e`: yes
- Out of scope: unmerged/non-bash PRs; product cleanup; shell lane
retirement / PR NVIDIA#5756 cleanup

## Parity map
| ID | Source PR | Contract | Inference classification | Vitest
assertion / waiver | Status |
| --- | --- | --- | --- | --- | --- |
| A1 | NVIDIA#5373 | Fake OpenAI-compatible helper supports `/models`, chat
completions, responses API, auth checking, and request capture. |
`hermetic-default` |
`test/e2e-scenario/support-tests/hosted-inference.test.ts` starts
`startFakeOpenAiCompatibleServer` and asserts
models/chat/responses/request log behavior. | covered |
| A2 | NVIDIA#5374, NVIDIA#5385, NVIDIA#5395 | Hosted CI inference stages
`NVIDIA_INFERENCE_API_KEY` as `COMPATIBLE_API_KEY`, routes as
`custom`/`compatible-endpoint`, and prefers `openai-completions`. |
`hosted-compatible capable` | Existing workflow/helper assertions plus
new shell helper staging assertion in `hosted-inference.test.ts`. |
covered |
| A3 | NVIDIA#5399, NVIDIA#5751, NVIDIA#5672, NVIDIA#5757 | Hosted model default remains the
Inference Hub provider/namespace/model ID
`nvidia/nvidia/nemotron-3-ultra`; explicit `NEMOCLAW_MODEL` takes
precedence over `NEMOCLAW_COMPAT_MODEL`, which takes precedence over
helper options/default. | `hosted-compatible capable` | New
`requireHostedInferenceConfig` model precedence/default assertion;
existing workflow/model namespace tests remain green. | covered |
| A4 | NVIDIA#5400, NVIDIA#5411 | Hosted reachability probe is bounded and low-cost:
no `/models`, chat completions, auth header, or bearer token spend. |
`hosted-compatible capable` | Existing probe tests retained and
revalidated. | covered |
| A5 | NVIDIA#5385 | Public NVIDIA/nvapi shell mode remains distinct from
hosted-compatible mode and is not restaged as compatible inference. |
`public-nvidia required` | New shell helper assertion checks `nvapi-*` +
`cloud` keeps `nvidia-prod`, leaves `COMPATIBLE_API_KEY` unset. |
covered |

## Inference mode support
- Default mode for touched live targets: none touched; this PR only
changes support tests.
- Real inference support preserved: yes, by asserting hosted-compatible
and public-NVIDIA helper boundaries without invoking real inference.
- Modes validated in this PR: hermetic fake endpoint and shell helper
mocked hosted-compatible/public boundary.
- If not validated with real inference: not required; no live target or
hosted secret path changed.

## Validation
- [x] `npx vitest run --project e2e-vitest-support
test/e2e-scenario/support-tests/hosted-inference.test.ts`
- [x] `npx vitest run test/e2e-script-workflow.test.ts
test/issue-5667-hosted-inference-model-namespace.test.ts
src/lib/inference/onboard-probes.test.ts
src/lib/onboard/providers.test.ts`
- [x] `git diff --check`
- [ ] hosted/public selective E2E workflow, if required by
classification: not required; support-test-only PR, no live/workflow
behavior changed.

## Follow-ups / waivers
- Pre-push full `Test (CLI)` / `Test (plugin)` hooks were not clean on
local macOS after the commit: CLI run hit existing macOS/stat/OOM-style
failures; plugin run could not import package `json5`. Focused target
tests above passed.


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

* **Tests**
* Expanded end-to-end coverage for hosted inference compatibility and
model ID/model precedence behavior.
* Added validations for environment variable staging rules and shell
mode behavior across NVAPI key scenarios.
* Introduced a fake OpenAI-compatible server and added contract checks
for `/models`, auth-required flows, and streamed responses on
chat/response endpoints, including cleanup after runs.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
@wscurran wscurran added area: ci CI workflows, checks, release automation, or GitHub Actions area: e2e End-to-end tests, nightly failures, or validation infrastructure chore Build, CI, dependency, or tooling maintenance labels Aug 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: ci CI workflows, checks, release automation, or GitHub Actions area: e2e End-to-end tests, nightly failures, or validation infrastructure chore Build, CI, dependency, or tooling maintenance

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants