[DGX Station] Migrate Express choices to declarative serving profiles
- Dominant language
- TypeScript
- Stars
- 22.5k
- Forks
- 3.1k
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 715
Description
## Summary
Migrate DGX Station Express model and topology choices to the accepted repository-owned serving catalog and generic profile UX without changing current automatic behavior.
Parent Epic: #8379
## Current behavior
- Ordinary Station Express selects Nemotron 3 Ultra.
- A qualified trusted pair automatically uses the dual-Station Ultra recipe; otherwise the installer falls back to the single-Station Ultra recipe.
- `--station-deepseek` selects DeepSeek V4 Flash.
- Installer shell, TypeScript registries, resume state, distributed topology code, and documentation each carry Station-specific model identity.
## Desired behavior
- Encode single-Station Ultra, dual-Station Ultra, and DeepSeek as immutable catalog recipes/presets.
- Keep Ultra automatic and DeepSeek explicit-only unless a separate product decision changes the defaults.
- Expose compatible Station choices through `nemoclaw profiles list` and a generic `--profile ` selector or accepted equivalent.
- Preserve `--station-deepseek` as a tested compatibility alias with a documented deprecation path.
- Keep topology qualification, host preparation, SSH trust, secrets, startup order, rollback, and cleanup in reviewed code-owned adapters rather than YAML.
- Persist preset, recipe, topology, catalog, and resolved-plan provenance through resume, status, recovery, and uninstall.
- Reject conflicts and unsupported profiles before host preparation, image/model download, or runtime mutation.
## Acceptance criteria
- [ ] Current no-selector Station Express behavior is unchanged.
- [ ] Single-Station Ultra, dual-Station Ultra, and DeepSeek resolve through stable catalog IDs.
- [ ] The dual preset consumes the existing qualified topology artifact and exact materializer/lifecycle adapter.
- [ ] Implicit peer no-match falls back before downloads; explicit peer mismatch fails before effects.
- [ ] Generic profile listing reports topology requirements, selection mode, support state, model, image, and download estimates.
- [ ] Generic explicit selection works interactively and non-interactively.
- [ ] `--station-deepseek` maps to the DeepSeek preset during compatibility and rejects conflicting intent.
- [ ] Resume preserves exact catalog and topology identity and never silently chooses a different profile.
- [ ] Status, diagnostics, recovery, and uninstall consume the persisted identity.
- [ ] Shell contains no new model-specific branch or flag.
- [ ] Unit, installer-integration, package-contract, and physical Station E2E pass.
- [ ] Documentation and starter-prompt assets use the generic profile UX.
## Related
- Epic #8379
- Discussion #7636
- PR #6883
- PR #7030
- Issue #8246 and PR #8249 for the sibling single-Spark host-local preset foundation
Signed-off-by: Prekshi Vyas
Contributor guide
Assessment
This issue has not been assessed yet.