feat(runtime): add dormant Podman CPU lifecycle proof - #8276
Conversation
Signed-off-by: Aaron Erickson <aerickson@nvidia.com> (cherry picked from commit 6db21c3)
Signed-off-by: Aaron Erickson <aerickson@nvidia.com> (cherry picked from commit a2e5e80)
Signed-off-by: Aaron Erickson <aerickson@nvidia.com> (cherry picked from commit 3b53005)
Signed-off-by: Aaron Erickson <aerickson@nvidia.com> (cherry picked from commit cbcf8ef)
Signed-off-by: Aaron Erickson <aerickson@nvidia.com> (cherry picked from commit 2a0ff40)
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
Code Coverage OverviewLanguages: TypeScript TypeScript / code-coverage/pluginThe overall coverage in commit ee60626 in the TypeScript / code-coverage/cliThe overall coverage in commit ee60626 in the Show a code coverage summary of the most impacted files.
Updated |
PR Review Advisor — No blocking findings reportedAdvisor assessment: No blocking advisor findings reported Model lanes
7 terminology differences from the second opinionAdvisory only. These are normalized differences from the primary terminology receipt.
Second-opinion terminology and E2E selections are advisory. They do not change the primary assessment or E2E / PR Gate. 3 semantic terminology decisionsTerminology decisions are advisory. They affect the assessment only when a separate finding identifies concrete semantic impact.
E2E guidanceAdvisory only. E2E / PR Gate selects and runs jobs independently. Recommended E2E: 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>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
## Summary Adds the dormant, provider-owned Podman managed-bootstrap transaction as one additive batch: exact held-workload and watcher ownership, durable journaled replacement and rollback, and image-owned startup application for OpenClaw, Hermes, and Deep Agents Code. The provider remains absent from production selection, so this PR does not activate or advertise Podman support. Stacked on #8276. Consolidates the source material preserved from #8052, #8055, and #8056. Part of #7744. ## Related Issue Part of #7744. ## Changes - Adds the `managed-bootstrap` operation scope to the driver-neutral container-engine boundary. - Discovers and stably re-inspects one exact held Podman workload, then durably leases the exact watcher process with PID-reuse and competing-owner protection. - Journals engine authority, immutable original and replacement identities, image/specification fingerprints, state volume, watcher lease, and every monotonic mutation boundary. - Prepares a stopped final-labelled replacement while retaining the original; pre-commit rollback removes only the proven replacement and owned state volume and restores the exact original. - Stages one protected root-apply request into the exact replacement, starts it, and authenticates image-owned completion for OpenClaw, Hermes, and LangChain Deep Agents Code. - Derives the provider's agent type from the neutral root-apply request and uses an exhaustive provider-owned all-agent map, avoiding a Podman switch or new dependency in central orchestration. - Adds internal lifecycle documentation and source-boundary coverage. Production registry selection, persisted post-commit recovery, GPU/local inference, installer qualification, and supported activation remain later #7744 gates. ## Type of Change - [ ] Code change (feature, bug fix, or refactor) - [x] Code change with doc updates - [ ] Doc only (prose changes, no code sample modifications) - [ ] Doc only (includes code sample changes) ## Quality Gates - [x] Tests added or updated for changed behavior - [ ] Existing tests cover changed behavior — justification: - [ ] Tests not applicable — justification: - [ ] Docs updated for user-facing behavior changes - [x] Docs not applicable — justification: documentation changes describe an internal dormant lifecycle contract; no command, option, default, or supported runtime is exposed. - [x] Sensitive paths changed (security, policy, credentials, preflight, onboarding, inference, runner, sandbox, or messaging) - [x] Sensitive-path review completed or maintainer-approved waiver recorded — reviewer/approval link/justification: the implementation binds every mutation to exact engine, process, runtime, volume, image, and journal authority; ambiguity and drift fail closed. - [ ] Non-success, skipped, or missing CI check accepted by maintainer — check name, approval link, and follow-up issue: ## Documentation Writer Review - [x] Documentation writer reviewed the completed changes - Result: `no-public-docs-needed` - Evidence: `src/lib/onboard/managed-bootstrap/README.md` and `src/lib/onboard/lifecycle-contracts.md` record the internal dormant contract; public documentation would incorrectly imply supported Podman activation. - Agent: Codex Desktop <!-- docs-review-head-sha: 085adae --> <!-- docs-review-agents-blob-sha: 3dd7c24 --> ## DGX Station Hardware Evidence - [ ] Tested on DGX Station - Tested commit: Not applicable to this dormant CPU/bootstrap transaction slice. - Station profile/scenario: Not applicable. - Result: Not applicable. - Supporting evidence: Native rootless Podman qualification remains workflow-owned and the parent #8276 exact-head CPU proof is green. ## Verification - [x] PR description includes a `Signed-off-by:` line and every commit appears as `Verified` in GitHub - [x] Normal `pre-commit`, `commit-msg`, and `pre-push` hooks passed, or `npm run validate:pr` passed after refreshing the target branch when hooks were skipped or unavailable - [x] Targeted behavior tests pass for the current change set, or tests are marked not applicable above — `79/79` focused managed-bootstrap tests, `8/8` source-boundary tests, and `3/3` Podman workflow-contract tests pass on exact head `085adaee04b7`; all four exact-head CodeRabbit threads are fixed and resolved. - [x] Applicable broad local gate passed — repository architecture, CLI and plugin typecheck, source-shape, test-size, conditional scan, formatting, and exact-delta secret scanning pass. - [x] Quality Gates section completed with required justifications or waivers - [x] No secrets, API keys, or credentials committed - [ ] `npm run docs` builds without warnings (doc changes only) — not applicable; no user-facing docs changed. - [ ] Doc pages follow the style guide (doc changes only) — not applicable. - [ ] New doc pages include SPDX header and frontmatter (new pages only) — not applicable. --- Signed-off-by: Aaron Erickson <aerickson@nvidia.com> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added managed-image onboarding and runtime orchestration for faster sandbox creation without legacy image builds. * Added Docker managed-bootstrap persistence and recovery support. * Added sandbox lifecycle support for qualified rootless Podman environments. * **Bug Fixes** * Rebuilds now stop safely when workload configuration or runtime authority changes. * Improved preservation of managed images during sandbox recreation. * **Tests** * Expanded end-to-end coverage for managed-image onboarding, rebuild safety, Docker, and Podman lifecycle behavior. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Signed-off-by: Aaron Erickson <aerickson@nvidia.com> Signed-off-by: Apurv Kumaria <akumaria@nvidia.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Apurv Kumaria <akumaria@nvidia.com>
Summary
Adds the dormant, provider-scoped Podman command/preflight/start-stop boundary and proves it against a real rootless Podman 5 service with Docker disabled. The provider remains absent from the production registry: this PR does not activate or advertise Podman support.
Stacked on #8261. Part of #7744.
Related Issue
Part of #7744.
Changes
Type of Change
Quality Gates
Documentation Writer Review
no-docs-needed.github/workflows/podman-cpu-proof.yaml;src/lib/onboard/runtime-provider/podman.ts; the bundle remains non-selectable and no user-visible behavior is documented in this slice.DGX Station Hardware Evidence
Verification
Signed-off-by:line and every commit appears asVerifiedin GitHubpre-commit,commit-msg, andpre-pushhooks passed, ornpm run validate:prpassed after refreshingorigin/mainwhen hooks were skipped or unavailable60/60focused Podman adapter/provider/workflow/parity tests passed on the restacked head; the advisor follow-up adds10/10focused tests and passes source-shape, repository, and CLI pre-push gates on exact heada254cf1cc306.prek run --files <complete slice>passed repository checks, semantic E2E phases, source-shape, test-size, formatting, YAML, secret scan, and all other applicable hooks.npm run docsbuilds without warnings (doc changes only)Signed-off-by: Aaron Erickson aerickson@nvidia.com