Skip to content

fix(inference): update DeepSeek V4 Flash recipe and default DGX Station to DeepSeek V4 Flash - #5825

Merged
cv merged 3 commits into
mainfrom
fix/dgx-station-deepseek-recipe
Jun 28, 2026
Merged

fix(inference): update DeepSeek V4 Flash recipe and default DGX Station to DeepSeek V4 Flash#5825
cv merged 3 commits into
mainfrom
fix/dgx-station-deepseek-recipe

Conversation

@zyang-dev

@zyang-dev zyang-dev commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Summary

Updates the DGX Station managed-vLLM profile to default to DeepSeek V4 Flash and fixes the DeepSeek V4 Flash serve recipe to address the observed accuracy issue.

Changes

  • Default DGX Station managed vLLM to deepseek-ai/DeepSeek-V4-Flash.
  • Remove the synthetic sampler setting from the DeepSeek V4 Flash speculative config to address the observed accuracy issue.
  • Update focused inference tests and user-facing docs/platform matrix references.

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)

Quality Gates

  • Tests added or updated for changed behavior
  • Existing tests cover changed behavior — justification:
  • Tests not applicable — justification:
  • 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: DeepSeek V4 Flash recipe approved by the DL team.
  • Non-success, skipped, or missing CI check accepted by maintainer — check name, approval link, and follow-up issue:

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)
  • Quality Gates section completed with required justifications or waivers
  • No secrets, API keys, or credentials committed
  • 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: zyang-dev 267119621+zyang-dev@users.noreply.github.com

Summary by CodeRabbit

  • New Features

    • Updated the default managed vLLM model for DGX Station to DeepSeek V4 Flash, with matching profile detection and startup behavior.
    • Simplified the DeepSeek V4 Flash launch configuration by reducing its speculative-config fields.
  • Bug Fixes

    • Corrected default model selection so DGX Station and related profiles now use the intended model consistently.
  • Documentation

    • Refreshed quickstart, inference, and platform-support docs to reflect the new DGX Station default and platform-specific defaults.

…on to DeepSeek V4 Flash

Signed-off-by: zyang-dev <267119621+zyang-dev@users.noreply.github.com>
Signed-off-by: zyang-dev <267119621+zyang-dev@users.noreply.github.com>
@coderabbitai

coderabbitai Bot commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: aeeb33d5-c946-4fa4-af63-d676c22fcff2

📥 Commits

Reviewing files that changed from the base of the PR and between a6921a8 and 2c7a617.

📒 Files selected for processing (4)
  • ci/platform-matrix.json
  • docs/get-started/quickstart.mdx
  • docs/inference/inference-options.mdx
  • docs/reference/platform-support.mdx
✅ Files skipped from review due to trivial changes (2)
  • ci/platform-matrix.json
  • docs/reference/platform-support.mdx
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/inference/inference-options.mdx

📝 Walkthrough

Walkthrough

DGX Station’s managed vLLM default model changes to DeepSeek V4 Flash across runtime selection, tests, and documentation. The DeepSeek V4 Flash registry entry also updates its speculative-config payload.

Changes

DGX Station DeepSeek default rollout

Layer / File(s) Summary
Station default resolution
src/lib/inference/vllm.ts, src/lib/inference/vllm-models.ts
STATION_PROFILE now resolves DeepSeek-V4-Flash, and the DeepSeek V4 Flash registry entry keeps only the mtp speculative-config fields.
Profile and model tests
src/lib/inference/model-prompts.test.ts, src/lib/inference/vllm-models.test.ts, src/lib/inference/vllm.test.ts, test/detect-vllm-profile.test.ts
Profile detection tests and model-prompt fixtures now assert DeepSeek V4 Flash defaults, and the DeepSeek speculative-config test matches the reduced payload.
Docs and platform references
ci/platform-matrix.json, docs/get-started/quickstart.mdx, docs/inference/inference-options.mdx, docs/reference/platform-support.mdx
Quickstart text, inference-option tables, platform support references, and the CI platform matrix update DGX Station default-model references to DeepSeek V4 Flash.

Sequence Diagram(s)

sequenceDiagram
  participant detectVllmProfile
  participant STATION_PROFILE
  participant deepseekV4FlashModel
  participant VLLM_MODELS
  detectVllmProfile->>STATION_PROFILE: reads defaultModel
  STATION_PROFILE->>deepseekV4FlashModel: resolves Station default
  deepseekV4FlashModel->>VLLM_MODELS: searches envValue "deepseek-v4-flash"
  VLLM_MODELS-->>deepseekV4FlashModel: returns DeepSeek-V4-Flash entry
  deepseekV4FlashModel-->>STATION_PROFILE: supplies defaultModel
  STATION_PROFILE-->>detectVllmProfile: returns profile
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Suggested labels

