Skip to content

test(inference): share vLLM install setup across source tests - #8392

Open
AzeelSajjad wants to merge 25 commits into
NVIDIA:mainfrom
AzeelSajjad:test/share-vllm-install-setup-8351
Open

test(inference): share vLLM install setup across source tests#8392
AzeelSajjad wants to merge 25 commits into
NVIDIA:mainfrom
AzeelSajjad:test/share-vllm-install-setup-8351

Conversation

@AzeelSajjad

@AzeelSajjad AzeelSajjad commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Summary

Moves repeated installVllm setup from three source tests into src/lib/inference/vllm-install.test-support.ts.
Production code and supported behavior do not change.
The helpers replace configured probe responses and Docker ownership responses whenever they are invoked.

Related Issue

Fixes #8351

Changes

  • Add shared setup for Docker and storage probe results, process stubs, successful installation responses, and test cleanup.
  • Use that setup in vllm.test.ts, vllm-install-storage.test.ts, and vllm-compute-capability.test.ts.
  • Keep scenario inputs and assertions in the source test that owns each behavior.
  • Add a focused test that verifies repeated setup replaces changed probe results and consumed Docker ownership responses.
  • Remove two unused helper copies from vllm.test.ts.
  • Increase the src/lib/inference source-file budget from 62 to 63 because the repository counts .test-support.ts as a source file.
  • Reduce the five-file change by 11 lines: 351 additions and 362 deletions.

Type of Change

  • Code change (feature, bug fix, or refactor)
  • Code change with doc updates
  • Doc only (prose changes, no code sample modifications)
  • Doc only (includes code sample changes)

Quality Gates

  • Tests added or updated for changed behavior
  • Existing tests cover changed behavior — justification:
  • Tests not applicable — justification:
  • Docs updated for user-facing behavior changes
  • Docs not applicable — justification: The change consolidates source-test setup and updates a CI architecture budget. It does not change a public API, CLI, configuration, UI, workflow, default, error, or supported product behavior.
  • 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: An independent nine-category review found no findings for PR commit 3e1dc3959dc4d4aa42bafd117cff8dc6b1e003a2 against base SHA bf429e90e5b217632356e2d918bfc333e5b8e959.
  • Non-success, skipped, or missing CI check accepted by maintainer — check name, approval link, and follow-up issue: No waiver is recorded.

Documentation Writer Review

  • Documentation writer subagent reviewed the completed changes
  • Result: no-docs-needed
  • Evidence: Reviewed ci/source-architecture-budget.json, src/lib/inference/vllm-compute-capability.test.ts, src/lib/inference/vllm-install-storage.test.ts, src/lib/inference/vllm-install.test-support.ts, and src/lib/inference/vllm.test.ts for commit 3e1dc3959dc4d4aa42bafd117cff8dc6b1e003a2 against base SHA bf429e90e5b217632356e2d918bfc333e5b8e959. The change consolidates setup for three source tests and updates one CI architecture budget. Production code, public interfaces, configuration, workflows, defaults, errors, and supported behavior do not change. The changed comments and test title follow WRITING.md and the controlled word list.
  • Agent: Codex Desktop

DGX Station Hardware Evidence

  • Tested on DGX Station
  • Tested commit: Not applicable; scripts/prepare-dgx-station-host.sh does not change.
  • Station profile/scenario: Not applicable.
  • Result: Not applicable.
  • Supporting evidence: Not applicable.

Verification

  • PR description includes a Signed-off-by: line and every commit appears as Verified in GitHub — all 23 commits appear as Verified.
  • Normal pre-commit, commit-msg, and pre-push hooks passed, or npm run validate:pr passed after refreshing origin/main when hooks were skipped or unavailable — normal hooks passed for the maintainer corrections and current merge commit.
  • Targeted behavior tests pass for the current change set, or tests are marked not applicable above — fork workflows require explicit maintainer approval for PR commit 3e1dc3959dc4d4aa42bafd117cff8dc6b1e003a2. No standalone local test suite ran after the merge.
  • Applicable broad gate passed — required checks are not complete for the current PR commit.
  • Quality Gates section completed with required justifications or waivers
  • No secrets, API keys, or credentials committed — the independent security review passed all nine categories.
  • npm run docs builds without warnings (doc changes only) — not applicable; no documentation changes.
  • Doc pages follow the style guide (doc changes only) — not applicable; no documentation changes.
  • New doc pages include SPDX header and frontmatter (new pages only) — not applicable; no new page.

