Repository navigation
fix(onboard): record managed vLLM serving-profile provenance - #12346
harjothkhara wants to merge 2 commits into
Conversation
Preserve catalog-derived serving-profile provenance after a managed vLLM profile is selected. Fresh onboard now carries the selected profile through session, registry, and status. Fixes NVIDIA#12289 Agent-Id: agent-c5819b3a-f2af-4bee-a591-193fc379dcf4
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (3)
Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 10 remain after this review. 📝 WalkthroughWalkthroughOnboarding now records provenance for an explicitly requested managed vLLM profile. The resolved profile model includes provenance, which the onboarding flow carries into the session, sandbox registry entry, and status report. Existing vLLM selections do not receive this provenance. ChangesServing Profile Provenance
Priority: ➖ Normal Estimated code review effort: 3 (Moderate) | ~20 minutes Change: Bug fix · Severity of issue fixed: Medium Sequence Diagram(s)sequenceDiagram
participant ProfileResolver
participant Onboarding
participant Session
participant SandboxRegistry
participant StatusReport
ProfileResolver->>Onboarding: Resolve requested profile provenance
Onboarding->>Session: Persist provenance for managed install
Session->>SandboxRegistry: Supply inference selection
SandboxRegistry->>StatusReport: Supply provenance for status
Suggested reviewers: Merge Risk: ⚪ Minimal · up to No concrete issue identified here blocks merging. The reported checks passed; live-hardware behavior remains unverified. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Signed-off-by: Rebecca Sliter <571084+rsliter@users.noreply.github.com>
rsliter
left a comment
There was a problem hiding this comment.
Reviewed commit 1b4c9c2c2c09f70488884370236bd3f826e4300f.
The change now preserves managed vLLM profile provenance through the session, sandbox registry, and status output. During review, I repaired one edge case: reusing an existing endpoint must not claim a catalog recipe, image, or model revision that onboarding did not install. The updated regression verifies that boundary. All 26 focused tests, builds, and local publication/type checks passed. CodeRabbit completed without actionable findings. I found no remaining correctness or security issue in the reviewed diff; required CI is still outstanding.
Thank you @harjothkhara for tracing the missing provenance and contributing the fix and lifecycle regression coverage.
I am opening a replacement PR from a branch in NVIDIA/NemoClaw, then closing this PR with a link to it. Our required reviewed OpenShell SDK job currently rejects fork PRs. The replacement will preserve your original commit and authorship and credit you as the original author in its description.
|
Continued in #12764, now open from a branch in NVIDIA/NemoClaw so the required reviewed OpenShell SDK CI can run. Thank you @harjothkhara for the contribution. The replacement preserves your original signed commit and authorship and credits you as the original author. Closing this PR in favor of that linked replacement. |
## Outcome Fresh onboarding with an explicit managed vLLM profile preserves its catalog provenance in the session, sandbox registry, and status report. Reusing an existing vLLM endpoint does not claim that NemoClaw installed its recipe or image. Original author: **@harjothkhara (Harjoth Khara)**. The original signed commit `1d9f58d3713ac2ea52e958ad59c46ea0e18b33dd` is preserved unchanged. Rebecca Sliter supplied the managed-install guard and maintainer follow-up. ## Reason Provider selection previously erased valid profile provenance before sandbox registration. This same-repository replacement also enables the required reviewed OpenShell SDK CI path, which rejects fork PRs. ### Related issues Fixes #12289. Replaces #12346 with the contributor's history intact. ## Changes - Carry catalog-derived provenance in the requested serving-profile model. - Return that provenance only after this invocation successfully installs and selects managed vLLM. The named gate keeps this rule out of the selection function's nested control flow. - Cover fresh installation through session, registry, and status, and reject new provenance for an existing endpoint. Retain resume and session-only denial coverage. - Clarify that reused vLLM endpoints do not record the requested profile provenance; preserve the status behavior for managed vLLM and llama.cpp installations. ## Verification Candidate: `032b321a4ee88141198fe41eedb767d4c5d49907`. - `npx vitest run --project cli src/lib/onboard/setup-nim-flow-serving-profile.test.ts src/lib/onboard/machine/handlers/provider-inference-managed-llama-resume.test.ts src/lib/inference/serving/requested-profile-model.test.ts src/lib/onboard/setup-nim-flow-vllm-resume.test.ts --no-file-parallelism`: 4 files and 26 tests passed. The existing-endpoint regression failed before the guard. - CLI and plugin builds, normal commit hooks, publication validation, and the CLI TypeScript check passed. Canonical changed-path selection skipped plugin and JavaScript typechecks. The checked-in compiler runner uses an 8 GB Node heap. - `npm run docs`: passed with zero errors; OpenClaw, Hermes, and Deep Agents generated command references inspected. Fern reported the existing optional authenticated redirect check and light-theme contrast warnings. - All PR commits are GitHub Verified. The inspected diff contains no secrets, API keys, or credentials. ## Review notes The five changed code and test files are sensitive inference or onboarding paths. The additional command-reference clarification received independent local documentation review. The [maintainer review on the original PR](#12346 (review)) covers `NVIDIA/NemoClaw` commit `1b4c9c2c2c09f70488884370236bd3f826e4300f`, records the provenance repair and regression evidence, and thanks the original contributor. The current candidate awaits its required CI, GPU qualification, and automated reviews. --- Signed-off-by: harjoth <harjoth.khara@gmail.com> Signed-off-by: Rebecca Sliter <571084+rsliter@users.noreply.github.com> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Improvements** * Managed vLLM setup retains the selected serving profile’s provenance through setup and sandbox status reporting. Profile details are recorded only when setup installs a managed server; reusing an already-running vLLM server does not assign managed-profile details. * Sandbox status displays serving-profile details for sandboxes created with managed vLLM or llama.cpp. JSON status includes the complete secret-free profile provenance record. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Signed-off-by: Rebecca Sliter <571084+rsliter@users.noreply.github.com> Co-authored-by: harjoth <harjoth.khara@gmail.com> Co-authored-by: Rebecca Sliter <571084+rsliter@users.noreply.github.com>
Outcome
Fresh onboarding with an explicit managed vLLM serving profile now preserves the catalog-derived profile provenance through selection, the onboarding session, sandbox registration, and status reporting. Previously, the managed vLLM selection result omitted that provenance and the provider handler replaced the valid session value with
null.Reason
NemoClaw needs the exact selected serving profile in the sandbox registry so status and later lifecycle operations can identify the configuration that produced the managed vLLM deployment.
Related issues
Fixes #12289
Changes
Verification
Latest published commit:
1b4c9c2c2c09f70488884370236bd3f826e4300f.npx vitest run --project cli src/lib/onboard/setup-nim-flow-serving-profile.test.ts src/lib/onboard/machine/handlers/provider-inference-managed-llama-resume.test.ts src/lib/inference/serving/requested-profile-model.test.ts src/lib/onboard/setup-nim-flow-vllm-resume.test.ts --no-file-parallelismpassed: 4 files, 26 tests.NODE_OPTIONS=--max-old-space-size=8192.Original contributor verification follows:
npx vitest run --project cli src/lib/onboard/machine/handlers/provider-inference-managed-llama-resume.test.ts --no-file-parallelism— T1 RED before the production change: exit 1; the new [DGX Spark][Sandbox] serving profile provenance is never recorded, so status cannot report it before or after rebuild #12289 regression was the sole failure among 8 tests.npx vitest run --project cli src/lib/onboard/machine/handlers/provider-inference-managed-llama-resume.test.ts src/lib/onboard/setup-nim-flow-serving-profile.test.ts src/lib/inference/serving/requested-profile-model.test.ts --no-file-parallelism— exit 0; 3 files and 17 tests passed.npx vitest run --project cli src/lib/onboard/command.test.ts src/lib/onboard/setup-nim-flow.test.ts src/lib/onboard/machine/handlers/provider-inference-managed-llama-resume.test.ts src/lib/onboard/sandbox-registration.test.ts src/lib/onboard/setup-nim-flow-serving-profile.test.ts src/lib/inference/serving/requested-profile-model.test.ts --no-file-parallelism— exit 0; 6 files and 141 tests passed.npm --prefix nemoclaw run build && npm run typecheck:cli— exit 0.npm run checks:repository— exit 0; all 18 checks passed.node scripts/lib/openshell-sdk-install.mts check— exit 0; the vendored OpenShell SDK imports successfully.git diff --check— exit 0.npm run validate:pr— exit 0 on signed commit1d9f58d3713ac2ea52e958ad59c46ea0e18b33ddwith a clean worktree.Review notes
All five changed files match the canonical contributor sensitive-path patterns under
src/lib/inference/**orsrc/lib/onboard/**. An independent routine Claude review inspected the completeNVIDIA/NemoClawdiff at commit1d9f58d3713ac2ea52e958ad59c46ea0e18b33ddand returned CLEAN/READY with no findings. Receipt:/Users/harjothk/Documents/cowork/.pr-review/results/4894249efb4d50cb92a7fe8e8f3dd0f127557443812c1f528ea27d22ca1de227/receipt.json. This review context does not authorize approval or merge.Signed-off-by: harjoth harjoth.khara@gmail.com
Signed-off-by: Rebecca Sliter 571084+rsliter@users.noreply.github.com
Summary by CodeRabbit