bug-fix

Suggested reviewers

  • cv
  • jyaunches

Poem

🐇 The Station chose a DeepSeek tune,
with tests that hop beneath the moon.
The docs all blinked and tables rhymed,
while speculative tokens stayed aligned.

🚥 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 accurately captures the two main changes: the DeepSeek V4 Flash recipe fix and the DGX Station default switch to DeepSeek V4 Flash.
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.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/dgx-station-deepseek-recipe

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

@github-code-quality

github-code-quality Bot commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Code Coverage Overview

Languages: TypeScript

TypeScript / code-coverage/plugin

The overall coverage in the fix/dgx-station-deep... 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/dgx-station-deep... 2c7a617 +/-
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/dgx-station-deep... 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/dgx-station-deep... 2c7a617 +/-
src/lib/state/o...oard-session.ts 91%
src/lib/actions...dbox/rebuild.ts 73%
src/lib/sandbox/config.ts 72%
src/lib/onboard/preflight.ts 62%
src/lib/shields/index.ts 62%
src/lib/actions...licy-channel.ts 60%
src/lib/state/sandbox.ts 56%
src/lib/policy/index.ts 48%
src/lib/onboard...er-gpu-patch.ts 47%
src/lib/onboard.ts 19%

Updated June 26, 2026 20:34 UTC
Code Coverage is in Public Preview. Learn more and provide us with your feedback.

@github-actions

Copy link
Copy Markdown
Contributor

@github-actions

github-actions Bot commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

E2E Advisor Recommendation

Required E2E: gpu-e2e, inference-routing-e2e
Optional E2E: cloud-onboard-e2e, spark-install-vitest

Dispatch hint: gpu-e2e,inference-routing-e2e

Workflow run

Full advisor summary

E2E Recommendation Advisor

Base: origin/main
Head: HEAD
Confidence: high

Required E2E

  • gpu-e2e (high): This is the closest existing live GPU/local-inference E2E. The PR changes managed local inference behavior on NVIDIA GPU hosts; although this job uses Ollama rather than vLLM, it exercises GPU-host onboarding, local provider setup, sandbox launch, and real local inference on a GPU runner.
  • inference-routing-e2e (medium): Managed vLLM ultimately registers an OpenAI-compatible local provider behind inference.local. This E2E validates provider-routed inference, credential isolation, and routing/error boundaries across the OpenShell gateway, which are core to the affected local inference route.

Optional E2E

  • cloud-onboard-e2e (high): Optional broad confidence for the onboarding wizard and sandbox creation path. The code change is specific to managed vLLM and should not affect hosted onboarding, but a full hosted onboard can catch accidental regressions in shared provider/onboard plumbing.
  • spark-install-vitest (medium): Optional install-path smoke coverage for the Spark-class onboarding/installer surface mentioned in the same express-install docs. It does not validate DGX Station vLLM, but it gives adjacent confidence for platform-specific install behavior.

New E2E recommendations

  • managed local vLLM on DGX Station (high): No existing E2E appears to exercise NEMOCLAW_PROVIDER=install-vllm on a DGX Station/GB300 profile, verify that DeepSeek V4 Flash is selected by default, start the managed vLLM container with the registry serve flags, wait for /v1/models readiness, and complete an inference.local-routed assistant request.
    • Suggested test: managed-vllm-station-e2e
  • managed local vLLM profile matrix (medium): Existing coverage is primarily unit-level for detectVllmProfile and serve-command construction. A live or semi-live E2E that runs the install-vllm path against mocked/fixture vLLM readiness for Spark, Station, and generic Linux NVIDIA profiles would catch profile/default drift without requiring full model downloads for every PR.
    • Suggested test: managed-vllm-profile-e2e

Dispatch hint

  • Workflow: .github/workflows/nightly-e2e.yaml
  • jobs input: gpu-e2e,inference-routing-e2e

@github-actions

github-actions Bot commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Vitest E2E Scenario Recommendation

Required Vitest E2E scenarios: None
Optional Vitest E2E scenarios: None

Workflow run

Full Vitest E2E advisor summary

Vitest E2E Scenario Advisor

Base: origin/main
Head: HEAD
Confidence: high

Required Vitest E2E scenarios

  • None. This PR changes managed vLLM profile/model defaults and related docs/unit tests, but the current Vitest scenario workflow has no live-supported typed scenario or wired free-standing job that exercises NEMOCLAW_PROVIDER=install-vllm or the DGX Station managed-vLLM path. Existing GPU/Spark Vitest jobs are Ollama/cloud adjacent and would not prove this changed surface.

Optional Vitest E2E scenarios

  • None.

