ci(security): allow reviewed lock transitions - #8157
Conversation
Signed-off-by: Julie Yaunches <jyaunches@nvidia.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (4)
📝 WalkthroughWalkthroughThe audit schema advances from version 2 to version 3. Locked graphs now store approved lockfile SHA-256 arrays. The workflow validates and selects the actual digest before installation and reuses it afterward. Tests cover matching and rejected digests. ChangesReviewed lock digest selection
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related PRs
Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
Code Coverage OverviewLanguages: TypeScript TypeScript / code-coverage/pluginThe overall coverage in commit e7d2be9 in the TypeScript / code-coverage/cliThe overall coverage in commit e7d2be9 in the Show a code coverage summary of the most impacted files.
Updated |
PR Review Advisor — InformationalAdvisor assessment: Informational / low confidence Model lanes
Second-opinion terminology and E2E selections are advisory. They do not change the primary assessment or E2E / PR Gate. 2 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: None This automated review informs maintainers. Warnings and suggestions do not require a response. A maintainer decides whether to merge. |
|
Commit SHA The OpenClaw transition list authorizes The arbitrary digest-array schema is also broader than the current one-successor transition requires. The current After the technical contract changes, rerun the security and documentation reviews for the new commit SHA and update the PR description using repository vocabulary. |
<!-- markdownlint-disable MD041 --> ## Summary Persist managed-bootstrap mutation authority and image-owned shared-state commit receipts so restart does not erase the facts needed to prove, resume, or clean up one exact attempt. This slice remains inert: it does not advertise or activate buildless support. ## Related Issue Part of #7744. ## Changes - Replace process-local Docker transaction and terminal state with private, versioned, atomically written journal records and exact commit/finalization receipts. - Record provider, sandbox, plan, profile, immutable image, original and replacement runtime identities, rollback target, preparation receipt, and completion receipt. - Keep durable journals identity-addressable in this slice; unfinished-record enumeration and production phase reconciliation are introduced together by the following recovery slice. - Atomically convert image-owned shared-state backups into an identity-bound durable commit receipt, reject post-commit rollback, and clear the receipt only after external cleanup is proven. - Preserve legacy null-identity commit and rollback CLI forms while adding explicit identity-bound status, commit, rollback, and receipt-cleanup forms. - Cover OpenClaw, Hermes, and DCode persistence, restart reconstruction, interrupted receipt compaction, exact cleanup, and ownership-reuse defenses. - Cover recreated-adapter rollback after committed terminal finalization and reject same-timestamp phase mutations, closing the two valid Nemotron coverage warnings. ## 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: - [x] Docs updated for user-facing behavior changes - [ ] Docs not applicable — justification: - [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: Exact-tree reconstruction review verified durable identity authority, image-owned receipt semantics, provider neutrality, production dormancy, and the two advisor-requested regression cases. Exact-head public advisors remain part of the qualification wave. - [x] Non-success, skipped, or missing CI check accepted by maintainer — check name, approval link, and follow-up issue: `reviewed-npm-audit` is being handled on the separate #8156/#8157 security stream and is explicitly waived as a blocker for this stack. Its consequential same-repository `E2E / PR Gate` blockage is waived with it; the manual gate override is fork-only and cannot dispatch for this maintainer branch. ## Documentation Writer Review - [x] Documentation writer subagent reviewed the completed changes - Result: `docs-updated` - Evidence: The final reconstruction preserves the reviewed `src/lib/onboard/managed-bootstrap/README.md` semantics from prior exact head `a3571b2fb794a6bf082f05146fb24096d448548e`: provider-neutral/MXC dormancy, pre-/post-cutover distinctions, durable identity-addressed journals, finalization records, the image-owned commit receipt, and the following recovery boundary. The restack changes no documentation behavior. - Agent: Codex Desktop <!-- docs-review-head-sha: 3aa4ba6 --> <!-- docs-review-agents-blob-sha: 3dd7c24 --> ## DGX Station Hardware Evidence - [ ] Tested on DGX Station - Tested commit: - Station profile/scenario: - Result: - Supporting evidence: ## Verification - Merged parent: #8040 produced main commit `35f59704af0b917e1453ea2ebdc7ce817a36fd1c`. - Exact public head: `3aa4ba69335c37ec36721cec48f7b58cea9b8e6d`. - Review scope: 11 paths, `+1,743/-120`. - Stable patch ID: `76f455f1e0d0a6d9977b5fa65dd61357742bff09`. - Binary diff SHA-256: `27b3d940a6af0a1b610eb5b676d0decc763f7dc9700c5d32853475c0bd7875a4`. - Advisor test anchor: signed+DCO commit `0623bd054e12fa149635c60efa38a3281efc2050`, direct child of the prior public head. - Clean reconstruction: signed+DCO commit `79fd30710d194b619fe579d3daa201fec10a38e5`, direct child of merged #8040 main with exact tree `7fd1887c4ec0051ae5250a66252ddf17ca7b9e66`. - Append-only graft: signed+DCO commit `3aa4ba69335c37ec36721cec48f7b58cea9b8e6d`, first parent the preserved public head `a3571b2fb794a6bf082f05146fb24096d448548e`, second parent the clean reconstruction, and the identical clean tree. No remote history was rewritten. - Durable refs: `backup/podman-stack/pr8041-tests-0623bd05`, `backup/podman-stack/pr8041-clean-79fd3071`, `backup/podman-stack/pr8041-graft-3aa4ba69`, and `hold/podman-stack/pr8043-base-3aa4ba693`. - Focused validation passed 7 files and 148 tests, including both advisor-requested cases. CLI build, source and CLI typechecks, and Biome passed. - Later main movement `d756d15d867cdf91a90cad81971a8a29febe3002` is the separate audit-transition PR #8157. Its four changed paths do not overlap this 11-path slice, so no restack or retest is warranted solely for that movement. - Every new commit is SSH-signed and carries Aaron's DCO trailer. - Production provider bootstrap remains unsupported; no user-visible buildless or Podman activation is added. ## Stack - Base: merged PR3.11 #8040. - This slice: PR3.12A #8041, branch `feat/managed-bootstrap-durable-transactions`, exact head `3aa4ba69335c37ec36721cec48f7b58cea9b8e6d`. - Next: PR3.12B #8043; its source remains protected and its new base is `hold/podman-stack/pr8043-base-3aa4ba693`. - Buildless and Podman support remain disabled until the complete all-agent, multiarch, GPU/local-inference, recovery, installer, and protected-E2E activation gates in #7744 pass. --- Signed-off-by: Aaron Erickson <aerickson@nvidia.com> --------- Signed-off-by: Aaron Erickson <aerickson@nvidia.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Summary
Allow the trusted reviewed npm audit to recognize an explicitly reviewed lock transition.
This lets the current OpenClaw runtime lock and the pending
brace-expansion@5.0.9lock pass the same base-trusted policy without accepting any unreviewed lock bytes.Related Issue
Prerequisite for #8156.
Changes
Type of Change
Quality Gates
Documentation Writer Review
no-docs-neededDGX 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 unavailablevitestfocused integration tests passed, 22/22.npm testfor broad runtime/test-harness changes;npm run checkfor repo-wide validation/coverage changes — command/result: Not applicable to this narrow audit-control change.npm run docsbuilds without warnings (doc changes only)Additional validation:
npm run source-shape:checkpassed.npm run build:cliandnpm run typecheckpassed.Signed-off-by: Julie Yaunches jyaunches@nvidia.com
Summary by CodeRabbit
Security
Tests