Skip to content

test(e2e): harden protected runtime cleanup authority - #8918

Closed
ericksoa wants to merge 16 commits into
mainfrom
fix/protected-runtime-cleanup-authority
Closed

test(e2e): harden protected runtime cleanup authority#8918
ericksoa wants to merge 16 commits into
mainfrom
fix/protected-runtime-cleanup-authority

Conversation

@ericksoa

@ericksoa ericksoa commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Summary

Make the trusted protected-runtime harness restore rollback state from the canonical state root and fail closed when provider cleanup authority cannot be proved. This prerequisite lets B4-D's protected qualification produce authoritative rollback and cleanup evidence before the candidate branch advances.

Related Issue

Supports #7744 and #8061.

Changes

  • pass the canonical onboarding state root into the injected rollback adapter
  • bind temporary NIM and vLLM containers to exact IDs, images, immutable image IDs, cohort ownership, and provider kind before ID-only removal
  • reject missing, ambiguous, reused, drifted, or indeterminate cleanup evidence and verify both ID and name absence afterward
  • preserve bounded, redacted provider-native readiness diagnostics, including a total timeout for stalled vLLM HTTP probes
  • document the fail-closed credential-bearing cleanup-refusal risk

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:
  • 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: Independent Codex Desktop review of exact head dd44d6c34; no blockers or suggestions remain after exact-ID inspection, bounded and argument-observable vLLM diagnostics, state-root recovery coverage, and explicit provider-key invalidation guidance.
  • Non-success, skipped, or missing CI check accepted by maintainer — check name, approval link, and follow-up issue:

Documentation Writer Review

  • Documentation writer subagent reviewed the completed changes
  • Result: docs-updated
  • Evidence: .agents/skills/nemoclaw-maintainer-e2e/SKILL.md, test/e2e/README.md; reviewed all nine changed paths for terminology, structure, voice, command construction and exact argument boundaries, credential location and invalidation, provider-native failure evidence, rollback state-root authority, exact-ID cleanup authority, and documentation accuracy. No Fern page update is needed because this prerequisite changes the protected test harness and an injected test seam, not supported user behavior.
  • Agent: Codex Desktop

DGX Station Hardware Evidence

  • Tested on DGX Station
  • Tested commit:
  • Station profile/scenario:
  • Result:
  • Supporting evidence:

Verification

  • PR description includes a Signed-off-by: line and every commit appears as Verified in GitHub
  • 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 — npm run validate:pr passed on exact head dd44d6c34 against origin/main 7c721ae4d.
  • Targeted behavior tests pass for the current change set, or tests are marked not applicable above — command/result or justification: 36 CLI sandbox GPU flow, 33 protected-runtime integration, and 33 E2E-support readiness tests passed on the exact head; CLI typecheck, repository checks, Vitest project membership, Biome, diff check, and docs build also passed.
  • Applicable broad gate passed — npm test for broad runtime/test-harness changes; npm run check for repo-wide validation/coverage changes — command/result:
  • Quality Gates section completed with required justifications or waivers
  • No secrets, API keys, or credentials committed
  • npm run docs builds without warnings (doc changes only) — build completed with zero errors; its two hidden-page warnings pre-exist this change.
  • Doc pages follow the style guide (doc changes only) — markdownlint-cli2 passed and the exact-tree writer review found no blockers or suggestions.
  • New doc pages include SPDX header and frontmatter (new pages only)

Signed-off-by: Aaron Erickson aerickson@nvidia.com

Summary by CodeRabbit

  • Bug Fixes

    • Improved managed runtime validation and cleanup to prevent removing the wrong container.
    • Added stricter checks for container identity, ownership, images, provider metadata, and leftover resources.
    • Improved handling of ambiguous, reused, stopped, or unavailable runtime states.
    • Improved managed bootstrap recovery and state tracking.
  • Tests

    • Expanded coverage for provider startup, readiness, GPU validation, recovery, cleanup, and failure scenarios.
  • Documentation

    • Clarified cleanup requirements and key-revocation steps when protected runtime cleanup cannot complete.

Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
@ericksoa ericksoa self-assigned this Aug 12, 2026
@coderabbitai