Relevant changed files

  • src/lib/inference/vllm-models.ts
  • src/lib/inference/vllm.ts

@github-actions

github-actions Bot commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

PR Review Advisor — Changes requested

Merge posture: Do not merge yet
Primary next action: Resolve or justify PRA-1: Pin or explicitly justify the trusted remote-code Station default.
Open items: 0 required · 1 warning · 0 suggestions · 3 test follow-ups
Since last review: 0 prior items resolved · 1 still applies · 0 new items found

Action checklist

  • PRA-1 Resolve or justify: Pin or explicitly justify the trusted remote-code Station default in src/lib/inference/vllm-models.ts:343
  • PRA-T1 Add or justify test follow-up: Runtime validation
  • PRA-T2 Add or justify test follow-up: Runtime validation
  • PRA-T3 Add or justify test follow-up: Runtime validation

Findings index

ID Severity Category Location Required action
PRA-1 Resolve/justify security src/lib/inference/vllm-models.ts:343 Pin the default model to a reviewed Hugging Face commit/revision and pass the same revision to both `hf download` and `vllm serve`, or add an explicit in-code trusted-default allowlist with a review note that maintainers must update when changing defaults.
Review findings by urgency: 0 required fixes, 1 item to resolve/justify, 0 in-scope improvements

⚠️ Resolve or justify before merge

Investigate these in the current review; either fix them, explain why they are not applicable, or document the accepted risk.

PRA-1 Resolve/justify — Pin or explicitly justify the trusted remote-code Station default

  • Location: src/lib/inference/vllm-models.ts:343
  • Category: security
  • Problem: DGX Station now defaults to `deepseek-ai/DeepSeek-V4-Flash`, and the shared vLLM serve arguments still include `--trust-remote-code`. The model id is not pinned to a reviewed Hugging Face revision and there is no explicit trusted-default allowlist or in-code review note for this default.
  • Impact: A future upstream change to the Hugging Face repository can execute inside the managed vLLM container during default DGX Station onboarding or express install. That expands the installer/runtime supply-chain trust boundary from an explicit override to the default path.
  • Recommended action: Pin the default model to a reviewed Hugging Face commit/revision and pass the same revision to both `hf download` and `vllm serve`, or add an explicit in-code trusted-default allowlist with a review note that maintainers must update when changing defaults.
  • Expected follow-up: Resolve in this PR or explain why the risk is acceptable.
  • Verification: Read `src/lib/inference/vllm.ts` around `STATION_PROFILE.defaultModel` to confirm Station selects `deepseekV4FlashModel()`, then read `src/lib/inference/vllm-models.ts` around the DeepSeek V4 Flash entry and `SHARED_VLLM_ARGS` to confirm there is no revision field and `--trust-remote-code` is still always included.
  • Missing regression test: Add a unit test that every managed-vLLM profile default whose generated serve command contains `--trust-remote-code` either carries a pinned revision used by both download and serve command generation or is listed in an explicit trusted-default allowlist with a non-empty review justification.
  • Done when: The risk is fixed or explicitly justified in the PR. Verification: Read `src/lib/inference/vllm.ts` around `STATION_PROFILE.defaultModel` to confirm Station selects `deepseekV4FlashModel()`, then read `src/lib/inference/vllm-models.ts` around the DeepSeek V4 Flash entry and `SHARED_VLLM_ARGS` to confirm there is no revision field and `--trust-remote-code` is still always included.
  • Evidence: `src/lib/inference/vllm.ts` changes the Station profile default to `deepseekV4FlashModel()`. `src/lib/inference/vllm-models.ts` defines `id: "deepseek-ai/DeepSeek-V4-Flash"` without a revision and `SHARED_VLLM_ARGS` includes `"--trust-remote-code"`.

💡 In-scope improvements

These are lower-risk, not throwaway. Prefer fixing them in this PR when they are local to changed code; defer only with rationale or a linked follow-up.

  • None.
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 — On a Station-class managed-vLLM profile, validate that `NEMOCLAW_PROVIDER=install-vllm` with non-interactive onboarding starts `deepseek-ai/DeepSeek-V4-Flash` using the simplified speculative config and reaches `/v1/models`.. Static unit tests cover profile selection, command generation, picker behavior, and docs references. The changed behavior still launches a real managed vLLM Docker container, downloads Hugging Face model content, executes model remote code, and waits for `/v1/models`, so runtime compatibility and readiness remain sensitive.
  • PRA-T2 Runtime validation — Add a unit test that `installVllm` with a DGX Station profile in non-interactive mode logs `Model: deepseek-ai/DeepSeek-V4-Flash`, skips the picker, and treats the model as the profile default rather than a `NEMOCLAW_VLLM_MODEL` override.. Static unit tests cover profile selection, command generation, picker behavior, and docs references. The changed behavior still launches a real managed vLLM Docker container, downloads Hugging Face model content, executes model remote code, and waits for `/v1/models`, so runtime compatibility and readiness remain sensitive.
  • PRA-T3 Runtime validation — Add a security regression that managed-vLLM profile defaults served with `--trust-remote-code` must be pinned to a reviewed revision or included in an explicit trusted-default allowlist with a review note.. Static unit tests cover profile selection, command generation, picker behavior, and docs references. The changed behavior still launches a real managed vLLM Docker container, downloads Hugging Face model content, executes model remote code, and waits for `/v1/models`, so runtime compatibility and readiness remain sensitive.
