Skip to content

feat(inference): prepare inactive Cobalt serving recipe - #12493

Open
prekshivyas wants to merge 7 commits into
mainfrom
prekshiv/stage-cobalt
Open

prekshivyas wants to merge 7 commits into
mainfrom
prekshiv/stage-cobalt

Conversation

@prekshivyas

@prekshivyas prekshivyas commented Sep 29, 2026 •

Copy link
Copy Markdown
Collaborator

Outcome

Prepare an inactive, harness-independent Cobalt recipe for one DGX Station. The staged configuration requires NVFP4 weights, three-token MTP, 49,152-token context, thinking enabled, and JSON tool calls. Cobalt remains absent from production discovery and disabled even when compiled separately.

Reason

Record the selected serving configuration before release activation. Keep confidential artifacts and release qualification outside the public staging change.

Related issues

Refs #12492. Its accepted October 6 scope includes this configuration update; activation and default selection remain deferred.

Changes

  • Stage the model contract, fixed vLLM recipe, disabled Station preset, and activation requirements under managed-inference/staging/cobalt.
  • Set one sequence, 85% GPU memory utilization, 8,192 batched tokens, BF16 KV cache, float16 Mamba state, and three-token MTP. Require NVFP4/MTP artifact metadata without forcing a weight dtype.
  • Configure Hermes JSON tools, parameter strictness, thinking enabled, and a release-image-bundled chat template. Document the required reasoning-to-tool runtime behavior and native serial-response filtering. No runtime patch implementation or template contents are included.
  • Preserve bearer authentication, fixed arguments, catalog receipts, eight inline images, disabled video, and restricted media domains. No local-media directory is exposed.
  • Document client request requirements without adding agent workspaces or harness-specific configuration. Thinking is a server default; clients overriding template kwargs must preserve it. Serial-tool requests must set parallel_tool_calls: false. Requested output must fit the context and remain at most 8,192 tokens; the recipe does not enforce that client limit.
  • Test the actual compiler, materializer, command builder, selection, and receipt consumer. Keep production exclusion and disabled-selection tests. No new runtime mechanism, backend, activation flag, or default change is added.
  • Integrate canonical main 5c3c3e9838c500c0c0c171f7d89375486ffc2c85 to consume the updated dependency-pin validation helper. The PR diff remains limited to five Cobalt files.

Verification

  • npx vitest run --project integration test/inference/managed/cobalt-staging.test.ts test/inference/managed/managed-inference-catalog-compiler.test.ts --project cli src/lib/inference/serving/host-local-vllm-selection.test.ts src/lib/inference/serving/vllm-host-local-lifecycle.test.ts src/lib/inference/serving/profile-list.test.ts — 67 tests passed across five files for the serving update. The latest commit changes only explanatory prose; existing command assertions cover the thinking default.
  • npm run docs — passed again after the prose correction, zero errors and two warnings.
  • git diff --check — passed.
  • Normal commit hooks, signing, and pre-push publication validation passed for 622e429af2c86f077345b1a8fb3ded73ffeec1de. No local-check exception was used for this commit. All seven PR commits are GitHub Verified.
  • Reviewed the five-file diff for confidential identities, artifact locations, benchmark results and credentials. None are included.
  • Full hosted CI and security checks passed on 622e429af2c86f077345b1a8fb3ded73ffeec1de, including all twelve CLI shards and merged coverage.

These checks verify deterministic staging and catalog behavior. They do not establish live qualification of the staged recipe. Artifact identity, revision, image/digest, template contents, and download sizes remain release bindings. The complete pinned runtime must supply the required reasoning/tool fix and template; an unpatched runtime is not qualified here.

Review notes

Sensitive paths: managed-inference/staging/cobalt/** in NVIDIA/NemoClaw. Self-review covered the complete diff, fixed arguments, media restrictions, authentication, receipts, disabled selection, and release prerequisites.

CodeRabbit review dda15d24-65e1-4c27-a56d-75b90b118798 covers 622e429af2c86f077345b1a8fb3ded73ffeec1de with no actionable findings. All nine Advisor specialists are clear for that same commit. Their complete findings, summaries, and E2E records were inspected; none adds an unresolved finding or additional E2E recommendation. The earlier thinking-default wording finding is resolved. The PR is ready for human review of the inactive staging scope; this is not approval to activate or merge.

Recorded local-commit exception: for the earlier merge commit only, the user authorized proceeding past the inherited Pi receipt failure. The other 17 repository checks ran explicitly; only their aggregate pre-commit hook was skipped. Signing, remaining commit hooks, normal pre-push validation and hosted CI remained required. This is not a CI waiver or merge approval, and was not reused for the latest commit.

Activation requires a separate reviewed release change with immutable artifacts, runtime/template verification, target-hardware evidence, and the actual harness/request configuration recorded. A serving recipe does not qualify every harness. No private checkpoint identity, benchmark, or test artifact is published.


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

Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
@prekshivyas prekshivyas self-assigned this Sep 29, 2026
@copy-pr-bot

copy-pr-bot Bot commented Sep 29, 2026

Copy link
Copy Markdown

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.

@coderabbitai

coderabbitai Bot commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Note

Reviews paused

It 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 reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository: NVIDIA/NemoClaw/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Enterprise
  • Run ID: dda15d24-65e1-4c27-a56d-75b90b118798
📥 Commits

Reviewing files that changed from the base of the PR and between 193769b and 622e429.

📒 Files selected for processing (1)
  • managed-inference/staging/cobalt/README.md

Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 11 remain after this review.


📝 Walkthrough

Walkthrough

The change adds inactive Cobalt model, recipe, and Station preset declarations under staging. Documentation describes staging restrictions and activation requirements. Tests check catalog exclusion, disabled selection, resolution behavior, and materialized serving settings.

Changes

Cobalt staging

Layer / File(s) Summary
Cobalt serving configuration
managed-inference/staging/cobalt/model.yaml, managed-inference/staging/cobalt/recipe.yaml
Adds a gated Cobalt model manifest and an ARM64 DGX Station vLLM recipe. The recipe configures authentication, serving arguments, media limits, and readiness.
Disabled preset and staging boundaries
managed-inference/staging/cobalt/preset.yaml, managed-inference/staging/cobalt/README.md
Adds a disabled Station preset. The documentation describes staging restrictions, release-specific bindings, serving settings, and activation requirements.
Catalog and selection validation
test/inference/managed/cobalt-staging.test.ts
Tests production catalog exclusion, disabled selection, materialized serving settings, and resolution using a synthetic enabled copy.

Priority: ⬇️ Low

Estimated code review effort: 3 (Moderate) | ~20 minutes

Change: Other

Suggested reviewers: brandonpelfrey

Merge Risk: ⚪ Minimal · up to 622e4

No actionable product or production risk is established in the supplied change context.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 1 files. (1 skipped: 1 …
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.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: preparing an inactive Cobalt serving recipe.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

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

@prekshivyas

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@github-code-quality

github-code-quality Bot commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

Code Coverage Overview

Languages: TypeScript

TypeScript / code-coverage/plugin

The overall line coverage in commit 622e429 in the prekshiv/stage-cobal... branch is 97%. The line coverage in commit 63002cd in the main branch is 96%.

Show a line coverage summary of the most impacted files.
File main 63002cd prekshiv/stage-cobal... 622e429 +/-
nemoclaw/src/onboard/config.ts 98% 96% -2%
nemoclaw/src/index.ts 94% 93% -1%
nemoclaw/src/bl...t-management.ts 100% 100% 0%
nemoclaw/src/co.../config-show.ts 100% 100% 0%
nemoclaw/src/commands/slash.ts 100% 100% 0%
nemoclaw/src/on...native-route.ts 0% 100% +100%

TypeScript / code-coverage/cli

The overall line coverage in commit 622e429 in the prekshiv/stage-cobal... branch is 85%. The line coverage in commit 63002cd in the main branch is 84%.

Show a line coverage summary of the most impacted files.
File main 63002cd prekshiv/stage-cobal... 622e429 +/-
src/lib/state/s...tory-restore.ts 86% 0% -86%
src/lib/actions.../status-text.ts 84% 46% -38%
src/lib/state/sandbox.ts 92% 83% -9%
src/lib/onboard...al-inference.ts 84% 90% +6%
src/lib/policy/index.ts 71% 79% +8%
src/lib/state/p...l-retirement.ts 79% 92% +13%
src/lib/onboard.../application.ts 55% 72% +17%
src/lib/adapter...gnostics-cli.ts 0% 87% +87%
src/lib/onboard...ternal-image.ts 0% 94% +94%
src/lib/securit...ig-structure.ts 0% 98% +98%

Updated October 07, 2026 03:23 UTC

Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
@prekshivyas prekshivyas changed the title feat(inference): stage inactive Cobalt configuration feat(inference): prepare inactive Cobalt serving recipe Sep 30, 2026
@prekshivyas

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Sep 30, 2026 •

Copy link
Copy Markdown
Contributor
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@prekshivyas

Copy link
Copy Markdown
Collaborator Author

Update at b317826: the harness-independent Cobalt recipe is published, still hidden and disabled. Normal publication hooks passed, commits are Verified, and CodeRabbit completed with no actionable findings (its test-helper docstring warning remains advisory).

The reviewed-npm-audit job failed on existing Undici 8.10.0 advisories: https://github.com/NVIDIA/NemoClaw/actions/runs/36658803114/job/109708837880. The package manifests, lockfiles and audit inputs match canonical base 41b9d9f; this five-file Cobalt diff adds no dependencies. The separate repair is already tracked in #12507. No audit waiver, policy weakening, or unchanged-job rerun is requested here.

Other CI is still running. The automatic Advisor requires a successful full PR CI run, so the old Advisor result does not cover this update. Keep this PR draft pending complete checks, fresh review evidence, and human approval.

@prekshivyas

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor
⚠️ Action not completed

No files to review.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

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

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@prekshivyas

Copy link
Copy Markdown
Collaborator Author

Advisor disposition for commit 22fd68c1225e4ca6eab373a3dc861e74ab690475:

Finding F-delivery-flow-f7ddd1c1794a06d8e09a is a false positive. The PR workflow already executes the Cobalt integration test.

  • The PR shard job invokes the trusted ci-cli-coverage-shard composite action.
  • That action at the recorded base explicitly runs vitest run --project cli --project integration --project e2e-support.
  • In successful CI run 37057767922, shard 5, artifact cli-blob-report-5 (artifact ID 11249517108) contains test/inference/managed/cobalt-staging.test.ts, project integration, file result pass, and all seven test results pass. This includes the fixed-command and selected-profile/runtime-receipt tests. The artifact was downloaded and decoded, not inferred from the job name.

All nine specialist reports from Advisor run 37059391401 were collected. The other eight reports are clear, including Verification evidence, which confirms the earlier missing-command-assertion finding is resolved. No additional E2E recommendation was recorded. CodeRabbit is clear, full CI and security passed, and the PR has no conflicts.

No workflow or test relocation is warranted. The branch remains unchanged and draft because Require no Advisor blockers is red. A maintainer decision is needed before a fresh Advisor run on the unchanged commit; no rerun, check bypass, approval, or merge has been performed.

@prekshivyas
prekshivyas marked this pull request as ready for review October 2, 2026 20:33
@wscurran wscurran added area: providers Inference provider integrations and provider behavior area: security Security controls, permissions, secrets, or hardening chore Build, CI, dependency, or tooling maintenance platform: arm64 Affects ARM64 or aarch64 architecture platform: container Affects Docker, containerd, Podman, or images platform: dgx-station Affects DGX Station hardware or workflows provider: vllm vLLM local or hosted provider behavior labels Oct 6, 2026
@prekshivyas
prekshivyas marked this pull request as draft October 6, 2026 23:42
@prekshivyas

Copy link
Copy Markdown
Collaborator Author

The configuration update accepted in #12492 is implemented locally, but it is not yet committed or pushed. This PR still points to 22fd68c1225e4ca6eab373a3dc861e74ab690475 and is now draft.

Local validation passed: 67 focused tests, the documentation check (zero errors/two warnings), secret scan, source-shape budget, and growth guardrails. All seven Cobalt tests passed again after the formatter change.

Normal commit hooks blocked publication at pi-qualification-receipt-refresh. Canonical main 5c3c3e9838c500c0c0c171f7d89375486ffc2c85 differs from the Pi receipt source 545faaf4d3850e8cac9b84d3871e1f4330c26d03 at the copied input ci/reviewed-npm-audit.json. The local candidate's Pi image inputs, receipts, and authority match canonical main exactly. The five-file Cobalt diff changes none of them.

This inherited validation failure needs a separate maintainer decision. No hook was bypassed, receipt replaced, validation weakened, or unrelated hardware run started. Existing Pi activation PR #12396 proposes removing the candidate receipt mechanism; that unmerged change is not imported into Cobalt.

@prekshivyas

Copy link
Copy Markdown
Collaborator Author

Publication exception requested by Prekshi Vyas in the active task: "ignore it, push" after the inherited Pi receipt failure was reported. Authenticated account prekshivyas has repository role maintain, verified before this record.

Scope: only the known pi-qualification-receipt-refresh failure during the local commit of the prepared Cobalt update. Base: 5c3c3e9838c500c0c0c171f7d89375486ffc2c85; staged tree: f7af6aa09f5dcb8b9824f645d1f3a9270ba5bc24; prior PR commit: 22fd68c1225e4ca6eab373a3dc861e74ab690475. The five Cobalt files change no Pi image input, receipt, or authority. The inherited failure and comparison evidence are recorded above.

Run the other 17 repository checks explicitly before the commit. Skip the aggregate repository-checks pre-commit hook for that commit only, retaining all other hooks and signing. Leave normal pre-push validation and hosted CI unchanged. This is not a CI waiver, merge approval, or authorization to change Pi. Report any new failure separately.

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

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

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

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@github-actions

github-actions Bot commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

PR Review Advisor finished for commit 622e429. Include the Advisor findings in the complete PR feedback collection. Verify and group valid findings before repair.

Request review only when Require no Advisor blockers is green.

All previous runs

@prekshivyas
prekshivyas marked this pull request as ready for review October 7, 2026 03:30

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: providers Inference provider integrations and provider behavior area: security Security controls, permissions, secrets, or hardening chore Build, CI, dependency, or tooling maintenance platform: arm64 Affects ARM64 or aarch64 architecture platform: container Affects Docker, containerd, Podman, or images 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.

2 participants