coderabbitai Bot commented Aug 12, 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

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: a816e3cf-6b32-4661-b4ba-1500fe17478a

📥 Commits

Reviewing files that changed from the base of the PR and between 46b2c47 and e1485a1.

📒 Files selected for processing (1)
  • test/e2e/support/managed-image-protected-runtime-readiness.test.ts

📝 Walkthrough

Walkthrough

The change propagates managed-bootstrap state roots through sandbox creation and failure injection. Protected runtime qualification now validates provider container identities, performs authority-aware cleanup, uses name-aware readiness checks, and validates final inventory.

Changes

Managed runtime safety

Layer / File(s) Summary
Managed-bootstrap state-root wiring
scripts/checks/run-managed-image-openshell-e2e.ts, src/lib/onboard/sandbox-gpu-create-flow.ts, src/lib/onboard/sandbox-gpu-create-run-attempt.ts, src/lib/onboard/sandbox-gpu-create-flow.test.ts, test/managed-image-protected-runtime-contract.test.ts
The managed-bootstrap adapter factory receives the flow state root. Tests verify adapter creation, directory creation, and cleanup.
Provider authority and lifecycle
test/e2e/live/managed-image-protected-runtime-helpers.ts
Provider containers use cohort-derived names and ownership labels. Startup records container IDs and authority receipts. Readiness, cleanup, and inventory checks use recorded identities.
Runtime validation and cleanup documentation
test/e2e/support/managed-image-protected-runtime-readiness.test.ts, test/e2e/README.md, .agents/skills/nemoclaw-maintainer-e2e/SKILL.md
Tests cover invalid Docker states, readiness diagnostics, stalled probes, and inventory failures. Documentation describes identity-bound cleanup and API-key remediation.

Estimated code review effort: 4 (Complex) | ~45 minutes

Mergeability Score: 🟡 Moderate · up to e1485

The PR hardens protected-runtime cleanup and diagnostics, but a changed readiness test may assert redaction on raw stderr even though redaction applies only to stored artifacts. Resolve or explicitly reconcile this test contract before merging.

Suggested reviewers: cv

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: hardening protected runtime cleanup authority in E2E tests.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/protected-runtime-cleanup-authority

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

@github-code-quality

github-code-quality Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Code Coverage Overview

Languages: TypeScript

TypeScript / code-coverage/plugin

The overall coverage in commit 1112427 in the fix/protected-runtim... branch remains at 96%, unchanged from commit efce512 in the main branch.

TypeScript / code-coverage/cli

The overall coverage in commit 1112427 in the fix/protected-runtim... branch remains at 82%, unchanged from commit a44610a in the main branch.

Show a code coverage summary of the most impacted files.
File main a44610a fix/protected-runtim... 1112427 +/-
src/lib/onboard...der/snapshot.ts 83% 75% -8%
src/lib/onboard...press-resume.ts 82% 78% -4%
src/lib/securit...ntial-filter.ts 95% 91% -4%
src/lib/inferen...ollama/proxy.ts 36% 33% -3%
src/lib/state/o...d-checkpoint.ts 87% 90% +3%
src/lib/trace.ts 90% 94% +4%
src/lib/cua/run...ime-manifest.ts 84% 91% +7%
src/lib/cua/contract.ts 80% 87% +7%
src/lib/cua/bounded-file.ts 84% 94% +10%
src/lib/actions...ocker-health.ts 61% 78% +17%

Updated August 13, 2026 03:09 UTC

Signed-off-by: Aaron Erickson <aerickson@nvidia.com>

@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: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
test/e2e/live/managed-image-protected-runtime-helpers.ts (1)

636-667: 🩺 Stability & Availability | 🟠 Major | ⚡ Quick win

Bound the vLLM readiness loop to its command timeout.