Since last review details

Current findings, using the urgency labels above:

PRA-1 Resolve/justify — Pin or explicitly justify the trusted remote-code Station default

  • Location: src/lib/inference/vllm-models.ts:343
  • Category: security
  • Problem: DGX Station now defaults to `deepseek-ai/DeepSeek-V4-Flash`, and the shared vLLM serve arguments still include `--trust-remote-code`. The model id is not pinned to a reviewed Hugging Face revision and there is no explicit trusted-default allowlist or in-code review note for this default.
  • Impact: A future upstream change to the Hugging Face repository can execute inside the managed vLLM container during default DGX Station onboarding or express install. That expands the installer/runtime supply-chain trust boundary from an explicit override to the default path.
  • Recommended action: Pin the default model to a reviewed Hugging Face commit/revision and pass the same revision to both `hf download` and `vllm serve`, or add an explicit in-code trusted-default allowlist with a review note that maintainers must update when changing defaults.
  • Expected follow-up: Resolve in this PR or explain why the risk is acceptable.
  • Verification: Read `src/lib/inference/vllm.ts` around `STATION_PROFILE.defaultModel` to confirm Station selects `deepseekV4FlashModel()`, then read `src/lib/inference/vllm-models.ts` around the DeepSeek V4 Flash entry and `SHARED_VLLM_ARGS` to confirm there is no revision field and `--trust-remote-code` is still always included.
  • Missing regression test: Add a unit test that every managed-vLLM profile default whose generated serve command contains `--trust-remote-code` either carries a pinned revision used by both download and serve command generation or is listed in an explicit trusted-default allowlist with a non-empty review justification.
  • Done when: The risk is fixed or explicitly justified in the PR. Verification: Read `src/lib/inference/vllm.ts` around `STATION_PROFILE.defaultModel` to confirm Station selects `deepseekV4FlashModel()`, then read `src/lib/inference/vllm-models.ts` around the DeepSeek V4 Flash entry and `SHARED_VLLM_ARGS` to confirm there is no revision field and `--trust-remote-code` is still always included.
  • Evidence: `src/lib/inference/vllm.ts` changes the Station profile default to `deepseekV4FlashModel()`. `src/lib/inference/vllm-models.ts` defines `id: "deepseek-ai/DeepSeek-V4-Flash"` without a revision and `SHARED_VLLM_ARGS` includes `"--trust-remote-code"`.

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.

@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.

🧹 Nitpick comments (1)
docs/reference/platform-support.mdx (1)

84-84: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Use present tense in this platform note.

Line 84 says the row will move out of deferred, but the docs style guide asks for present tense in current-behavior descriptions. State the current condition without the future-tense phrasing. As per path instructions, "Present tense. Flag future tense (will) in descriptions of current behavior."

🤖 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 `@docs/reference/platform-support.mdx` at line 84, The platform-support note
uses future tense for current behavior in the DGX Station row. Update the
description in the platform support table to use present tense only, and remove
the “will move out of deferred” phrasing while keeping the current deferred
status and validation context clear. Locate the DGX Station entry in the
platform-support markdown table and rewrite that sentence to describe the
present condition directly.

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.

Nitpick comments:
In `@docs/reference/platform-support.mdx`:
- Line 84: The platform-support note uses future tense for current behavior in
the DGX Station row. Update the description in the platform support table to use
present tense only, and remove the “will move out of deferred” phrasing while
keeping the current deferred status and validation context clear. Locate the DGX
Station entry in the platform-support markdown table and rewrite that sentence
to describe the present condition directly.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: b164cbe7-19e9-4717-9745-450825070a5a

📥 Commits

Reviewing files that changed from the base of the PR and between 3965669 and a6921a8.

📒 Files selected for processing (10)
  • ci/platform-matrix.json
  • docs/get-started/quickstart.mdx
  • docs/inference/inference-options.mdx
  • docs/reference/platform-support.mdx
  • src/lib/inference/model-prompts.test.ts
  • src/lib/inference/vllm-models.test.ts
  • src/lib/inference/vllm-models.ts
  • src/lib/inference/vllm.test.ts
  • src/lib/inference/vllm.ts
  • test/detect-vllm-profile.test.ts

@zyang-dev

Copy link
Copy Markdown
Contributor Author

Response to PR Advisor:
PRA-1:
Justified: accept the unpinned trusted remote-code default for this profile.
DeepSeek V4 Flash requires --trust-remote-code in the validated vLLM serving recipe because vLLM loads DeepSeek-specific modeling and tokenizer code for this checkpoint. This is intrinsic to the supported serving path for the DGX Station recipe, not a convenience flag added by NemoClaw.
The bare Hugging Face repo id is the DL-team-approved recipe for this PR. Pinning a revision would diverge from that approved recipe and would freeze future upstream fixes, such as tokenizer, chat-template, weight-shard, or modeling-code corrections, behind a manual NemoClaw update.

PRA-T1 resolved by manual verification on DGX Station. Verified managed vLLM starts deepseek-ai/DeepSeek-V4-Flash successfully; this is not added as an automated PR test because it requires DGX Station hardware and a long-running model startup.

PRA-T2 justified: existing focused tests cover the changed behavior without duplicating the installVllm control-flow test. src/lib/inference/vllm.test.ts asserts the Station profile default is deepseek-ai/DeepSeek-V4-Flash, src/lib/inference/model-prompts.test.ts sets the Station default fixture to deepseek-v4-flash, and src/lib/inference/vllm-models.test.ts asserts the generated DeepSeek serve command. The existing non-interactive installVllm test already verifies that non-interactive mode uses profile.defaultModel and skips the picker; the Station change is data carried by profile.defaultModel, not a new branch in installVllm.

PRA-T3 justified for this PR: the unpinned --trust-remote-code risk is accepted explicitly for this DGX Station default because DeepSeek V4 Flash requires trusted remote code in the DL-team-approved vLLM recipe. Pinning is not applied here because the approved recipe uses the bare Hugging Face repo id, and pinning would diverge from the DL-team-approved serving path by freezing tokenizer, chat-template, shard, and modeling-code updates behind manual NemoClaw bumps. This accepted-risk rationale is documented in the PR sensitive-path justification.

@zyang-dev zyang-dev added v0.0.69 platform: dgx-station Affects DGX Station hardware or workflows provider: vllm vLLM local or hosted provider behavior labels Jun 26, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Selective E2E Results — ✅ All requested jobs passed

Run: 28261738296
Target ref: fix/dgx-station-deepseek-recipe
Requested jobs: cloud-onboard-e2e,inference-routing-e2e
Summary: 2 passed, 0 failed, 0 cancelled, 0 skipped

Job Result
cloud-onboard-e2e ✅ success
inference-routing-e2e ✅ success

Keep DGX Station deepseek-v4-flash default from this branch while
adopting main's two-sentence split for the policy tier description.

Co-authored-by: zyang-dev <zyang-dev@users.noreply.github.com>

Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>

@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

🤖 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 `@docs/get-started/quickstart.mdx`:
- Around line 59-60: The resume example in the quickstart uses a hard-coded CLI
name, which breaks alias-agnostic docs. Update the onboarding recovery command
in the quickstart content to use the shared host-command placeholder symbol
`$$nemoclaw` instead of `nemoclaw`, so the rendered example expands correctly
across aliases.
🪄 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: aeeb33d5-c946-4fa4-af63-d676c22fcff2

📥 Commits

Reviewing files that changed from the base of the PR and between a6921a8 and 2c7a617.

📒 Files selected for processing (4)
  • ci/platform-matrix.json
  • docs/get-started/quickstart.mdx
  • docs/inference/inference-options.mdx
  • docs/reference/platform-support.mdx
✅ Files skipped from review due to trivial changes (2)
  • ci/platform-matrix.json
  • docs/reference/platform-support.mdx
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/inference/inference-options.mdx

@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.

Caution

Inline review comments failed to post. This is likely due to GitHub's internal server error or limits when posting large numbers of comments. If you are seeing this consistently it is likely a permissions issue. Please check "Moderation" -> "Code review limits" under your organization settings.

Actionable comments posted: 1

🤖 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 `@docs/get-started/quickstart.mdx`:
- Around line 59-60: The resume example in the quickstart uses a hard-coded CLI
name, which breaks alias-agnostic docs. Update the onboarding recovery command
in the quickstart content to use the shared host-command placeholder symbol
`$$nemoclaw` instead of `nemoclaw`, so the rendered example expands correctly
across aliases.
🪄 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: aeeb33d5-c946-4fa4-af63-d676c22fcff2

📥 Commits

Reviewing files that changed from the base of the PR and between a6921a8 and 2c7a617.