Sensitive-Path Security Review

Independent review found no security finding for PR commit 3e1dc3959dc4d4aa42bafd117cff8dc6b1e003a2 against base SHA bf429e90e5b217632356e2d918bfc333e5b8e959.

  1. Secrets and credentials: PASS. Only synthetic test credentials remain, and environment reset clears both Hugging Face token variables.
  2. Input validation and data sanitization: PASS. No production input path changes; invalid Docker output and argument tests remain.
  3. Authentication and authorization: PASS. No runtime authentication or authorization behavior changes.
  4. Dependencies and third-party libraries: PASS. No dependency or lockfile changes.
  5. Error handling and logging: PASS. No runtime errors or logs change; the test-only ownership queue fails when no configured response remains.
  6. Cryptography and data protection: PASS. No cryptographic or protected-data handling changes.
  7. Configuration and security headers: PASS. Only the CI architecture budget changes; no runtime or container configuration changes.
  8. Security testing: PASS. Ownership, token redaction, argument validation, and fail-closed assertions remain, and the change adds a setup regression test.
  9. System security: PASS. No production control changes.

Required checks and independent maintainer approval remain separate merge requirements.

GitHub Actions

GitHub Actions is authoritative for PR commit 3e1dc3959dc4d4aa42bafd117cff8dc6b1e003a2 against base SHA bf429e90e5b217632356e2d918bfc333e5b8e959.
Fork workflows require explicit maintainer approval before required checks can run.
No workflow or check waiver is recorded.


Signed-off-by: Azeel Sajjad aasajjad05@gmail.com

)

Rewrite the mockSuccessfulVllmInstall JSDoc to describe the actual
alternation between an unconditional empty row and the queued
ownershipResponses entries, instead of the misleading "in order"
claim. Strengthen the freshness guard test with a third
dockerCapture(["container"]) call on the first instance so a
module-scoped ownershipCallIndex regression is caught instead of
passing silently.
…ity suite (NVIDIA#8351)

Adopt vllm-install.test-support.ts in the third suite carrying the
same duplicated install-mock mechanics: probe defaults, spy
lifecycle, and mockDockerSpawnSuccess. Also aligns the crash-loop
watchdog describe block's env reset with the shared helper, which now
also clears HUGGING_FACE_HUB_TOKEN there for consistency with the
preflight describe block.
@copy-pr-bot

copy-pr-bot Bot commented Aug 5, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@coderabbitai

coderabbitai Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Review 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
📝 Walkthrough

Walkthrough

The PR adds shared vLLM installation test utilities and migrates three inference test suites to use them. It centralizes mocks, spies, process stubs, storage probes, and environment cleanup while preserving suite-specific scenarios and assertions.

Changes

vLLM installation test consolidation

Layer / File(s) Summary
Shared support utilities
ci/source-architecture-budget.json, src/lib/inference/vllm-install.test-support.ts
Added shared typed fixtures, Docker process stubs, storage probes, installation mocks, spy restoration, and environment cleanup. Increased the inference source architecture budget from 62 to 63 root files.
Main vLLM suite migration
src/lib/inference/vllm.test.ts
Replaced local test setup with shared helpers. Added regression coverage for fresh probe results and isolated ownership queues.
Compute capability suite migration
src/lib/inference/vllm-compute-capability.test.ts
Applied shared probe, spy, environment, and Docker process setup to preflight and crash-loop suites.
Storage suite migration
src/lib/inference/vllm-install-storage.test.ts
Replaced local helpers and spies with shared setup and passed the shared mock registry through installation and storage scenarios.

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

Possibly related PRs

  • NVIDIA/NemoClaw#8399: Refactors vLLM installation tests and adds overlapping shared test utilities.

Suggested labels: area: inference, refactor, chore

Suggested reviewers: cv, prekshivyas

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed The changes satisfy #8351 by centralizing fresh vLLM setup while preserving suite-local mocks, scenarios, assertions, and ownership.
Out of Scope Changes check ✅ Passed The changes remain within #8351 scope and include only test scaffolding plus the required source architecture budget update.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: sharing vLLM installation test setup across inference source tests.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 `@src/lib/inference/vllm-install.test-support.test.ts`:
- Around line 62-71: Update the test around applyVllmInstallProbeDefaults to
reuse the original first mock registry: after mutating
first.probeHostStorage().capacity.availableBytes, invoke
applyVllmInstallProbeDefaults(first) again, then assert that
first.probeHostStorage() reports the default availableBytes value. Remove the
separate second registry so the test verifies repeated setup replaces mutated
results.
🪄 Autofix

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: 0c307abe-2592-4e46-8cdf-79679e0a8bb6

📥 Commits

Reviewing files that changed from the base of the PR and between c6713c9 and aad87aa.

📒 Files selected for processing (6)
  • ci/source-architecture-budget.json
  • src/lib/inference/vllm-compute-capability.test.ts
  • src/lib/inference/vllm-install-storage.test.ts
  • src/lib/inference/vllm-install.test-support.test.ts
  • src/lib/inference/vllm-install.test-support.ts
  • src/lib/inference/vllm.test.ts

Comment thread src/lib/inference/vllm-install.test-support.test.ts Outdated
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

PR Review Advisor — No blocking findings reported

Advisor assessment: No blocking advisor findings reported
Next action: No advisor follow-up needed.
Findings: 0 blockers · 0 warnings · 0 suggestions

Model lanes

  • GPT-5.6 Terra (primary): Completed · high confidence · 0 blockers · 0 warnings · 0 suggestions
  • Nemotron 3 Ultra (second opinion): Completed · high confidence · 0 blockers · 0 warnings · 0 suggestions
  • Model comparison: normalized findings match; normalized terminology decisions differ; normalized E2E selections differ; severity counts match.
2 terminology differences from the second opinion

Advisory only. These are normalized differences from the primary terminology receipt.

  • ambient Docker ownership at src/lib/inference/vllm-install.test-support.ts:171: selected only by the second-opinion lane as justified.
  • shared vLLM install setup at src/lib/inference/vllm.test.ts:128: selected only by the second-opinion lane as established.
3 additional E2E selections from the second opinion

Advisory only. The primary lane did not select these E2E jobs or targets.

  • vllm-docker-storage: The completed second-opinion lane identified E2E coverage that the primary lane omitted.
  • spark-install: The completed second-opinion lane identified E2E coverage that the primary lane omitted.
  • gpu-e2e: The completed second-opinion lane identified E2E coverage that the primary lane omitted.

Second-opinion terminology and E2E selections are advisory. They do not change the primary assessment or E2E / PR Gate.

2 semantic terminology decisions

Terminology decisions are advisory. They affect the assessment only when a separate finding identifies concrete semantic impact.

  • established — source tests at src/lib/inference/vllm-install.test-support.ts:4: Keep `source tests`; it matches the controlled term and existing repository usage.
  • justified — Docker ownership responses at src/lib/inference/vllm-install.test-support.ts:133: Keep `Docker ownership responses`; the modifier identifies the specific mock queue and its ownership-check purpose.

E2E guidance

Advisory only. E2E / PR Gate selects and runs jobs independently.

Recommended E2E: inference-routing, network-policy

Workflow run details

This automated review informs maintainers. Warnings and suggestions do not require a response. A maintainer decides whether to merge.

@apurvvkumaria apurvvkumaria self-assigned this Aug 5, 2026
Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
@apurvvkumaria

Copy link
Copy Markdown
Collaborator

Security review result: PASS for the current revision (17972336e).

No security findings. The PR changes only vLLM test scaffolding and the source-architecture budget; production runtime behavior is unchanged.

  • Secrets and credentials: PASS. Fixtures use synthetic values only, and the shared reset clears token environment variables.
  • Input validation and sanitization: PASS. No production input boundary changed.
  • Authentication and authorization: PASS. No auth logic changed.
  • Dependencies: PASS. No dependency change.
  • Error handling and logging: PASS. Shared spies preserve the existing test isolation and restoration behavior.
  • Cryptography and data protection: PASS. No cryptographic or data-handling change.
  • Configuration and security headers: PASS. No runtime configuration or HTTP surface changed.
  • Security testing: PASS. Existing token redaction, ownership fail-closed, storage, and GPU preflight coverage remains in the owning suites; the new same-registry guard verifies fresh probe results and ownership queues.
  • Holistic posture: PASS. No sandbox, network-policy, credential, or privilege boundary changed.

Files reviewed: ci/source-architecture-budget.json, src/lib/inference/vllm-install.test-support.ts, src/lib/inference/vllm-compute-capability.test.ts, src/lib/inference/vllm-install-storage.test.ts, and src/lib/inference/vllm.test.ts.

Validation: 102 targeted tests passed; formatting, test-title policy, source-shape/project membership, CLI typechecking, repository hooks, secret scanning, and normal pre-push checks passed.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
src/lib/inference/vllm.test.ts (1)

82-96: 📐 Maintainability & Code Quality | 🔵 Trivial | 🏗️ Heavy lift

Use the shared setup path for dual-Station installation tests.

src/lib/inference/vllm-dual-station.test.ts still duplicates probe defaults, spies, and environment setup. Move this common setup into vllm-install.test-support.ts, or document and link the bounded exclusion.

🤖 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 `@src/lib/inference/vllm.test.ts` around lines 82 - 96, Consolidate the
duplicated probe defaults, spies, and environment setup used by dual-Station
installation tests into vllm-install.test-support.ts, reusing helpers such as
applyVllmInstallProbeDefaults, createVllmInstallSpies, and resetVllmInstallEnv
from vllm.test.ts. Update vllm-dual-station.test.ts to use this shared setup
path and remove its local duplicates; only retain the duplication if it is
explicitly documented with a link to the bounded exclusion.

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.

Inline comments:
In `@src/lib/inference/vllm.test.ts`:
- Around line 113-124: Reset the closure-backed dockerCapture mock after the
ownership-queue assertions by calling mocks.dockerCapture.mockReset(). Place the
reset before the test exits so subsequent tests do not inherit the exhausted
queue; do not alter the existing queue expectations.

---

Nitpick comments:
In `@src/lib/inference/vllm.test.ts`:
- Around line 82-96: Consolidate the duplicated probe defaults, spies, and
environment setup used by dual-Station installation tests into
vllm-install.test-support.ts, reusing helpers such as
applyVllmInstallProbeDefaults, createVllmInstallSpies, and resetVllmInstallEnv
from vllm.test.ts. Update vllm-dual-station.test.ts to use this shared setup
path and remove its local duplicates; only retain the duplication if it is
explicitly documented with a link to the bounded exclusion.
🪄 Autofix

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: ba510dcb-2214-4b0e-b74d-14997a854e28

📥 Commits

Reviewing files that changed from the base of the PR and between aad87aa and 1797233.

📒 Files selected for processing (1)
  • src/lib/inference/vllm.test.ts

Comment thread src/lib/inference/vllm.test.ts
@apurvvkumaria

Copy link
Copy Markdown
Collaborator

Maintainer update for the current revision (17972336e), based on main revision c6713c9dd:

Remaining gates are the advisor retry, ordinary fork CI workflows awaiting repository approval/execution, E2E, and independent maintainer approval. The active merge freeze is honored; no merge was attempted.

@apurvvkumaria

Copy link
Copy Markdown
Collaborator

The bounded advisor retry completed successfully: both model lanes now report high confidence with zero blockers, warnings, or suggestions. The prior failure was limited to advisor service configuration and is resolved. Ordinary CI is still running, and protected E2E plus independent approval remain required. No merge will be attempted during the release freeze.

@apurvvkumaria

Copy link
Copy Markdown
Collaborator

Protected E2E is complete for branch revision 17972336e: the inference-routing and live network-policy scenarios both passed in the trusted E2E run. Required automated validation is now green. Remaining gates are an independent approval and a refresh after the release tag stabilizes main; the active merge freeze remains in effect, so no merge was performed.

Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>

@cjagwani cjagwani left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict

PASS for exact head 095f138365c63f39d02b7f9aa3cd8e7a2f653641 on base 21955a57815e9da1ac356025c5b75e90eb8c5e00. The patch consolidates source-suite test scaffolding, resets closure-backed mocks, returns a fresh process stub per model-download invocation, and isolates legacy install unit tests from real managed-cluster discovery. It changes no production behavior or runtime boundary.

Findings

No security findings.

Detailed analysis

  1. Secrets and Credentials — PASS. Test token values remain synthetic, shared cleanup removes both supported token environment variables, and no credentials or secret material are added.
  2. Input Validation and Data Sanitization — PASS. No production input path changes. The mock ownership queue continues to fail loudly on unexpected inspections, and test-only command dispatch remains keyed by fixed command names.
  3. Authentication and Authorization — PASS. Not applicable; no production identity, authentication, authorization, or permission behavior changes.
  4. Dependencies and Third-Party Libraries — PASS. No dependency or lockfile changes. The source-architecture budget increases by one solely for the new test-support module.
  5. Error Handling and Logging — PASS. Test spies continue to suppress and restore console and stream output, and all mock state is reset explicitly without exposing sensitive values.
  6. Cryptography and Data Protection — PASS. Not applicable; no cryptographic or protected-data operations change.
  7. Configuration and Security Headers — PASS. No runtime configuration, image, port, network policy, privilege, capability, or HTTP-header changes.
  8. Security Testing — PASS. The three owning suites retain their behavior assertions; exact-head validation passes 102 tests. Fresh process emitters and isolated managed-cluster selection remove timing and host-environment leakage from security-adjacent inference tests.
  9. Holistic Security Posture — PASS. The patch does not affect SSRF controls, sandbox isolation, Docker production calls, credentials, or blueprint policy. It strengthens deterministic fail-closed test behavior and introduces no alternate runtime path.

Files reviewed

  • ci/source-architecture-budget.json
  • src/lib/inference/vllm-compute-capability.test.ts
  • src/lib/inference/vllm-install-storage.test.ts
  • src/lib/inference/vllm-install.test-support.ts
  • src/lib/inference/vllm.test.ts

Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>

@cjagwani cjagwani left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict

PASS for exact head 459990c3ca647642b84944bd19023cd94d991d89 on base db31c286129e878c3356eed49f76ab259561e47e. The patch consolidates source-suite test scaffolding, resets closure-backed mocks, returns a fresh process stub per model-download invocation, and isolates legacy install unit tests from real managed-cluster discovery. It changes no production behavior or runtime boundary.

Findings

No security findings.

Detailed analysis

  1. Secrets and Credentials — PASS. Test token values remain synthetic, shared cleanup removes both supported token environment variables, and no credentials or secret material are added.
  2. Input Validation and Data Sanitization — PASS. No production input path changes. The mock ownership queue continues to fail loudly on unexpected inspections, and test-only command dispatch remains keyed by fixed command names.
  3. Authentication and Authorization — PASS. Not applicable; no production identity, authentication, authorization, or permission behavior changes.
  4. Dependencies and Third-Party Libraries — PASS. No dependency or lockfile changes. The source-architecture budget increases by one solely for the new test-support module.
  5. Error Handling and Logging — PASS. Test spies continue to suppress and restore console and stream output, and all mock state is reset explicitly without exposing sensitive values.
  6. Cryptography and Data Protection — PASS. Not applicable; no cryptographic or protected-data operations change.
  7. Configuration and Security Headers — PASS. No runtime configuration, image, port, network policy, privilege, capability, or HTTP-header changes.
  8. Security Testing — PASS. The three owning suites retain their behavior assertions; exact-head validation passes 102 tests. Fresh process emitters and isolated managed-cluster selection remove timing and host-environment leakage from security-adjacent inference tests.
  9. Holistic Security Posture — PASS. The patch does not affect SSRF controls, sandbox isolation, Docker production calls, credentials, or blueprint policy. It strengthens deterministic fail-closed test behavior and introduces no alternate runtime path.

Files reviewed

  • ci/source-architecture-budget.json
  • src/lib/inference/vllm-compute-capability.test.ts
  • src/lib/inference/vllm-install-storage.test.ts
  • src/lib/inference/vllm-install.test-support.ts
  • src/lib/inference/vllm.test.ts

@cjagwani
cjagwani requested review from cv and prekshivyas August 5, 2026 21:50
@apurvvkumaria

Copy link
Copy Markdown
Collaborator

Protected-gate disposition for the current branch revision:

Ordinary CI passed again with no failures. The protected gate is terminal because two maintainer approval attempts overlapped; canceling the duplicate controller also canceled the sole child run before the selected inference-routing and network-policy jobs started. A subsequent clean CI rerun confirmed the code remains green, but the controller correctly refuses to reuse the completed gate state for the same branch/base pair.

This is an orchestration failure, not a product or test failure. I will not create an artificial commit or dispatch additional duplicate controllers. The already-required post-tag branch reconciliation will create a fresh validation state, after which the two selected protected checks will run once. The merge freeze remains active.

Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>

@cjagwani cjagwani left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict

PASS for exact head 2dd1cf1060bccf796ea8634d50e7e8562fcb2a6e on base db31c286129e878c3356eed49f76ab259561e47e. The effective source diff is identical to the previously reviewed revision; the only new commit is a signed, empty CI-retry commit required after a terminal E2E-controller timeout. The patch changes test scaffolding only and introduces no production behavior or runtime boundary.

Findings

No security findings.

Detailed analysis

  1. Secrets and Credentials — PASS. Test token values remain synthetic, shared cleanup removes both supported token environment variables, and no credentials or secret material are added.
  2. Input Validation and Data Sanitization — PASS. No production input path changes. The mock ownership queue continues to fail loudly on unexpected inspections, and test-only command dispatch remains keyed by fixed command names.
  3. Authentication and Authorization — PASS. Not applicable; no production identity, authentication, authorization, or permission behavior changes.
  4. Dependencies and Third-Party Libraries — PASS. No dependency or lockfile changes. The source-architecture budget increases by one solely for the new test-support module.
  5. Error Handling and Logging — PASS. Test spies continue to suppress and restore console and stream output, and all mock state is reset explicitly without exposing sensitive values.
  6. Cryptography and Data Protection — PASS. Not applicable; no cryptographic or protected-data operations change.
  7. Configuration and Security Headers — PASS. No runtime configuration, image, port, network policy, privilege, capability, or HTTP-header changes.
  8. Security Testing — PASS. The three owning suites retain their behavior assertions; exact-diff validation passed 102 tests before the empty retry commit. Fresh process emitters and isolated managed-cluster selection remove timing and host-environment leakage from security-adjacent inference tests.
  9. Holistic Security Posture — PASS. The patch does not affect SSRF controls, sandbox isolation, Docker production calls, credentials, or blueprint policy. It strengthens deterministic fail-closed test behavior and introduces no alternate runtime path.

Files reviewed

  • ci/source-architecture-budget.json
  • src/lib/inference/vllm-compute-capability.test.ts
  • src/lib/inference/vllm-install-storage.test.ts
  • src/lib/inference/vllm-install.test-support.ts
  • src/lib/inference/vllm.test.ts

@apurvvkumaria

Copy link
Copy Markdown
Collaborator

Validation disposition for branch revision 2dd1cf1060bc:

  • Ordinary CI, DCO, commit verification, documentation review, CodeQL, security review, and both PR Review Advisor lanes pass. All 13 commits are verified, and both review threads are resolved.
  • Protected E2E run 31055292143 ran only the selected inference-routing and network-policy checks. Inference-routing passed.
  • Network policy failed while ClawHub resolved @openclaw/sherpa-onnx-tts: the external service returned HTTP 503, Rate limit temporarily unavailable. Restricted onboarding and policy setup had already passed, and cleanup passed.
  • This is an external service failure, not a PR regression. The PR changes only vLLM test scaffolding and the source-architecture budget; it does not change ClawHub integration, network-policy behavior, or production inference code.
  • The single bounded retry for this revision was already used to recover the Terra advisor model-protocol failure, so no additional E2E retry was dispatched.

The protected gate is therefore blocked specifically on external ClawHub availability. Independent approval and the active merge freeze also remain.

@apurvvkumaria

Copy link
Copy Markdown
Collaborator

Release status update: v0.0.103 has been cut and the merge freeze is lifted. This does not change the remaining gates: the protected network-policy result is still externally blocked by the documented ClawHub HTTP 503, and independent approval is still required. No merge will be attempted without a fresh passing required gate.

cjagwani and others added 7 commits August 5, 2026 16:47
Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
Reverts commit 1130650.

Signed-off-by: Carlos Villela <cvillela@nvidia.com>
Signed-off-by: Carlos Villela <cvillela@nvidia.com>
Signed-off-by: Carlos Villela <cvillela@nvidia.com>
Signed-off-by: Carlos Villela <cvillela@nvidia.com>
Signed-off-by: Carlos Villela <cvillela@nvidia.com>
@cv cv changed the title test(inference): share vLLM install setup across source suites test(inference): share vLLM install setup across source tests Aug 6, 2026
cv added 3 commits August 5, 2026 20:02
Signed-off-by: Carlos Villela <cvillela@nvidia.com>
Signed-off-by: Carlos Villela <cvillela@nvidia.com>
Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Share vLLM install test setup across source suites

4 participants