fix(installer): hand off existing Station vLLM#7285
Conversation
|
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
|
Note Reviews pausedIt 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 Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
📝 WalkthroughWalkthroughThe Station installer now detects existing vLLM workloads, reports exit status 12, and offers Express-preserving or manual Local vLLM handling. Forced-install messaging and documentation clarify that only release-metadata qualification is bypassed while workload and runtime checks remain enforced. ChangesDGX Station vLLM conflict handling
Estimated code review effort: 3 (Moderate) | ~25 minutes Sequence Diagram(s)sequenceDiagram
participant Installer
participant StationPreparation
participant ConflictHelpers
participant vLLM
Installer->>StationPreparation: start Station host preparation
StationPreparation->>StationPreparation: capture baseline and check workloads
StationPreparation-->>Installer: return status 12 for active vLLM
Installer->>ConflictHelpers: handle vLLM conflict
ConflictHelpers->>vLLM: query running model
vLLM-->>ConflictHelpers: return model identity
ConflictHelpers-->>Installer: preserve Express or switch to Local vLLM
Possibly related PRs
Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
🌿 Preview your docs: https://nvidia-preview-pr-7285.docs.buildwithfern.com/nemoclaw |
Code Coverage OverviewLanguages: TypeScript TypeScript / code-coverage/pluginThe overall coverage in commit f8bcac0 in the TypeScript / code-coverage/cliThe overall coverage in commit f8bcac0 in the Show a code coverage summary of the most impacted files.
Updated |
PR Review Advisor — InformationalAdvisor assessment: Informational / high confidence Model lanes
Nemotron output stays in workflow artifacts and does not change the assessment above. E2E guidanceAdvisory only. E2E / PR Gate selects and runs jobs independently. Recommended E2E: 1 optional E2E recommendation
This automated review informs maintainers. Warnings and suggestions do not require a response. A maintainer decides whether to merge. |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 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 `@scripts/install.sh`:
- Line 761: Update the --force-station-install help text and the corresponding
messages near the related lines to scope the override to initial factory-runtime
validation only: active workloads may be present during validation, but required
CDI, Docker, service, or reboot mutations must still block until workloads are
quiesced.
In `@test/install-station-host-preparation.test.ts`:
- Around line 453-479: Replace the direct check_initial_workload_quiescence
calls with the public preparation entry point that runs common_preflight and
captures the Docker baseline. Use controlled probes for the supported profile
whose agent/inference and Docker gates fail, then assert a nonzero result and
the workload-blocking output; retain the forced-factory-runtime case asserting
success and absence of those probes.
🪄 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: 0b542057-b51c-43a8-ba07-c4664c502018
📒 Files selected for processing (6)
docs/get-started/dgx-station-preparation.mdxdocs/get-started/quickstart.mdxscripts/install.shscripts/prepare-dgx-station-host.shtest/install-express-prompt.test.tstest/install-station-host-preparation.test.ts
|
Thanks for taking this on. I think the safest user-facing contract is:
Even when the models match, reuse should require explicit user consent because NemoClaw does not own the existing workload configuration or lifecycle. For this PR, I suggest implementing the stop-and-resume behavior instead of skipping all initial workload checks for the forced profile. |
|
Agreed on keeping
Detail:
When safely available, the message should identify the running and requested models. This keeps endpoint reuse in the existing non-Express flow. The PR only improves conflict detection and handoff; it does not introduce another inference ownership or validation path. |
|
Thanks @sandl99. I agree with your implementation direction: endpoint reuse should return to the existing non-Express flow instead of duplicating that setup inside Express. The user-facing prompt should make the change in experience explicit because the user intentionally selected a managed Express recipe. When an existing vLLM is detected, show the running and requested models and offer:
Require an explicit choice with no default. For noninteractive installation, fail safely and print both continuation paths. This keeps the implementation clean while preserving the original Express intent and making the switch to user-managed inference clear. |
Signed-off-by: San Dang <sdang@nvidia.com>
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 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 `@scripts/install.sh`:
- Line 3772: Update the prompt text in the force-station-install status message
to remove inference workloads from the list of workloads that block Station
preparation; retain active agent and Docker workload blocking, and keep the
existing qualification and validation details unchanged.
In `@scripts/prepare-dgx-station-host.sh`:
- Around line 1285-1289: The check_initial_workload_quiescence function must
validate agent and inference conflicts before vLLM container conflicts, ensuring
the agent block runs before check_vllm_container_conflicts can exit and hand off
to the manual vLLM path. Preserve the existing
require_no_running_docker_containers check after both conflict checks.
🪄 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: 7ebceb5a-c11e-4c85-aeca-cf97fd5a7bec
📒 Files selected for processing (8)
docs/get-started/dgx-station-preparation.mdxdocs/get-started/quickstart.mdxscripts/install.shscripts/lib/station-vllm-conflict.shscripts/prepare-dgx-station-host.shtest/install-express-prompt.test.tstest/install-station-container-coexistence.test.tstest/install-station-host-preparation.test.ts
Signed-off-by: San Dang <sdang@nvidia.com>
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (3)
test/install-express-prompt.test.ts (3)
546-570: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winAssert the complete resume instruction, not just one token.
The test title promises the exact stop-and-resume command, but Lines 565-567 only match menu text and an install-tag fragment. A malformed or incomplete user-facing command could still pass. Assert the complete emitted command or its documented arguments.
As per path instructions, tests should verify observable behavior through the public boundary.
🤖 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 `@test/install-express-prompt.test.ts` around lines 546 - 570, Update the test case around ensure_station_express_host to assert the complete user-facing stop-and-resume command, including all documented arguments and values such as the install tag, rather than only checking an install-tag fragment. Keep verification through the public installer output boundary and preserve the existing menu and resume-file assertions.Source: Path instructions
572-580: 🩺 Stability & Availability | 🟡 Minor | ⚡ Quick winVerify the bounded-probe contract.
The
curlstub ignores every argument and returns immediately, so this test passes even if production probes the wrong endpoint or omits timeout and response-size limits. Record and assert the probe contract, or add a separate test for bounded execution.As per path instructions, broad mocks must not bypass the behavior under test.
🤖 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 `@test/install-express-prompt.test.ts` around lines 572 - 580, Strengthen the test around station_existing_vllm_model by making the curl stub record its arguments and asserting the production probe uses the expected health endpoint with timeout and response-size bounds. Ensure the stub still returns the model payload only for the valid bounded request, so incorrect endpoint or unbounded execution cannot pass.Source: Path instructions
600-636: 🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick winExercise the Local vLLM handoff and workload-preservation boundary.
This test stubs host preparation and only checks that variables are cleared and the resume file is absent. It never verifies that the advanced Local vLLM path is invoked or that stop/replace actions are not called, so the branch could exit early and still pass.
As per path instructions, the test should validate observable behavior rather than only internal state.
🤖 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 `@test/install-express-prompt.test.ts` around lines 600 - 636, Strengthen the test around ensure_station_host_preparation so it verifies the advanced Local vLLM handoff is actually invoked after the conflict choice, while confirming stop, replace, or workload-changing actions are not called. Assert observable setup behavior and preserve the existing checks for cleared state and absent resume file, rather than allowing an early exit to satisfy the test.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.
Outside diff comments:
In `@test/install-express-prompt.test.ts`:
- Around line 546-570: Update the test case around ensure_station_express_host
to assert the complete user-facing stop-and-resume command, including all
documented arguments and values such as the install tag, rather than only
checking an install-tag fragment. Keep verification through the public installer
output boundary and preserve the existing menu and resume-file assertions.
- Around line 572-580: Strengthen the test around station_existing_vllm_model by
making the curl stub record its arguments and asserting the production probe
uses the expected health endpoint with timeout and response-size bounds. Ensure
the stub still returns the model payload only for the valid bounded request, so
incorrect endpoint or unbounded execution cannot pass.
- Around line 600-636: Strengthen the test around
ensure_station_host_preparation so it verifies the advanced Local vLLM handoff
is actually invoked after the conflict choice, while confirming stop, replace,
or workload-changing actions are not called. Assert observable setup behavior
and preserve the existing checks for cleared state and absent resume file,
rather than allowing an early exit to satisfy the test.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 76d7fc6c-989f-4931-8c2d-a4022f089d57
📒 Files selected for processing (4)
scripts/install.shscripts/prepare-dgx-station-host.shtest/install-express-prompt.test.tstest/install-station-host-preparation.test.ts
🚧 Files skipped from review as they are similar to previous changes (1)
- scripts/install.sh
Signed-off-by: San Dang <sdang@nvidia.com>
There was a problem hiding this comment.
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 `@test/install-station-vllm-conflict.test.ts`:
- Around line 13-29: Update runInstallerSourced to remove the temporary home
directory created by fs.mkdtempSync after spawnSync completes. Wrap the shell
invocation and result construction in a try/finally block, and clean up the home
path in finally while preserving the existing return value and output behavior.
🪄 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: 05d8c265-5aa6-481e-9986-c12f7bbd8e7e
📒 Files selected for processing (4)
scripts/install.shscripts/lib/station-vllm-conflict.shtest/install-express-prompt.test.tstest/install-station-vllm-conflict.test.ts
🚧 Files skipped from review as they are similar to previous changes (3)
- scripts/lib/station-vllm-conflict.sh
- scripts/install.sh
- test/install-express-prompt.test.ts
Signed-off-by: San Dang <sdang@nvidia.com>
|
CI gate failure at reviewed-npm-audit #7286 |
E2E Target Results — ❌ Some tests failedRun: 29885582233
|
E2E Target Results — ✅ All selected tests passedRun: 29888433868
|
cjagwani
left a comment
There was a problem hiding this comment.
This cannot enter the approval path yet because it changes scripts/prepare-dgx-station-host.sh and the required DGX Station Hardware Evidence section still says the revised implementation evidence is pending. The pasted transcript demonstrates the original conflict and an earlier handoff shape, while the PR explicitly says the final interactive handoff has not been validated on hardware; the later cloud/security E2Es do not replace physical Station evidence.
Please run the current head on the stated GB300 existing-vLLM scenario and link reviewable evidence for the exact commit, covering both the safe Express-preserving default/stop-and-resume path and the explicit Local vLLM continuation without stopping, replacing, or silently reusing the workload. Then update the hardware-evidence fields so the sensitive-path implementation review can complete.
Signed-off-by: Senthil Ravichandran <senthilr@nvidia.com>
DGX Station hardware evidencePhysical smoke passed for the current PR head.
Express-preserving defaultNemoClaw identified Docker as the workload owner and printed Explicit Local vLLM continuationOption Final integrityThe disposable workload and test-created state were removed. The Station retained the same boot ID and ended with an empty |
senthilr-nv
left a comment
There was a problem hiding this comment.
Approved on current head 51ce3e27d378f6af9970e2699560aa82115d4c95. The bounded physical DGX Station GB300 smoke covers both the safe Express-preserving default and the explicit Local vLLM continuation, confirms the existing workload remains unchanged, and records clean final host integrity with ECC 0/0. The implementation, focused tests, full installer-integration suite, and Station evidence satisfy this PR contract.
|
@cjagwani The requested current-head DGX Station evidence is now complete and linked from the PR description: #7285 (comment). It covers both the Express-preserving default/stop-and-resume path and the explicit Local vLLM continuation on commit |
DGX evidence has been updated in the comment.
<!-- markdownlint-disable MD041 --> ## Summary The OpenClaw, Hermes, and Deep Agents Quickstarts now keep separate source pages with consistent first-run platform ownership. Each Quickstart retains immediate Docker, Windows, DGX Station, Express, and model choices while linking durable details to their canonical owners. The refactor preserves published Quickstart routes, navigation, supported workflows, and Commands and Troubleshooting content. ## Changes - Condense duplicated Docker and platform prose in all three Quickstarts into concise first-run summaries and canonical links. - Keep Docker installation behavior in Prerequisites, Windows preparation in its focused setup page, Station qualification and preparation in the Station page, managed model and headless workflows in Set Up vLLM, and validation status in Platform Support. - Preserve Hermes-specific remote dashboard and API setup, including `CHAT_UI_URL`, port forwarding, and API bearer-token retrieval. - Make each Quickstart installer command set the sandbox name used by its subsequent status, dashboard, and connect commands. - Preserve the complete headless Station workflow and render the correct OpenClaw, Hermes, and Deep Agents selection. - Keep existing routes, navigation entries, and redirects unchanged while generating agent-variant content from the canonical source pages. - Incorporate merged PR #7331, including its PackageKit boundary, without duplicating its integration-policy change. - Incorporate merged PR #7327 while keeping Platform Support as the canonical Station validation-status owner. - Incorporate merged PR #7285 while keeping its existing-vLLM ownership handoff in the canonical Station preparation page. ## Product Scope Verdict: In scope. The diff reorganizes existing Quickstart, Station, and vLLM documentation and updates its ownership test. It does not add an integration, solution recipe, custom image, third-party stack, or supported product surface. ## 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 - [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: - [ ] 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: ## DGX Station Hardware Evidence <!-- Required only when scripts/prepare-dgx-station-host.sh changes. Maintainers must review the linked evidence before approving or merging. This is human-reviewed evidence, not authenticated hardware provenance. Exceptional bypasses use existing repository governance and must be documented on the PR. --> - [ ] Tested on DGX Station - Tested commit: Not applicable; `scripts/prepare-dgx-station-host.sh` is unchanged in the PR diff. - Station profile/scenario: Documentation ownership refactor only. - Result: Not applicable. - Supporting evidence: Not applicable. ## Verification - [x] PR description includes a `Signed-off-by:` line 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 — canonical-base diff-aware hook stages passed against `upstream/main`. - [x] Targeted behavior tests pass for the current change set, or tests are marked not applicable above — `npx vitest run test/station-doc-ownership.test.ts test/check-docs-published-routes.test.ts test/check-docs-links.test.ts` (3 files, 44 tests passed). - [ ] Applicable broad gate passed — Not applicable; this is a focused documentation ownership refactor with targeted tests and the full docs build. - [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) — passed with 0 errors and 2 Fern 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) — Not applicable; no pages were added. Additional validation: - `npm run docs:sync-agent-variants` - `npm run docs` - `npm run source-shape:check` - `git diff --check upstream/main...HEAD` - Generated OpenClaw, Hermes, and Deep Agents Set Up vLLM variants contain the expected agent selection and no residual `<AgentOnly>` directives. - Repository-required documentation writer agent review found no content loss, inaccurate claim, route or anchor drift, or agent-variant regression. This was not a human review. - Automated nine-category security review found no security issue in the documentation and ownership-test diff. This was not a sensitive-path or human security review. Adjacent pre-existing debt, intentionally outside this refactor: - The standalone Station override command and the generic installer command printed by Windows preparation omit `NEMOCLAW_AGENT`, so users following those commands directly must return to the agent-specific Quickstart to preserve Hermes or Deep Agents selection. --- Signed-off-by: Miyoung Choi <miyoungc@nvidia.com> Signed-off-by: Senthil Ravichandran <senthilr@nvidia.com> --------- Signed-off-by: Miyoung Choi <miyoungc@nvidia.com> Signed-off-by: Senthil Ravichandran <senthilr@nvidia.com> Co-authored-by: Senthil Ravichandran <senthilr@nvidia.com> Co-authored-by: Carlos Villela <cvillela@nvidia.com>
<!-- markdownlint-disable MD041 --> ## Summary Adds the canonical dated `## v0.0.93` release entry to `docs/changelog/2026-07-23.mdx`. The entry records user-visible behavior, release validation, and documentation controls merged after `v0.0.92`, while preserving the pending DGX OS `7.6.x` Station Express qualification caveat. ## Changes - Adds the parser-safe dated release entry with a summary, grouped details, and published-route links. - Reconciles the `v0.0.92..origin/main` commit range with merged `v0.0.93` PRs. - Records that no-OTA DGX OS `7.6.x` passed bounded host preflight, while full Station Express end-to-end qualification remains pending. - Leaves existing product pages unchanged because the source PRs already document their supported behavior. ### Source summary - #7285 -> `docs/changelog/2026-07-23.mdx`: Records the existing-vLLM ownership choice and resumable Station handoff. - #7419 -> `docs/changelog/2026-07-23.mdx`: Records bounded no-OTA DGX OS `7.6.x` recognition and its pending end-to-end qualification. - #7268 -> `docs/changelog/2026-07-23.mdx`: Records optional Hugging Face authentication, output sanitization, and resumable HTTP `429` recovery. - #7442 -> `docs/changelog/2026-07-23.mdx`: Records clean SIGINT handling at hidden credential prompts. - #7299 -> `docs/changelog/2026-07-23.mdx`: Records Intel macOS rejection before ref resolution or network work. - #7296 -> `docs/changelog/2026-07-23.mdx`: Records the DGX Spark non-interactive local-vLLM selection order. - #7342 -> `docs/changelog/2026-07-23.mdx`: Records delegated protected E2E approvals in the grouped release-validation bullet. - #7373 -> `docs/changelog/2026-07-23.mdx`: Records base-image publication gating before final-main fanout. - #7388 -> `docs/changelog/2026-07-23.mdx`: Records semantic phase runtime summaries. - #7397 -> `docs/changelog/2026-07-23.mdx`: Records progress coverage hardening. - #7391 -> `docs/changelog/2026-07-23.mdx`: Records centralized larger-runner routing. - #7423 -> `docs/changelog/2026-07-23.mdx`: Records one retry for confirmed hosted-runner loss. - #7399 -> `docs/changelog/2026-07-23.mdx`: Records runner-comparison telemetry. - #7270 -> `docs/changelog/2026-07-23.mdx`: Records staging Brev Launchable validation. - #7426 -> `docs/changelog/2026-07-23.mdx`: Records filtering of irrelevant base-image run history. - #7333 -> `docs/changelog/2026-07-23.mdx`: Records aligned Quickstart platform guidance. - #7343 -> `docs/changelog/2026-07-23.mdx`: Records documentation-writer receipt collection. - #7400 -> `docs/changelog/2026-07-23.mdx`: Records the documentation-writer receipt requirement for docs-only PRs. - #7413 -> `docs/changelog/2026-07-23.mdx`: Records removal of redundant receipt PR metadata. - #7405 -> `docs/changelog/2026-07-23.mdx`: Records corrected inference CLI references. - #7389 -> `docs/changelog/2026-07-23.mdx`: Records completion of the v0.0.91 documentation audit. `#7384` is an internal refactor with no intended runtime behavior change. `#7401` updates internal CodeQL Actions dependencies. `#7376` is already contained in `v0.0.92`, so it is outside the release-entry scan range despite its retained planning label. ## 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 - [x] Existing tests cover changed behavior — justification: `test/changelog-docs.test.ts` validates dated changelog structure, SPDX syntax, and version headings. - [ ] Tests not applicable — justification: - [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: ## Documentation Writer Review - [x] Documentation writer subagent reviewed the completed changes - Result: `docs-updated` - Evidence: Reviewed `docs/changelog/2026-07-23.mdx` against `WRITING.md`, `docs/CONTRIBUTING.md`, `docs/.docs-skip`, `docs/index.yml`, the six user-visible source PRs, and the remaining grouped release commits. The review corrected an ambiguous qualification claim, confirmed all published routes, preserved the DGX OS `7.6.x` caveat, and found no remaining action. - Agent: Codex Desktop <!-- docs-review-head-sha: ec0a866 --> <!-- docs-review-agents-blob-sha: 9c9b36d --> ## DGX Station Hardware Evidence - [ ] Tested on DGX Station - Tested commit: Not applicable. This PR does not change `scripts/prepare-dgx-station-host.sh`. - Station profile/scenario: Not applicable. - Result: Not applicable. - Supporting evidence: Not applicable. ## Verification - [x] PR description includes a `Signed-off-by:` line 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 — `npx vitest run test/changelog-docs.test.ts`: 1 file and 6 tests passed. - [ ] Applicable broad gate passed — Not applicable to one native changelog file. - [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) — completed with 0 errors and 2 existing Fern 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) — not applicable because native changelog entries use a parser-safe MDX SPDX comment without frontmatter. --- Signed-off-by: Carlos Villela <cvillela@nvidia.com> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Documentation** * Added the v0.0.93 changelog covering onboarding and validation improvements. * Documented support for additional DGX Station Express workstation releases and clearer handling of existing vLLM workloads. * Added guidance for optional Hugging Face authentication, resumable rate-limit recovery, and DGX Spark provider selection. * Clarified installer behavior on Intel macOS, release validation requirements, hosted-runner retries, documentation checks, and supported CLI quickstart paths. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
Summary
DGX Station Express now keeps active-workload quiescence as a safety requirement and handles an existing vLLM as an explicit inference-ownership conflict. NemoClaw never stops, replaces, or silently reuses the workload.
Interactive users choose whether to preserve the managed Express recipe or switch seamlessly to the existing advanced manual Local vLLM flow. Keeping Express is the safe default for empty input and headless runs.
Tested evidence on Galaxy SKU2
Related Issue
Fixes #7287
Changes
--force-station-installlimited to DGX release-metadata qualification./v1/modelswith bounded time and response size to show the running model when safely available.scripts/lib/station-vllm-conflict.shmodule so the main installer retains only the Station conflict integration point.Type of Change
Quality Gates
DGX Station Hardware Evidence
51ce3e27d378f6af9970e2699560aa82115d4c95Verification
Signed-off-by:line and every commit appears asVerifiedin GitHub.pre-commit,commit-msg, andpre-pushhooks passed, ornpm run check:diffpassed when hooks were skipped or unavailable.npx vitest run test/install-station-host-preparation.test.ts test/install-station-container-coexistence.test.ts test/install-express-prompt.test.ts test/install-station-dgx-os.test.ts test/install-preflight.test.ts: 309 passed, 1 skipped.npm run docsbuilds without warnings — passed with 0 errors and 2 existing Fern warnings.Signed-off-by: San Dang sdang@nvidia.com
Summary by CodeRabbit
Summary by CodeRabbit
New Features
Documentation
--force-station-installonly bypasses DGX release-metadata qualification; workload quiescence and factory/runtime health checks still block preparation.Bug Fixes