📒 Files selected for processing (4)
  • ci/platform-matrix.json
  • docs/get-started/quickstart.mdx
  • docs/inference/inference-options.mdx
  • docs/reference/platform-support.mdx
✅ Files skipped from review due to trivial changes (2)
  • ci/platform-matrix.json
  • docs/reference/platform-support.mdx
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/inference/inference-options.mdx
🛑 Comments failed to post (1)
docs/get-started/quickstart.mdx (1)

59-60: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Use $$nemoclaw in the resume example.

This command is alias-agnostic, so hard-coding nemoclaw will render the wrong command name in shared docs. As per path instructions, use $$nemoclaw for host CLI command examples that should expand across NemoClaw aliases.

🔧 Proposed fix
-If a scripted installer rerun finds a failed onboarding session, choose whether to discard the saved state with `--fresh` or retry it with `nemoclaw onboard --resume`.
+If a scripted installer rerun finds a failed onboarding session, choose whether to discard the saved state with `--fresh` or retry it with `$$nemoclaw onboard --resume`.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

If a scripted installer rerun finds a failed onboarding session, choose whether to discard the saved state with `--fresh` or retry it with `$$nemoclaw onboard --resume`.
For the recovery commands, refer to [Previous onboarding session failed](../reference/troubleshooting#previous-onboarding-session-failed).
🤖 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 `@docs/get-started/quickstart.mdx` around lines 59 - 60, The resume example in
the quickstart uses a hard-coded CLI name, which breaks alias-agnostic docs.
Update the onboarding recovery command in the quickstart content to use the
shared host-command placeholder symbol `$$nemoclaw` instead of `nemoclaw`, so
the rendered example expands correctly across aliases.

Source: Path instructions

@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.

PRA-1 justification accepted: --trust-remote-code is intrinsic to the vLLM serving path for DeepSeek V4 Flash; the bare HF repo ID is the DL-team-approved recipe and pinning a revision would freeze upstream tokenizer/weight fixes. PRA-T1/T2/T3 resolved by manual DGX Station verification per author comment. E2E green (cloud-onboard-e2e, inference-routing-e2e). Conflicts resolved.

@github-actions

github-actions Bot commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

PR Review Advisor (Nemotron Ultra) — 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 · 2 test follow-ups
Since last review: 0 prior items resolved · 0 still apply · 0 new items found

Action checklist

  • PRA-T1 Add or justify test follow-up: Runtime validation
  • PRA-T2 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 — Runtime: installVllm on DGX Station hardware pulls nvcr.io/nvidia/vllm:26.05.post1-py3, downloads deepseek-ai/DeepSeek-V4-Flash, starts on port 8000, /v1/models returns model, /v1/chat/completions responds. Unit tests comprehensive across 4 test files (73 test blocks) covering model selection, command building, profile detection, and picker behavior. Runtime validation on DGX Station hardware needed to verify DeepSeek V4 Flash image pull, model download, vLLM startup, and MTP speculative decoding accuracy without synthetic sampler — but this is expected for hardware-dependent inference changes and not a unit test gap.
  • PRA-T2 Runtime validation — Runtime: Speculative decoding MTP works without synthetic rejection sampling (accuracy verification). Unit tests comprehensive across 4 test files (73 test blocks) covering model selection, command building, profile detection, and picker behavior. Runtime validation on DGX Station hardware needed to verify DeepSeek V4 Flash image pull, model download, vLLM startup, and MTP speculative decoding accuracy without synthetic sampler — but this is expected for hardware-dependent inference changes and not a unit test gap.

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.

@cv
cv merged commit 8b3af88 into main Jun 28, 2026
47 checks passed
@cv
cv deleted the fix/dgx-station-deepseek-recipe branch June 28, 2026 06:29
cv pushed a commit that referenced this pull request Jun 29, 2026
## Summary
Adds the v0.0.69 release notes to the published release-notes page so
users can see the shipped sandbox recovery, Deep Agents Code, Hermes,
inference, policy, and release-validation changes.
The section is based on the v0.0.69 announcement and links each
user-facing theme to the deeper docs pages that already cover the
behavior.

## Changes
- Added a new `v0.0.69` section to `docs/about/release-notes.mdx`.
- Linked release-note themes to lifecycle, backup, troubleshooting, Deep
Agents Code, commands, workspace, messaging, Hermes, inference,
security, monitoring, and network-policy docs.

Source summary:
- #5455 -> `docs/about/release-notes.mdx`: Summarized persistent
workspace and state cleanup during sandbox destroy.
- #5738 -> `docs/about/release-notes.mdx`: Summarized nonzero exit
status preservation for failed hosted endpoint validation.
- #5786 -> `docs/about/release-notes.mdx`: Summarized live sandbox
rediscovery when local registry state is missing.
- #5881 -> `docs/about/release-notes.mdx`: Summarized the
`nemo-deepagents` alias command surface.
- #5594 -> `docs/about/release-notes.mdx`: Summarized the Hermes Agent
2026.6.19 update.
- #5777 -> `docs/about/release-notes.mdx`: Summarized manifest-derived
messaging channel support.
- #5825 -> `docs/about/release-notes.mdx`: Summarized DeepSeek V4 Flash
managed-vLLM defaults for DGX Station.
- #5877 -> `docs/about/release-notes.mdx`: Summarized provider switch
metadata preservation.
- #5932 -> `docs/about/release-notes.mdx`: Summarized transient
inference smoke retry behavior.
- #5934 -> `docs/about/release-notes.mdx`: Summarized constrained
inference smoke retry boundaries.
- #5681 -> `docs/about/release-notes.mdx`: Summarized Shields
config-hash sealing during auto-restore.
- #5682 -> `docs/about/release-notes.mdx`: Summarized sandbox connect
process-limit enforcement.
- #5683 -> `docs/about/release-notes.mdx`: Summarized JSON agent failure
provenance warnings.
- #5711 -> `docs/about/release-notes.mdx`: Summarized sparse-source log
breadcrumbs.
- #5838 -> `docs/about/release-notes.mdx`: Summarized host-authoritative
Shields status.
- #5880 -> `docs/about/release-notes.mdx`: Summarized policy round-trip
documentation updates.
- #5886 -> `docs/about/release-notes.mdx`: Summarized network request
approval-flow documentation updates.

## Type of Change

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

## Quality Gates
- [ ] Tests added or updated for changed behavior
- [ ] Existing tests cover changed behavior — justification:
- [x] Tests not applicable — justification: doc-only release-notes
prose; no runtime behavior changed.
- [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
- [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
- [ ] Targeted tests pass for changed behavior
- [ ] Full `npm test` passes (broad runtime changes only)
- [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)
- [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)

`npm run docs` passed with 0 errors and the existing Fern light-mode
accent contrast warning.
`fern check --warnings` reported the same accent-color warning.

---
Signed-off-by: Miyoung Choi <miyoungc@nvidia.com>

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

* **Documentation**
* Added release notes for **v0.0.69**, covering improved sandbox
lifecycle recovery (state preservation across
destroy/recreate/rebuild/recovery/validation failures), clearer Deep
Agents Code terminal/CLI behavior, and safer Hermes messaging/provider
switching with manifest-driven channels.
* Improved inference setup validation guidance, including handling of
local/compatible endpoints and redaction of sensitive validation errors.
* Refreshed release-gate documentation with clearer approval examples
and validation behavior for NVIDIA API keys vs hosted inference keys.
<!-- 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
…on to DeepSeek V4 Flash (NVIDIA#5825)

<!-- markdownlint-disable MD041 -->
## Summary
<!-- 1-3 sentences: what this PR does and why. -->
Updates the DGX Station managed-vLLM profile to default to DeepSeek V4
Flash and fixes the DeepSeek V4 Flash serve recipe to address the
observed accuracy issue.

## Changes
<!-- Bullet list of key changes. -->
- Default DGX Station managed vLLM to `deepseek-ai/DeepSeek-V4-Flash`.
- Remove the synthetic sampler setting from the DeepSeek V4 Flash
speculative config to address the observed accuracy issue.
- Update focused inference tests and user-facing docs/platform matrix
references.

## Type of Change

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

## Quality Gates
<!-- Check all that apply. For any "covered by existing tests", "not
applicable", or waiver entry, add a brief justification on the same line
or in the Changes section. -->
- [x] Tests added or updated for changed behavior
- [ ] Existing tests cover changed behavior — justification:
- [ ] Tests not applicable — justification:
- [x] Docs updated for user-facing behavior changes
- [ ] Docs not applicable — justification:
- [x] Sensitive paths changed (security, policy, credentials, preflight,
onboarding, inference, runner, sandbox, or messaging)
- [x] Sensitive-path review completed or maintainer-approved waiver
recorded — reviewer/approval link/justification: DeepSeek V4 Flash
recipe approved by the DL team.
- [ ] Non-success, skipped, or missing CI check accepted by maintainer —
check name, approval link, and follow-up issue:

## Verification
<!-- Check each item you ran and confirmed. Leave unchecked items you
skipped. Doc-only changes do not require npm test unless you ran it. -->
- [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] 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)
- [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: zyang-dev <267119621+zyang-dev@users.noreply.github.com>


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

* **New Features**
* Updated the default managed vLLM model for DGX Station to DeepSeek V4
Flash, with matching profile detection and startup behavior.
* Simplified the DeepSeek V4 Flash launch configuration by reducing its
speculative-config fields.

* **Bug Fixes**
* Corrected default model selection so DGX Station and related profiles
now use the intended model consistently.

* **Documentation**
* Refreshed quickstart, inference, and platform-support docs to reflect
the new DGX Station default and platform-specific defaults.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: zyang-dev <267119621+zyang-dev@users.noreply.github.com>
Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
Co-authored-by: Prekshi Vyas <prekshiv@nvidia.com>
Hadar301 pushed a commit to Hadar301/NemoClaw-OpenShift that referenced this pull request Jul 12, 2026
## Summary
Adds the v0.0.69 release notes to the published release-notes page so
users can see the shipped sandbox recovery, Deep Agents Code, Hermes,
inference, policy, and release-validation changes.
The section is based on the v0.0.69 announcement and links each
user-facing theme to the deeper docs pages that already cover the
behavior.

## Changes
- Added a new `v0.0.69` section to `docs/about/release-notes.mdx`.
- Linked release-note themes to lifecycle, backup, troubleshooting, Deep
Agents Code, commands, workspace, messaging, Hermes, inference,
security, monitoring, and network-policy docs.

Source summary:
- NVIDIA#5455 -> `docs/about/release-notes.mdx`: Summarized persistent
workspace and state cleanup during sandbox destroy.
- NVIDIA#5738 -> `docs/about/release-notes.mdx`: Summarized nonzero exit
status preservation for failed hosted endpoint validation.
- NVIDIA#5786 -> `docs/about/release-notes.mdx`: Summarized live sandbox
rediscovery when local registry state is missing.
- NVIDIA#5881 -> `docs/about/release-notes.mdx`: Summarized the
`nemo-deepagents` alias command surface.
- NVIDIA#5594 -> `docs/about/release-notes.mdx`: Summarized the Hermes Agent
2026.6.19 update.
- NVIDIA#5777 -> `docs/about/release-notes.mdx`: Summarized manifest-derived
messaging channel support.
- NVIDIA#5825 -> `docs/about/release-notes.mdx`: Summarized DeepSeek V4 Flash
managed-vLLM defaults for DGX Station.
- NVIDIA#5877 -> `docs/about/release-notes.mdx`: Summarized provider switch
metadata preservation.
- NVIDIA#5932 -> `docs/about/release-notes.mdx`: Summarized transient
inference smoke retry behavior.
- NVIDIA#5934 -> `docs/about/release-notes.mdx`: Summarized constrained
inference smoke retry boundaries.
- NVIDIA#5681 -> `docs/about/release-notes.mdx`: Summarized Shields
config-hash sealing during auto-restore.
- NVIDIA#5682 -> `docs/about/release-notes.mdx`: Summarized sandbox connect
process-limit enforcement.
- NVIDIA#5683 -> `docs/about/release-notes.mdx`: Summarized JSON agent failure
provenance warnings.
- NVIDIA#5711 -> `docs/about/release-notes.mdx`: Summarized sparse-source log
breadcrumbs.
- NVIDIA#5838 -> `docs/about/release-notes.mdx`: Summarized host-authoritative
Shields status.
- NVIDIA#5880 -> `docs/about/release-notes.mdx`: Summarized policy round-trip
documentation updates.
- NVIDIA#5886 -> `docs/about/release-notes.mdx`: Summarized network request
approval-flow documentation updates.

## Type of Change

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

## Quality Gates
- [ ] Tests added or updated for changed behavior
- [ ] Existing tests cover changed behavior — justification:
- [x] Tests not applicable — justification: doc-only release-notes
prose; no runtime behavior changed.
- [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
- [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
- [ ] Targeted tests pass for changed behavior
- [ ] Full `npm test` passes (broad runtime changes only)
- [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)
- [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)

`npm run docs` passed with 0 errors and the existing Fern light-mode
accent contrast warning.
`fern check --warnings` reported the same accent-color warning.

---
Signed-off-by: Miyoung Choi <miyoungc@nvidia.com>

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

* **Documentation**
* Added release notes for **v0.0.69**, covering improved sandbox
lifecycle recovery (state preservation across
destroy/recreate/rebuild/recovery/validation failures), clearer Deep
Agents Code terminal/CLI behavior, and safer Hermes messaging/provider
switching with manifest-driven channels.
* Improved inference setup validation guidance, including handling of
local/compatible endpoints and redaction of sensitive validation errors.
* Refreshed release-gate documentation with clearer approval examples
and validation behavior for NVIDIA API keys vs hosted inference keys.
<!-- 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

platform: dgx-station Affects DGX Station hardware or workflows provider: vllm vLLM local or hosted provider behavior

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants