Skip to content

fix: sync OpenClaw main agent model (Fixes #5822) - #5857

Merged
cv merged 2 commits into
NVIDIA:mainfrom
deepujain:fix/5822-openclaw-model-sync
Jul 8, 2026
Merged

fix: sync OpenClaw main agent model (Fixes #5822)#5857
cv merged 2 commits into
NVIDIA:mainfrom
deepujain:fix/5822-openclaw-model-sync

Conversation

@deepujain

@deepujain deepujain commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Summary

Fixes #5822.

nemoclaw inference set already updated the OpenShell gateway route, the registry, and agents.defaults.model.primary in /sandbox/.openclaw/openclaw.json. It missed an explicit agents.list entry for the primary main agent when that entry carried its own model, so OpenClaw could keep reporting the old model even after status and the gateway had moved to the new route.

This patch updates the explicit primary agent model during the same sandbox config sync, while leaving secondary agent model overrides alone.

Changes

  • src/lib/actions/inference-set.ts: sync agents.list entries for id: "main" or default: true when they already have a model.
  • src/lib/actions/inference-set.test.ts: add regression coverage for the stale primary-agent model path.

Testing

  • npx vitest run src/lib/actions/inference-set.test.ts - 27 tests passed.
  • npm run build:cli - passed.
  • npm run typecheck:cli - passed.
  • npm run source-shape:check - passed outside the sandbox after tsx hit a sandbox IPC permission error on its temp pipe.
  • npx @biomejs/biome format src/lib/actions/inference-set.ts src/lib/actions/inference-set.test.ts - passed.

Evidence it works

The new regression test builds an OpenClaw config where agents.defaults.model.primary and agents.list[id=main].model both point at the old model. After patchOpenClawInferenceConfig(...), both primary identity fields point at the switched model, while the secondary agent model remains unchanged. Before this patch, the explicit main model stayed stale.

I did not run a live DGX Spark/OpenClaw TUI repro in this worktree, so this PR covers the config-sync regression with focused unit evidence rather than a full hardware-backed TUI smoke.

Signed-off-by: Deepak Jain deepujain@gmail.com

Summary by CodeRabbit

  • Bug Fixes
    • Updating the primary agent model now also updates the corresponding primary entry in the agent list to keep the selected model consistent.
    • Added improved handling when no dedicated main/default entry exists, ensuring the default primary agent is updated correctly.
    • Non-primary agent entries keep their existing model and details.
  • Tests
    • Added test coverage for both the main-entry update scenario and the fallback scenario when patching inference configuration.

@copy-pr-bot

copy-pr-bot Bot commented Jun 26, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@coderabbitai

coderabbitai Bot commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

updateAgentPrimary now also syncs the primary model into agents.list, preferring the main entry and falling back to the first default entry. New tests cover both the main-entry and fallback update paths.

Changes

OpenClaw primary model sync

Layer / File(s) Summary
Primary model propagation to agents.list
src/lib/actions/inference-set.ts
updateAgentPrimary now calls updatePrimaryAgentListModel, which updates the primary string model in agents.list, preferring an id === "main" entry and falling back to a default === true entry.
Tests for main-entry and fallback sync
src/lib/actions/inference-set-patch-openclaw.test.ts
New Vitest cases verify patchOpenClawInferenceConfig updates the main agents.list entry when present, and falls back to the default: true entry when no main entry exists.

Estimated code review effort: 2 (Simple) | ~10 minutes

Suggested reviewers: jyaunches, ericksoa, prekshivyas

🚥 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 and concisely summarizes the main change: syncing the OpenClaw main agent model.
Linked Issues check ✅ Passed The change updates the primary main agent model while preserving secondary overrides, matching the regression fix requested in #5822.
Out of Scope Changes check ✅ Passed The added test coverage and model-sync helper stay within the issue scope and do not introduce unrelated behavior.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
src/lib/actions/inference-set.ts (1)

225-242: 🩺 Stability & Availability | 🔵 Trivial

Please run the targeted inference-switch E2Es for this path.

This code path patches the running agent config during inference switching, so it is worth validating both the OpenClaw and Hermes flows before merge. As per path instructions, src/lib/actions/inference-set.ts “affect[s] OpenClaw and Hermes model switching without a sandbox rebuild,” and the recommended jobs are openclaw-inference-switch-e2e and hermes-inference-switch-e2e.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/lib/actions/inference-set.ts` around lines 225 - 242, Run the targeted
inference-switch E2Es for the config-patching path in
updateAgentPrimary/updatePrimaryAgentListModel, since this change affects
OpenClaw and Hermes model switching without a sandbox rebuild. Validate both
flows before merge by running the openclaw-inference-switch-e2e and
hermes-inference-switch-e2e jobs to confirm the running agent config is updated
correctly during inference switching.

Source: Path instructions

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/lib/actions/inference-set.ts`:
- Around line 236-240: The primary-model rewrite in the list loop is too broad
because it treats any entry with default: true as primary. Update the logic in
inference-set so id === "main" is matched and rewritten first, and only use a
default-flagged entry if no main entry exists, ensuring secondary overrides
marked default: true are left unchanged. Focus the fix around the list iteration
and the isPrimaryAgent check that sets entry.model to primaryModelRef.

---

Nitpick comments:
In `@src/lib/actions/inference-set.ts`:
- Around line 225-242: Run the targeted inference-switch E2Es for the
config-patching path in updateAgentPrimary/updatePrimaryAgentListModel, since
this change affects OpenClaw and Hermes model switching without a sandbox
rebuild. Validate both flows before merge by running the
openclaw-inference-switch-e2e and hermes-inference-switch-e2e jobs to confirm
the running agent config is updated correctly during inference switching.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: a7490e22-019a-4928-ad0c-0fb534e7b8f2

📥 Commits

Reviewing files that changed from the base of the PR and between 06485be and 9d793bb.

📒 Files selected for processing (2)
  • src/lib/actions/inference-set.test.ts
  • src/lib/actions/inference-set.ts

Comment thread src/lib/actions/inference-set.ts Outdated
@wscurran wscurran added area: inference Inference routing, serving, model selection, or outputs bug-fix PR fixes a bug or regression labels Jun 26, 2026
@wscurran

Copy link
Copy Markdown
Contributor

✨ Thanks for syncing the explicit agents.list entry for the primary main agent during the sandbox config sync. This proposes a way to update the OpenClaw main agent model when nemoclaw inference set switches the gateway route while preserving secondary agent model overrides.


Related open issues:

@deepujain

Copy link
Copy Markdown
Contributor Author

Rebased on current main and moved the regression coverage into the new focused OpenClaw inference patch test. Build, typecheck, lint/checks, and focused inference Vitest all pass. Ready for another look.

@deepujain
deepujain force-pushed the fix/5822-openclaw-model-sync branch from 61e296e to 53a624c Compare July 3, 2026 01:52
@deepujain

Copy link
Copy Markdown
Contributor Author

Rebased on current main again. Build, typecheck, lint/checks, and focused OpenClaw inference tests pass; GitHub checks are green and the commit is verified.

@deepujain
deepujain force-pushed the fix/5822-openclaw-model-sync branch from 53a624c to 0cbb05c Compare July 6, 2026 10:49
@deepujain

Copy link
Copy Markdown
Contributor Author

Rebased on current main and refreshed the verified commit. Build, typecheck, lint/checks, conditional scan, and focused OpenClaw inference tests pass.

Fixes NVIDIA#5822

Signed-off-by: Deepak Jain <deepujain@gmail.com>
@deepujain
deepujain force-pushed the fix/5822-openclaw-model-sync branch from 0cbb05c to ec7bcbe Compare July 7, 2026 06:33
@deepujain

Copy link
Copy Markdown
Contributor Author

Rebased on current main and refreshed the verified commit. Build, typecheck, lint/checks, conditional scan, and focused OpenClaw inference tests pass.

@cv cv added the v0.0.77 label Jul 8, 2026

@cv cv left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the current-main head. The inference update synchronizes an explicit main agent model (or the default agent when no main entry exists) without mutating secondary agent models, with focused regression coverage. All current-head CI and contributor-compliance gates are green.

@prekshivyas prekshivyas self-assigned this Jul 8, 2026
@prekshivyas

Copy link
Copy Markdown
Collaborator

Advisor follow-up / maintainer disposition:

  • The GPT-5.5 advisor recommends merge_as_is with no required findings.
  • Nemotron's malformed-agents.list warning is not applicable as a correctness or security blocker. agents.list is optional in valid OpenClaw configurations, so absence is a normal case and should not emit a warning during every inference switch. The updater intentionally mutates only an existing string model; it does not invent a field or coerce an invalid non-string value. agents.defaults.model.primary is still updated in every valid call, so the supported fallback remains authoritative.
  • The explicit id: "main" and default-agent paths are both covered, including preservation of a secondary default: true override. CodeRabbit's earlier functional concern is resolved.
  • The architecture/JSDoc and higher-level mocked persistence items are non-blocking suggestions; the changed helper is pure, and the full CLI suite plus focused patch tests are green.
  • The E2E target advisor requires openclaw-inference-switch. It is dispatched against the exact PR SHA in run https://github.com/NVIDIA/NemoClaw/actions/runs/28929454796 and will be tracked to completion.

On this evidence, I accept the current defensive no-op behavior for missing or malformed optional list entries and do not want user-facing noise added for valid configs without agents.list.

@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

E2E Target Results — ✅ All requested jobs passed

Run: 28929454796
Workflow ref: ci/pr-5857-prekshivyas
Requested targets: (default — all supported)
Requested jobs: openclaw-inference-switch
Summary: 1 passed, 0 failed, 0 cancelled, 0 skipped

Job Result
openclaw-inference-switch ✅ success

@prekshivyas prekshivyas left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the config mutation and regression coverage. The canonical main agent is updated first, fallback only applies when no main entry exists, secondary overrides are preserved, standard CI is green, GPT-5.5 recommends merge-as-is, the Nemotron warning is explicitly dispositioned for optional agents.list behavior, and the required openclaw-inference-switch E2E passed in run 28929454796.

@ericksoa ericksoa added v0.0.78 and removed v0.0.77 labels Jul 8, 2026
@cv
cv merged commit 99d45b6 into NVIDIA:main Jul 8, 2026
108 checks passed
@cjagwani cjagwani mentioned this pull request Jul 9, 2026
21 tasks
cv pushed a commit that referenced this pull request Jul 9, 2026
<!-- markdownlint-disable MD041 -->
## Summary

Prepares the user documentation for NemoClaw v0.0.78 by replacing the
unreleased section with release highlights and synchronizing the
affected inference, lifecycle, messaging, and CLI reference pages with
merged behavior.

## Changes

- Publish the v0.0.78 release-notes section with links to the most
specific user guides for each shipped behavior.
- Document authoritative Deep Agents route health, Nemotron Ultra
profile behavior, and Hermes compatible-endpoint context metadata.
- Document forced rebuild recovery after total backup failure and the
ownership-safe tunnel/full-stop behavior.
- Keep command examples and shared agent variants aligned with the
current OpenClaw, Hermes, and Deep Agents interfaces.

Source mapping:

- [#3787](#3787) ->
`docs/about/release-notes.mdx`: Record reliable workspace template
seeding during sandbox startup.
- [#4960](#4960) ->
`docs/about/release-notes.mdx`: Record safer detection of rewritten
OpenClaw gateway processes.
- [#5676](#5676) ->
`docs/about/release-notes.mdx`: Record warning-tolerant agent-list JSON
handling.
- [#5857](#5857) ->
`docs/about/release-notes.mdx`: Record synchronization of explicit
OpenClaw main-agent model state.
- [#5929](#5929) ->
`docs/about/release-notes.mdx`: Record copyable SSH port-forward
guidance for remote dashboards.
- [#6068](#6068) ->
`docs/about/release-notes.mdx`: Record custom-image plugin provenance
reconciliation.
- [#6116](#6116) ->
`docs/about/release-notes.mdx`: Record live-loopback dashboard-forward
recovery.
- [#6122](#6122) ->
`docs/about/release-notes.mdx`: Announce validated, round-trippable
policy YAML output.
- [#6211](#6211) ->
`docs/manage-sandboxes/lifecycle.mdx`, `docs/reference/commands.mdx`,
`docs/about/release-notes.mdx`: Explain the explicit no-backup `rebuild
--force` recovery boundary.
- [#6283](#6283) ->
`docs/about/release-notes.mdx`: Record Hermes WebUI port alignment.
- [#6293](#6293) ->
`docs/inference/switch-inference-providers.mdx`,
`docs/about/release-notes.mdx`: Document compatible-endpoint
context-length probing for Hermes.
- [#6320](#6320) ->
`docs/about/release-notes.mdx`: Record bounded gateway-recovery waits.
- [#6377](#6377) ->
`docs/reference/commands.mdx`, `docs/about/release-notes.mdx`: Explain
rebuild diagnostics and prepared MCP-destroy recovery.
- [#6412](#6412) ->
`docs/get-started/quickstart-langchain-deepagents-code.mdx`,
`docs/about/release-notes.mdx`: Document authoritative agent-visible
inference route health.
- [#6421](#6421) ->
`docs/about/release-notes.mdx`: Record the longer quiet-pull window for
managed vLLM images.
- [#6431](#6431) ->
`docs/inference/model-capability-audit.mdx`,
`docs/about/release-notes.mdx`: Document the version-pinned Nemotron
Ultra profile plugin.
- [#6439](#6439) ->
`docs/about/release-notes.mdx`: Summarize the authenticated, pinned
credential-capture helper boundary.
- [#6450](#6450) ->
`docs/manage-sandboxes/messaging-channels.mdx`,
`docs/reference/commands.mdx`, `docs/about/release-notes.mdx`: Document
host-forward cleanup and ownership-safe gateway-port release.
- [#6474](#6474) ->
`docs/manage-sandboxes/messaging-channels.mdx`,
`docs/about/release-notes.mdx`: Record composable OpenClaw messaging
runtime loaders.
- [#6475](#6475) ->
`docs/about/release-notes.mdx`: Record removal of the unavailable Kimi
K2.6 production endpoint option.
- [#6480](#6480) ->
`docs/about/release-notes.mdx`: Record stderr routing for the plugin
registration banner.
- [#6481](#6481) ->
`docs/about/release-notes.mdx`: Record post-pull Ollama model discovery
checks.
- [#6482](#6482) ->
`docs/about/release-notes.mdx`: Record Ollama model warm-up after daemon
restart.
- [#6486](#6486) ->
`docs/about/release-notes.mdx`: Publish the opt-in, thread-scoped Deep
Agents auto-approval boundary.
- [#6490](#6490) ->
`docs/about/release-notes.mdx`: Record diagnostics for custom images
missing the managed runtime.
- [#6494](#6494) ->
`docs/inference/model-capability-audit.mdx`,
`docs/about/release-notes.mdx`: Document nonempty tool-call content
preservation and placeholder rejection.
- [#6497](#6497) ->
`docs/get-started/quickstart-langchain-deepagents-code.mdx`,
`docs/about/release-notes.mdx`: Document isolated Deep Agents
route-probe output.
- [#6506](#6506) ->
`docs/get-started/quickstart-langchain-deepagents-code.mdx`,
`docs/about/release-notes.mdx`: Document observability-preserving
managed route probes.
- [#6508](#6508) ->
`docs/about/release-notes.mdx`: Link the new extension taxonomy and
SDK-readiness reference from the release summary.

Release-source verification: GitHub reports all 29 cited source PRs as
merged with base `main`, and every merge commit is an ancestor of
`origin/main` at `17bf9a6a9688b3b1d69cf4b37d3f23110acb055e`. No
source-mapping mismatches were found.

## Type of Change

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

## Quality Gates

<!-- Check exactly one tests line and one docs line. Check other lines
when applicable. Add every requested justification or approval
reference. -->
- [ ] Tests added or updated for changed behavior
- [ ] Existing tests cover changed behavior — justification:
- [x] Tests not applicable — justification: Documentation-only
release-prep changes; `npm run docs` validates variants, routes, and
Fern content.
- [x] Docs updated for user-facing behavior changes
- [ ] Docs not applicable — justification:
- [ ] Sensitive paths changed (security, policy, credentials, preflight,
onboarding, inference, runner, sandbox, or messaging)
- [ ] Sensitive-path review completed or maintainer-approved waiver
recorded — reviewer/approval link/justification:
- [ ] Non-success, skipped, or missing CI check accepted by maintainer —
check name, approval link, and follow-up issue:

## Verification

<!-- Check each applicable item only when supported by the requested
evidence. Run targeted tests once per relevant change set and rerun
after later edits or hook autofixes that can affect the tested behavior.
Do not rerun hook-covered checks. -->
- [x] PR description includes the DCO sign-off declaration and every
commit appears as `Verified` in GitHub
- [x] Normal `pre-commit`, `commit-msg`, and `pre-push` hooks passed, or
`npm run check:diff` passed when hooks were skipped or unavailable
- [x] Targeted behavior tests pass for the current change set, or tests
are marked not applicable above — command/result or justification: Tests
are not applicable to this documentation-only change set.
- [ ] Applicable broad gate passed — `npm test` for broad
runtime/test-harness changes; `npm run check` for repo-wide
validation/coverage changes — command/result:
- [x] Quality Gates section completed with required justifications or
waivers
- [x] No secrets, API keys, or credentials committed
- [ ] `npm run docs` builds without warnings (doc changes only) — exited
0 with zero errors; Fern reported the existing unauthenticated
redirect-check and light-mode contrast warnings.
- [x] 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: Charan Jagwani <cjagwani@nvidia.com>

---------

Signed-off-by: cjagwani <cjagwani@nvidia.com>
Hadar301 pushed a commit to Hadar301/NemoClaw-OpenShift that referenced this pull request Jul 12, 2026
## Summary

Fixes NVIDIA#5822.

`nemoclaw inference set` already updated the OpenShell gateway route,
the registry, and `agents.defaults.model.primary` in
`/sandbox/.openclaw/openclaw.json`. It missed an explicit `agents.list`
entry for the primary `main` agent when that entry carried its own
`model`, so OpenClaw could keep reporting the old model even after
status and the gateway had moved to the new route.

This patch updates the explicit primary agent model during the same
sandbox config sync, while leaving secondary agent model overrides
alone.

## Changes

- `src/lib/actions/inference-set.ts`: sync `agents.list` entries for
`id: "main"` or `default: true` when they already have a `model`.
- `src/lib/actions/inference-set.test.ts`: add regression coverage for
the stale primary-agent model path.

## Testing

- `npx vitest run src/lib/actions/inference-set.test.ts` - 27 tests
passed.
- `npm run build:cli` - passed.
- `npm run typecheck:cli` - passed.
- `npm run source-shape:check` - passed outside the sandbox after `tsx`
hit a sandbox IPC permission error on its temp pipe.
- `npx @biomejs/biome format src/lib/actions/inference-set.ts
src/lib/actions/inference-set.test.ts` - passed.

## Evidence it works

The new regression test builds an OpenClaw config where
`agents.defaults.model.primary` and `agents.list[id=main].model` both
point at the old model. After `patchOpenClawInferenceConfig(...)`, both
primary identity fields point at the switched model, while the secondary
agent model remains unchanged. Before this patch, the explicit `main`
model stayed stale.

I did not run a live DGX Spark/OpenClaw TUI repro in this worktree, so
this PR covers the config-sync regression with focused unit evidence
rather than a full hardware-backed TUI smoke.

Signed-off-by: Deepak Jain <deepujain@gmail.com>


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

* **Bug Fixes**
* Updating the primary agent model now also updates the corresponding
primary entry in the agent list to keep the selected model consistent.
* Added improved handling when no dedicated main/default entry exists,
ensuring the default primary agent is updated correctly.
  * Non-primary agent entries keep their existing model and details.
* **Tests**
* Added test coverage for both the main-entry update scenario and the
fallback scenario when patching inference configuration.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Signed-off-by: Deepak Jain <deepujain@gmail.com>
Co-authored-by: Carlos Villela <cvillela@nvidia.com>
Hadar301 pushed a commit to Hadar301/NemoClaw-OpenShift that referenced this pull request Jul 12, 2026
<!-- markdownlint-disable MD041 -->
## Summary

Prepares the user documentation for NemoClaw v0.0.78 by replacing the
unreleased section with release highlights and synchronizing the
affected inference, lifecycle, messaging, and CLI reference pages with
merged behavior.

## Changes

- Publish the v0.0.78 release-notes section with links to the most
specific user guides for each shipped behavior.
- Document authoritative Deep Agents route health, Nemotron Ultra
profile behavior, and Hermes compatible-endpoint context metadata.
- Document forced rebuild recovery after total backup failure and the
ownership-safe tunnel/full-stop behavior.
- Keep command examples and shared agent variants aligned with the
current OpenClaw, Hermes, and Deep Agents interfaces.

Source mapping:

- [NVIDIA#3787](NVIDIA#3787) ->
`docs/about/release-notes.mdx`: Record reliable workspace template
seeding during sandbox startup.
- [NVIDIA#4960](NVIDIA#4960) ->
`docs/about/release-notes.mdx`: Record safer detection of rewritten
OpenClaw gateway processes.
- [NVIDIA#5676](NVIDIA#5676) ->
`docs/about/release-notes.mdx`: Record warning-tolerant agent-list JSON
handling.
- [NVIDIA#5857](NVIDIA#5857) ->
`docs/about/release-notes.mdx`: Record synchronization of explicit
OpenClaw main-agent model state.
- [NVIDIA#5929](NVIDIA#5929) ->
`docs/about/release-notes.mdx`: Record copyable SSH port-forward
guidance for remote dashboards.
- [NVIDIA#6068](NVIDIA#6068) ->
`docs/about/release-notes.mdx`: Record custom-image plugin provenance
reconciliation.
- [NVIDIA#6116](NVIDIA#6116) ->
`docs/about/release-notes.mdx`: Record live-loopback dashboard-forward
recovery.
- [NVIDIA#6122](NVIDIA#6122) ->
`docs/about/release-notes.mdx`: Announce validated, round-trippable
policy YAML output.
- [NVIDIA#6211](NVIDIA#6211) ->
`docs/manage-sandboxes/lifecycle.mdx`, `docs/reference/commands.mdx`,
`docs/about/release-notes.mdx`: Explain the explicit no-backup `rebuild
--force` recovery boundary.
- [NVIDIA#6283](NVIDIA#6283) ->
`docs/about/release-notes.mdx`: Record Hermes WebUI port alignment.
- [NVIDIA#6293](NVIDIA#6293) ->
`docs/inference/switch-inference-providers.mdx`,
`docs/about/release-notes.mdx`: Document compatible-endpoint
context-length probing for Hermes.
- [NVIDIA#6320](NVIDIA#6320) ->
`docs/about/release-notes.mdx`: Record bounded gateway-recovery waits.
- [NVIDIA#6377](NVIDIA#6377) ->
`docs/reference/commands.mdx`, `docs/about/release-notes.mdx`: Explain
rebuild diagnostics and prepared MCP-destroy recovery.
- [NVIDIA#6412](NVIDIA#6412) ->
`docs/get-started/quickstart-langchain-deepagents-code.mdx`,
`docs/about/release-notes.mdx`: Document authoritative agent-visible
inference route health.
- [NVIDIA#6421](NVIDIA#6421) ->
`docs/about/release-notes.mdx`: Record the longer quiet-pull window for
managed vLLM images.
- [NVIDIA#6431](NVIDIA#6431) ->
`docs/inference/model-capability-audit.mdx`,
`docs/about/release-notes.mdx`: Document the version-pinned Nemotron
Ultra profile plugin.
- [NVIDIA#6439](NVIDIA#6439) ->
`docs/about/release-notes.mdx`: Summarize the authenticated, pinned
credential-capture helper boundary.
- [NVIDIA#6450](NVIDIA#6450) ->
`docs/manage-sandboxes/messaging-channels.mdx`,
`docs/reference/commands.mdx`, `docs/about/release-notes.mdx`: Document
host-forward cleanup and ownership-safe gateway-port release.
- [NVIDIA#6474](NVIDIA#6474) ->
`docs/manage-sandboxes/messaging-channels.mdx`,
`docs/about/release-notes.mdx`: Record composable OpenClaw messaging
runtime loaders.
- [NVIDIA#6475](NVIDIA#6475) ->
`docs/about/release-notes.mdx`: Record removal of the unavailable Kimi
K2.6 production endpoint option.
- [NVIDIA#6480](NVIDIA#6480) ->
`docs/about/release-notes.mdx`: Record stderr routing for the plugin
registration banner.
- [NVIDIA#6481](NVIDIA#6481) ->
`docs/about/release-notes.mdx`: Record post-pull Ollama model discovery
checks.
- [NVIDIA#6482](NVIDIA#6482) ->
`docs/about/release-notes.mdx`: Record Ollama model warm-up after daemon
restart.
- [NVIDIA#6486](NVIDIA#6486) ->
`docs/about/release-notes.mdx`: Publish the opt-in, thread-scoped Deep
Agents auto-approval boundary.
- [NVIDIA#6490](NVIDIA#6490) ->
`docs/about/release-notes.mdx`: Record diagnostics for custom images
missing the managed runtime.
- [NVIDIA#6494](NVIDIA#6494) ->
`docs/inference/model-capability-audit.mdx`,
`docs/about/release-notes.mdx`: Document nonempty tool-call content
preservation and placeholder rejection.
- [NVIDIA#6497](NVIDIA#6497) ->
`docs/get-started/quickstart-langchain-deepagents-code.mdx`,
`docs/about/release-notes.mdx`: Document isolated Deep Agents
route-probe output.
- [NVIDIA#6506](NVIDIA#6506) ->
`docs/get-started/quickstart-langchain-deepagents-code.mdx`,
`docs/about/release-notes.mdx`: Document observability-preserving
managed route probes.
- [NVIDIA#6508](NVIDIA#6508) ->
`docs/about/release-notes.mdx`: Link the new extension taxonomy and
SDK-readiness reference from the release summary.

Release-source verification: GitHub reports all 29 cited source PRs as
merged with base `main`, and every merge commit is an ancestor of
`origin/main` at `17bf9a6a9688b3b1d69cf4b37d3f23110acb055e`. No
source-mapping mismatches were found.

## Type of Change

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

## Quality Gates

<!-- Check exactly one tests line and one docs line. Check other lines
when applicable. Add every requested justification or approval
reference. -->
- [ ] Tests added or updated for changed behavior
- [ ] Existing tests cover changed behavior — justification:
- [x] Tests not applicable — justification: Documentation-only
release-prep changes; `npm run docs` validates variants, routes, and
Fern content.
- [x] Docs updated for user-facing behavior changes
- [ ] Docs not applicable — justification:
- [ ] Sensitive paths changed (security, policy, credentials, preflight,
onboarding, inference, runner, sandbox, or messaging)
- [ ] Sensitive-path review completed or maintainer-approved waiver
recorded — reviewer/approval link/justification:
- [ ] Non-success, skipped, or missing CI check accepted by maintainer —
check name, approval link, and follow-up issue:

## Verification

<!-- Check each applicable item only when supported by the requested
evidence. Run targeted tests once per relevant change set and rerun
after later edits or hook autofixes that can affect the tested behavior.
Do not rerun hook-covered checks. -->
- [x] PR description includes the DCO sign-off declaration and every
commit appears as `Verified` in GitHub
- [x] Normal `pre-commit`, `commit-msg`, and `pre-push` hooks passed, or
`npm run check:diff` passed when hooks were skipped or unavailable
- [x] Targeted behavior tests pass for the current change set, or tests
are marked not applicable above — command/result or justification: Tests
are not applicable to this documentation-only change set.
- [ ] Applicable broad gate passed — `npm test` for broad
runtime/test-harness changes; `npm run check` for repo-wide
validation/coverage changes — command/result:
- [x] Quality Gates section completed with required justifications or
waivers
- [x] No secrets, API keys, or credentials committed
- [ ] `npm run docs` builds without warnings (doc changes only) — exited
0 with zero errors; Fern reported the existing unauthenticated
redirect-check and light-mode contrast warnings.
- [x] 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: Charan Jagwani <cjagwani@nvidia.com>

---------

Signed-off-by: cjagwani <cjagwani@nvidia.com>
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 bug-fix PR fixes a bug or regression

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[All Platforms][Inference] NemoClaw v0.0.67: nemoclaw inference set switches gateway model but OpenClaw agent still uses old model (6154913 regression)

5 participants