fix(sbom): preserve publication tree authority - #2549
seonghobae wants to merge 61 commits into
Conversation
Keep Rust coverage timeouts advisory but classify their measurement as NOT MEASURED. Require one unambiguous same-dispatch PASS decision before formal approval publication, with executable fail-closed regression cases wired into CI. Co-Authored-By: Claude Code <noreply@anthropic.com>
Preserve the incomplete-coverage approval guard while ordinary-merging .github#2521's complete PyJWT, PyO3, parser, HTTP lifecycle, and 100% coverage repairs. Hosted failures on #2536 were caused by the stale vulnerable locks/fixture; no gate is suppressed. Verification: 5,234 passed, 5 optional skips, 40 subtests; 18,232 statements and 7,488 branches at 100%.
Preserve concurrent exact-head tests and implementation while requiring one unique coverage PASS decision in existing-approval, status-publication, and merge-scheduler consumers. Record RCA and exact verification evidence.
Execute the real NOT MEASURED CLI rejection path, preserve the concurrent exact-head regression, and record exact hosted RCA plus local 100% statement/branch evidence.
Preserve the queue-retirement delta while adopting the exact owner tree from #2536, including the PyO3, PyJWT, and urllib3 security fixes. This is a non-destructive two-parent integration; exact-head checks must rerun.
Use the existing job-bound OpenCode OIDC exchange when legacy cross-repository secrets are absent, so the scheduled read-only queue report can emit evidence instead of failing before collection.
Integrate #2547 with the current #2530 parser/security/coverage owner without force-pushing or dropping either document delta. Repair the warnings-fatal HTTPError fixture lifecycle exposed by the combined full suite. Exact-tree verification: - focused live-base/owner contracts: 89 passed - HTTPError lifecycle file: 17 passed with warnings fatal - full warnings-as-errors suite: 5,316 passed, 5 skipped, 40 subtests - git diff --check: passed
Remove only the pull-request base restriction so the owner quality workflow emits exact-head evidence for canonical stacked PRs. Preserve paths, read-only permissions, exact-head checkout, and PR-stable concurrency. RED: stacked-base admission contract failed on branches: [main]. GREEN: 63 focused contracts; full warnings-fatal suite 5,317 passed, 5 skipped, 40 subtests; YAML parse, compileall, and diff check passed.
Fail closed before an SBOM publication update can discard non-inventory owner repairs. Preserve the current generated inventory only for generated-only predecessors, prove the behavior with real Git fixtures, and keep the Maturin HTTPError fixture's real close path intact.
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Exact-head review for The seven-path delta repairs the causal tree-loss mechanism rather than preserving ancestry with No actionable source finding remains in the inspected delta. This is COMMENT only, not approval: Trusted uv Materializer Quality CI |
|
Exact-head hosted evidence refresh — Security |
Bound Draft/close cleanup to exact protected run identities, revalidate live run and PR authority across all active states, and fail closed without explicit central Actions authority.
|
Exact-head owner-union repair published without history rewrite.
This is source repair, not merge authorization. The PR remains Draft / Proposed / HOLD while #2530 is unmerged, applicable non-skipped CodeQL and independent approval are absent, and #1678's historical inventory/error snapshot still requires forward carryover. No bypass, auto-merge, Force Push, destructive rebase, Close, or predecessor retirement. |
seonghobae
left a comment
There was a problem hiding this comment.
Exact-head review found and repaired one authority-boundary defect: the final-tree allowlist admitted a prior publication lineage that changed an owner file and reverted it before the head, so both unauthorized commits could become ancestors of the next publication. A real-Git RED at predecessor 0ba66aff4cbc1fcf426b6d489107a3d584f067c7 reproduced the merge. Head 1e2d7533a4b8acd04a9bb53e91bc24e0f7769a6a now checks every prior-only commit against its first parent before mutation; the focused test, complete 11-test scheduler contract, and normal/GITHUB_ACTIONS=true 18-test + 4-subtest focused sets pass. This COMMENT is not self-approval. Draft/base prerequisite, fresh hosted Checks, independent approval, and #1678 forward publication proof remain required.
Preserve PR #2549's SBOM and docstring authority while integrating the complete valid #2537 control-plane ancestry. Resolve overlapping Maturin and queue contracts in favor of the newer hardened owner implementations; retain exact-active CodeQL deduplication, pre-validation cancellation removal, and runner-pool separation. Keep the result Draft/Proposed pending hosted exact-head Checks and independent approval.
|
Owner-union repair published and independently revalidated.
State remains Draft / Proposed / merge HOLD. #2530 is still an unmerged prerequisite; there is no qualifying approval or non-skipped exact-head security/CodeQL acceptance. No bypass, auto-merge, Force Push, destructive rebase, Close, or predecessor retirement was used. |
|
Exact-head hosted completion refresh for
Head/base remain unchanged and GitHub reports the PR open, Draft, and mechanically mergeable. #2530 remains the unmerged prerequisite. State stays Draft / Proposed / merge HOLD; no bypass, auto-merge, Force Push, destructive rebase, rerun, or closure is authorized. |
2026-10-01 CodeQL admission owner-union
c8d8e1fc8f3f526ee621ac013cac6a8e816195a2c12c09a196eb33e437c8689236f7ee353521406d1e2d7533a4b8acd04a9bb53e91bc24e0f7769a6aand fix(ci): retire queued runs when PR returns to Draft #2537 repair9143d6e1430ebb4959a27a00e4288ae967ad308c; the branch ref advanced withforce=false.pull/2549/headfetch reports the exact same head, tree, and ordered parents.git diff --checkclean.36873070493, Trusted uv36873070605, and Runtime Quality36873070417are terminal SUCCESS. Security36873070494, CodeQL36873070640, and SAST36873070363are Draft-policy SKIPPED and are not acceptance evidence.This remains Draft / Proposed / merge HOLD. #2530 remains the unmerged prerequisite; there is no qualifying approval or non-skipped exact-head security/CodeQL acceptance. No bypass, auto-merge, Force Push, destructive rebase, Close, or predecessor retirement is authorized.
Historical 2026-10-01 exact-head history-boundary repair
1e2d7533a4b8acd04a9bb53e91bc24e0f7769a6ab25d761ec7af723523d692df2f647bc76351f4740ba66aff4cbc1fcf426b6d489107a3d584f067c7; the ref advanced withforce=false.0ba66aff4cbc1fcf426b6d489107a3d584f067c7: the real-Git reverted-owner-history fixture failed because the reconciler returned 0 and created a merge commit.GITHUB_ACTIONS=true. Shell syntax andgit diff --checkpass.36865268156, SAST36865268212, Trusted uv36865268271, and Runtime Quality36865268235are terminal SUCCESS; CodeQL36865268267was Draft-policy SKIPPED and is not acceptance. Review threads are 0 and qualifyingAPPROVEDreviews are 0.This remains Draft / Proposed / merge HOLD. #2530 is still an unmerged prerequisite, #1678's 69-target inventory/error snapshot has not yet been forward-carried, and no bypass, auto-merge, Force Push, destructive rebase, Close, or predecessor retirement is authorized.
Status
Draft / Proposed / merge HOLD
This canonical control-plane repair is stacked on #2530. It must not merge before its base, exact-head hosted Checks, and independent review are terminal and acceptable.
Root cause
Scheduled SBOM publication run
36836856075, job110286232014, produced #1678 head7598436eb9126db7bdff00fcf31f6fda15d0f58fwith an ancestry-onlygit merge --strategy=ours. The earlier owner repairs remained ancestors, but 23 non-inventory paths disappeared from the resulting tree. Exact-head OSV110286490852, dependency-review110286490849, Trivy110286490623, and pip-audit110286478880then exposed restored vulnerable pins.Repair contract
oursmerge;docs/product-technical-gap-baseline.md.Real temporary-repository tests first reproduced repair loss, generated-only reconciliation, and non-inventory conflict refusal. The full-suite run also exposed a Maturin test fixture that replaced
HTTPError.close()with a no-op observer; a RED closed-state assertion now keeps the real cleanup path.Historical pre-union evidence
dc54310c8c5ee6637274e7e82f5ea53d64ad91e659c9bcfe926d1182c12d6f3de428f6df39f9e82c30a08dd247473fca3c0fa1fb98653cd6dc9216c0git diff --check: passFollow-up
After ordinary protected integration, forward-repair #1678 and require a fresh scheduled publication whose tree comparison proves that no owner path was discarded. #1678 remains open; this PR does not claim its vulnerable dependency state is fixed yet.
No Force Push, destructive rebase, bypass, auto-merge, synthetic status, or PR closure was used.