The vLLM loop runs up to 300 attempts. Each attempt can consume up to 5 seconds of curl --max-time plus a 2-second sleep, so the worst case is about 35 minutes. The caller allows only 11 minutes (Line 615). A stalled provider therefore reaches the harness timeout, and the script never runs docker logs --tail 200. The redacted container diagnostics are lost for exactly the failure that needs them.

protectedNimReadinessCommand already solves this with an explicit deadline that is smaller than its 21-minute command timeout. Use the same pattern here. Also add --noprofile --norc, which every other command in this file passes.

🛠️ Proposed fix to bound the loop and match the NIM pattern
   return {
     command: "bash",
     captureLimitBytes: PROTECTED_READINESS_CAPTURE_LIMIT_BYTES,
     args: [
+      "--noprofile",
+      "--norc",
       "-c",
       `set -euo pipefail
 attempt=0
-for attempt in $(seq 1 300); do
+deadline=$((SECONDS + 600))
+while [ "$SECONDS" -lt "$deadline" ]; do
+  attempt=$((attempt + 1))
   if curl -fsS --connect-timeout 2 --max-time 5 http://127.0.0.1:8000/v1/models >/dev/null 2>&1; then
     printf 'managed-image-vllm-ready attempts=%s\n' "$attempt"
     exit 0
   fi
   if ! docker container inspect "${containerName}" --format '{{.State.Running}}' | grep -Fx true >/dev/null; then
     break
   fi
   sleep 2
 done

Note: the support test at test/e2e/support/managed-image-protected-runtime-readiness.test.ts stubs seq to print a single attempt. Update that stub after this change so the bounded-probe tests still exercise one attempt.

🤖 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 `@test/e2e/live/managed-image-protected-runtime-helpers.ts` around lines 636 -
667, Update protectedVllmReadinessCommand to follow
protectedNimReadinessCommand: add an explicit deadline that bounds the readiness
loop below the caller’s command timeout, stop probing when the deadline is
reached, and preserve execution of the docker logs diagnostics afterward. Add
--noprofile and --norc to the bash arguments, and update the readiness support
test’s seq stub so bounded-probe coverage still performs one attempt.

Source: Path instructions

🧹 Nitpick comments (2)
test/e2e/live/managed-image-protected-runtime-helpers.ts (2)

99-105: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Extract the repeated Docker name-contract validation.

The same length check and regular expression appear in protectedProviderReportedContainerId, protectedProviderContainerPreflightCommand, protectedVllmReadinessCommand, and protectedNimReadinessCommand. Four copies can drift. Extract one assertProtectedProviderContainerName(name) helper and call it from each site.

Also applies to: 129-134

🤖 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 `@test/e2e/live/managed-image-protected-runtime-helpers.ts` around lines 99 -
105, Extract the shared Docker name-contract check into an
assertProtectedProviderContainerName(name) helper. Replace the duplicated
validation in protectedProviderReportedContainerId,
protectedProviderContainerPreflightCommand, protectedVllmReadinessCommand, and
protectedNimReadinessCommand with calls to this helper, preserving the existing
error behavior.

482-533: 🔒 Security & Privacy | 🔵 Trivial | ⚡ Quick win

Inspect the provider container by its recorded exact ID.

inspectProtectedProviderContainer passes state.name to docker container inspect. The name is mutable Docker state. The recorded state.reportedContainerId is the immutable identity that the preceding docker run returned.

The later comparison at Line 523 does catch a reused name, because the reused container reports a different ID. Inspecting by the recorded ID is still stronger: it removes the name-resolution step from the trust path, and it matches the recorded-ID authority that protectedProviderContainerCleanupCommand already uses.

♻️ Proposed refactor to inspect by recorded ID
 async function inspectProtectedProviderContainer(
   host: HostCliClient,
   state: ProtectedProviderContainerState,
   requestedImage: string,
   artifactName: string,
 ): Promise<ProtectedProviderContainerAuthority> {
+  if (!state.reportedContainerId) {
+    throw new Error(`provider authority inspection has no recorded ID for ${state.name}`);
+  }
   const result = await host.command(
     "docker",
     [
       "container",
       "inspect",
       "--format",
       '{{.Id}}|{{.Name}}|{{.Config.Image}}|{{.Image}}|{{ index .Config.Labels "io.nvidia.nemoclaw.e2e-owner" }}|{{ index .Config.Labels "io.nvidia.nemoclaw.e2e-provider" }}',
-      state.name,
+      state.reportedContainerId,
     ],
🤖 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 `@test/e2e/live/managed-image-protected-runtime-helpers.ts` around lines 482 -
533, Update inspectProtectedProviderContainer to pass state.reportedContainerId,
rather than state.name, as the target argument to docker container inspect. Keep
the existing identity and authority comparisons unchanged, including actualName
validation against the expected container name.

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 `@test/e2e/support/managed-image-protected-runtime-readiness.test.ts`:
- Around line 714-748: Make the curl flag contract observable in the test around
protectedVllmReadinessCommand: have the curl stub record its received arguments
while still returning the intended probe failure, then assert the recorded argv
contains -fsS, --connect-timeout 2, and --max-time 5. Remove the inline flag
conditionals that can independently trigger the same readiness outcome, while
preserving the existing readiness and diagnostic assertions.

In `@test/managed-image-protected-runtime-contract.test.ts`:
- Around line 85-102: Extend the test around failureInjectingAdapter to create
the stateRoot/managed-bootstrap journal directory, invoke
adapter.recoverUnfinishedTransactions(), and assert that it returns an empty
report. Retain the existing adapter shape and stateRoot directory assertions
while exercising the journal path derived from the supplied stateRoot.

---

Outside diff comments:
In `@test/e2e/live/managed-image-protected-runtime-helpers.ts`:
- Around line 636-667: Update protectedVllmReadinessCommand to follow
protectedNimReadinessCommand: add an explicit deadline that bounds the readiness
loop below the caller’s command timeout, stop probing when the deadline is
reached, and preserve execution of the docker logs diagnostics afterward. Add
--noprofile and --norc to the bash arguments, and update the readiness support
test’s seq stub so bounded-probe coverage still performs one attempt.

---

Nitpick comments:
In `@test/e2e/live/managed-image-protected-runtime-helpers.ts`:
- Around line 99-105: Extract the shared Docker name-contract check into an
assertProtectedProviderContainerName(name) helper. Replace the duplicated
validation in protectedProviderReportedContainerId,
protectedProviderContainerPreflightCommand, protectedVllmReadinessCommand, and
protectedNimReadinessCommand with calls to this helper, preserving the existing
error behavior.
- Around line 482-533: Update inspectProtectedProviderContainer to pass
state.reportedContainerId, rather than state.name, as the target argument to
docker container inspect. Keep the existing identity and authority comparisons
unchanged, including actualName validation against the expected container name.
🪄 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: 19ef1ea2-0184-4b8e-bd44-9b57fc190097

📥 Commits

Reviewing files that changed from the base of the PR and between a0f6c9d and f861b8b.

📒 Files selected for processing (8)
  • scripts/checks/run-managed-image-openshell-e2e.ts
  • src/lib/onboard/sandbox-gpu-create-flow.test.ts
  • src/lib/onboard/sandbox-gpu-create-flow.ts
  • src/lib/onboard/sandbox-gpu-create-run-attempt.ts
  • test/e2e/README.md
  • test/e2e/live/managed-image-protected-runtime-helpers.ts
  • test/e2e/support/managed-image-protected-runtime-readiness.test.ts
  • test/managed-image-protected-runtime-contract.test.ts

Comment thread test/e2e/support/managed-image-protected-runtime-readiness.test.ts
Comment thread test/managed-image-protected-runtime-contract.test.ts Outdated

@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 @.agents/skills/nemoclaw-maintainer-e2e/SKILL.md:
- Line 43: Update the managed-image-protected-runtime guidance to require
revoking the exposed NVIDIA_API_KEY, or rotating it and disabling the old value,
through the issuing NVIDIA service. Instruct maintainers to verify that the
exposed key is no longer valid before considering remediation complete.
🪄 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: c686fdee-571a-4d18-8a4d-f4b13095e313

📥 Commits

Reviewing files that changed from the base of the PR and between f861b8b and eca38b5.

📒 Files selected for processing (1)
  • .agents/skills/nemoclaw-maintainer-e2e/SKILL.md

Comment thread .agents/skills/nemoclaw-maintainer-e2e/SKILL.md Outdated
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
@github-actions

github-actions Bot commented Aug 12, 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): Failed after a partial review · low confidence · 0 blockers · 0 warnings · 0 suggestions

Second-opinion terminology and E2E selections are advisory. Live E2E does not run automatically for pull requests.

3 semantic terminology decisions

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

  • define — cohort-owned at test/e2e/README.md:840: Define the term at first use, or use “owned by the protected qualification cohort.”
  • established — cleanup authority at test/e2e/live/managed-image-protected-runtime-helpers.ts:204: Keep the established term for identity-bound cleanup checks.
  • justified — provider-native at test/e2e/support/managed-image-protected-runtime-readiness.test.ts:646: Keep the modifier because it names the diagnostic source boundary.

E2E guidance

Advisory only. A maintainer can dispatch the default E2E suite for the commit under review.

Recommended E2E: managed-image-protected-runtime

Manual-only E2E: cloud-inference, cloud-onboard, managed-image-multiarch-startup, security-posture, onboard-repair, onboard-resume
The manual PR workflow does not run these selectors for the commit under review. Run them from reviewed code on main.

Workflow run details

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

Signed-off-by: Aaron Erickson <aerickson@nvidia.com>

@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 `@test/e2e/support/managed-image-protected-runtime-readiness.test.ts`:
- Line 716: Update the fake curl argument logging around the FAKE_CURL_ARGV_LOG
write to preserve positional-argument boundaries by emitting each argument
separately with "$@". Adjust the corresponding assertion to read and validate
the resulting per-argument array, ensuring a single argument containing spaces
remains distinct from multiple arguments.
🪄 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: 7ef87482-e43b-40f0-b246-c08c2500f37b

📥 Commits

Reviewing files that changed from the base of the PR and between eca38b5 and 8ee5d54.

📒 Files selected for processing (5)
  • .agents/skills/nemoclaw-maintainer-e2e/SKILL.md
  • test/e2e/README.md
  • test/e2e/live/managed-image-protected-runtime-helpers.ts
  • test/e2e/support/managed-image-protected-runtime-readiness.test.ts
  • test/managed-image-protected-runtime-contract.test.ts
🚧 Files skipped from review as they are similar to previous changes (4)
  • test/managed-image-protected-runtime-contract.test.ts
  • .agents/skills/nemoclaw-maintainer-e2e/SKILL.md
  • test/e2e/README.md
  • test/e2e/live/managed-image-protected-runtime-helpers.ts

Comment thread test/e2e/support/managed-image-protected-runtime-readiness.test.ts Outdated
@ericksoa

Copy link
Copy Markdown
Contributor Author

Exact-head refresh: e1485a1e4ed2308a7c50e5e9aa9b12dc69d0756f now incorporates current main 672b9eca85992a5e1e42a1775a69a12d31500e5b via signed, GitHub-verified merge commits (no history rewrite). Local focused evidence on this head: protected readiness 34/34, managed runtime contract 33/33, CLI build, JS/CLI typechecks, Biome, and diff checks pass. Exact canonical, managed-image, Advisor, and protected E2E are running. Please review the exact head when convenient; I will post final exact-head evidence after all lanes finish.

@ericksoa
ericksoa requested a review from cv August 12, 2026 23:59
@ericksoa

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 13, 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.

@ericksoa

Copy link
Copy Markdown
Contributor Author

Current-main refresh: exact head is now 29506a5373df8e31e025934fd091c5ad782b5d39, based on a504d677dd4f3ae618011d66df749d481ee8d9a4, via a signed GitHub-verified merge (no history rewrite). Local focused evidence remains green: protected readiness 34/34, managed runtime contract 33/33, CLI build, JS/CLI typechecks, and diff checks. Exact canonical, managed-image, Advisor, CodeRabbit, and protected run 31655049385 are in progress. Review request remains pinned to this exact head.

Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
@ericksoa

Copy link
Copy Markdown
Contributor Author

Current-main refresh: exact head is now 9bc12b60bfb5dda50145213efd69be720f33a798, based on c49c0a2d367424c96f6b18201cccb59ecc79bac7, via a signed, GitHub-verified merge (no history rewrite). The new-main overlap is clean. Local exact-base evidence: 106 focused protected/runtime/messaging tests, CLI build, JS/CLI typechecks, and diff checks pass. Prior 29506a5 CI/protected evidence is retained but intentionally treated as stale after main advanced; exact-head canonical, managed-image, Advisor, CodeRabbit, and protected evidence are being refreshed. Review request remains pinned to this exact head.

@ericksoa

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 13, 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: Aaron Erickson <aerickson@nvidia.com>
@ericksoa

Copy link
Copy Markdown
Contributor Author

Docs-only current-main refresh: exact head is now f7211363b9a5ad4ee7df184e4ae94860dfdd53d6, based on 9df101e8b6be81ca3604adfe75cb5fdfc524ff18, via a signed, GitHub-verified merge (no history rewrite). The only new base path is docs/changelog/2026-08-12.mdx; it has zero overlap with this prerequisite. Local exact-base evidence: protected readiness/runtime tests 67/67, CLI build, JS/CLI typechecks, and diff checks pass. Prior head evidence is retained but stale; exact-head CI and protected qualification are refreshing again. Review request remains pinned to this exact head.

@ericksoa

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Aug 13, 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.

@ericksoa

Copy link
Copy Markdown
Contributor Author

Advisor disposition for exact head f7211363b9a5ad4ee7df184e4ae94860dfdd53d6: Nemotron’s single warning requested a completeness audit of createManagedBootstrapAdapter(stateRoot) propagation; it did not identify a missing call site. Independent exhaustive symbol review found one runtime invocation, which passes managedBootstrap.stateRoot; the Docker authority store/lifecycle and protected failure-injection adapter use that same root, while Kubernetes/MXC/Podman bootstrap remains unsupported and unregistered. Existing forwarding and real journal-root regressions cover the seam; 70/70 focused tests passed. No code, test, or docs change is warranted. The aggregate Advisor result remains merge_as_is with zero open findings.

Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
@ericksoa

Copy link
Copy Markdown
Contributor Author

Current-main refresh: exact head is now 1112427e2a12e395636bdf9f161e2bb206bc96e8, based on a44610a5c3152a436b7be822b1db8a2688fc839b, via a signed, DCO-compliant, GitHub-verified merge with no history rewrite. The intervening #8896/#8904/#8922 base changes have zero direct path overlap with this prerequisite.

Exact-head local evidence:

  • protected runtime/E2E support: 42/42
  • managed protected runtime contract: 33/33
  • adjacent GPU/NIM/vLLM/readiness/host-probe CLI regressions: 187/187
  • downstream all-agent surface parity: 1/1
  • CLI build; JS and CLI typechecks; repository checks; test-size ratchet; docs:strict; and validate:pr: pass

CodeRabbit is successful with zero unresolved threads. The prior protected run was canceled after its base became stale. Fresh protected qualification is run 31662574004, correlation 01c8399e-a5d9-478e-8624-86f82c3154bc; dispatch receipt artifact 9166803265 binds candidate 1112427e to base/workflow a44610a5. Ordinary CI, Advisor retry, managed-image/startup, and exact protected artifacts are in progress. Review request remains pinned to this exact head.

@ericksoa

Copy link
Copy Markdown
Contributor Author

Closing this PR because it was opened outside the requested B4-D execution boundary. The work will proceed only through existing PR #8061; nothing from this PR was merged.

@ericksoa ericksoa closed this Aug 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant