fix(onboard): preserve Station Express choices on resume - #7053
fix(onboard): preserve Station Express choices on resume#7053senthilr-nv wants to merge 1 commit into
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. |
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
PR Review Advisor — InformationalAdvisor assessment: Informational / medium 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: This automated review informs maintainers. Warnings and suggestions do not require a response. A maintainer decides whether to merge. |
a241c68 to
84d2fc8
Compare
Signed-off-by: Senthil Ravichandran <senthilr@nvidia.com>
84d2fc8 to
af9f9fa
Compare
<!-- markdownlint-disable MD041 --> ## Summary DGX Station Express now records its secret-free provider, model, sandbox, and interaction intent before managed vLLM setup can fail. Running `nemoclaw onboard --resume` restores those choices and retries the failed Express step instead of returning to the generic provider and model prompts. This follow-up is refreshed onto current `main` after #6991 merged and contains only the Station Express resume fix. Supersedes #7053, which GitHub automatically closed when its stacked base branch was removed after merge. ## Related Issue Fixes #7048 ## Changes - Mark only the DGX Station Express installer path so DGX Spark and generic onboarding remain unchanged. - Persist a versioned, validated, secret-free Station Express resume intent in the existing owner-only onboarding session. - Restore the managed-vLLM model and Express defaults for failed or interrupted sessions, reject conflicting or malformed state, and clear the intent after successful completion or `--fresh`. - Persist the exact validated vLLM served model selected during provider setup, accept compatible registered identities, reject aliases for a different model, and require the same identity on later resumes. - Retire the owner/path-validated Station installer reboot receipt after successful onboarding or explicit `onboard --fresh`, so a later installer run cannot restore stale Express choices. - Cover initial capture, injected provider failure, failed-session resume, completed provider reuse, cleanup, post-success installer re-entry, malformed state, and the Station/Spark installer boundary. - Correct the command reference to include resumable failed onboarding sessions. ## 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 - [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) - [ ] Sensitive-path review completed or maintainer-approved waiver recorded — reviewer/approval link/justification: Apurv approved prior exact head `98d6f503`; exact-head rereview requested for `3dd789c5` after the alias-validation and success/fresh receipt-lifecycle fixes - [ ] Non-success, skipped, or missing CI check accepted by maintainer — check name, approval link, and follow-up issue: ## 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 — current-head verification: 28 Station wrapper/session tests, 68 general session tests, and all 59 Station installer integration tests passed; the preceding provider/vLLM selection coverage also passed; `npm run typecheck:cli`, normal commit hooks, and push-time CLI typecheck passed - [ ] Applicable broad gate passed — `npx vitest run --project cli` completed with 9,084 passed, 20 skipped, and four unrelated local failures (missing Python `yaml`, a temp-directory cleanup race, and two existing five-second timeouts) - [ ] 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 zero errors and two 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) --- Signed-off-by: Senthil Ravichandran <senthilr@nvidia.com> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * DGX Station Express onboarding now persists a validated, secret-free resume intent through session setup, including optional served-model support. * “Fresh” onboarding now discards prior Station Express resume state and skips restoring any prior express recipe. * **Bug Fixes** * Prevented Station Express environment flags from leaking into non–DGX Station express flows. * Improved Station Express resume guardrails: detects conflicting/invalid persisted intents, preserves/resets provider/model state safely, and avoids completing provider selection on failure. * **Documentation** * Updated `onboard --resume` guidance to cover resumable interrupted or failed sessions (keeping existing restrictions). * **Tests** * Expanded Station Express/session-state and resume integration coverage, including prompt/output assertions for `STATION_EXPRESS`. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Signed-off-by: Senthil Ravichandran <senthilr@nvidia.com> Signed-off-by: Apurv Kumaria <akumaria@nvidia.com> Co-authored-by: Apurv Kumaria <akumaria@nvidia.com> Co-authored-by: Aaron Erickson 🦞 <aerickson@nvidia.com>
Summary
DGX Station Express now records its secret-free provider, model, sandbox, and interaction intent before managed vLLM setup can fail. Running
nemoclaw onboard --resumerestores those choices and retries the failed Express step instead of returning to the generic provider and model prompts.This draft is stacked on
feat/dgx-station-host-prereqsand depends on #6991. Do not merge it first; after #6991 merges, retarget this PR tomainand refresh the exact diff.Related Issue
Fixes #7048
Changes
--fresh.Type of Change
Quality Gates
Verification
Signed-off-by:line and every commit appears asVerifiedin GitHubpre-commit,commit-msg, andpre-pushhooks passed, ornpm run check:diffpassed when hooks were skipped or unavailable140 passedacross the six focused onboarding/session files;87 passed, 1 skippedacross the two installer files;npm run typecheck:clipassednpx vitest run --project clicompleted with 9,084 passed, 20 skipped, and four unrelated local failures (missing Pythonyaml, a temp-directory cleanup race, and two existing five-second timeouts)npm run docsbuilds without warnings (doc changes only) — passed with zero errors and two existing Fern warningsSigned-off-by: Senthil Ravichandran senthilr@nvidia.com