fix(governance): fail fast on P0 approval ruleset drift - #1861
fix(governance): fail fast on P0 approval ruleset drift#1861seonghobae wants to merge 7 commits into
Conversation
Signed-off-by: Seongho Bae <me@seonghobae.me>
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Team Run ID: 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 |
|
Fresh owner-path refresh — 2026-09-06 KST. This finding remains valid on the current exact #1861 head Canonical remedy remains #1644: approval count 0, last-push/CODEOWNER false, no synthetic reviewers, with stale-review dismissal, thread resolution, deterministic required workflows/security/SAST/coverage/package/SBOM/provenance, deletion/non-fast-forward, exact-head binding and no routine bypass retained. Live owner state also moved: #1644 is now Retain #1861's early review-drift preflight only if it derives expected values from the canonical solo-maintainer policy/config instead of reasserting two humans. If no unique delta remains after that correction, retire #1861 in favor of the reconciled canonical owner lane. Do not apply 2 approvals / last-push true, use self/model approval, or route around deterministic gates. |
|
Wardnet owner-boundary finding: this candidate's asserted target ( RED: an audit labels the live solo-compatible direction (approval count 0, deterministic gates retained) as P0 drift and instructs operators to restore two human approvals/last-push approval despite no eligible independent human authority. GREEN: reconcile this audit's approval expectation to the live canonical owner policy from #772/#1644 (generic approval count 0 for the scoped solo-maintainer repositories; no synthetic reviewer; no routine bypass) while continuing to fail closed on deterministic workflow/security/SAST/coverage/package/SBOM/provenance/thread/deletion/non-fast-forward drift. This is a central governance repair; Wardnet source should not work around it. |
Warning
Draft-blocked governance candidate. Exact head
883c201a2e1fa272cc1fe4e26f583aaf3b411497hard-codes two approving reviews and last-push approval. That conflicts with the accepted solo-maintainer contract in #772 and canonical owner-plane reconciler #1644. Do not merge this head or apply its proposed settings.문제
Live ruleset
18156473currently has one generic approving-review requirement, no named required reviewers, CODEOWNER review off, last-push approval off, and an OrganizationAdmin/always bypass. The generic approval requirement is structurally unsatisfiable for the scoped solo-maintainer repositories without fake humans, self-approval, or treating bots/models as humans.This candidate originally treated that state as drift toward two approvals plus last-push approval. Fresh owner review established that direction would deepen the deadlock and is not the canonical remedy.
고유 delta
The only potentially reusable delta is the early review-protection preflight before the organization-wide repository walk. It may be retained only after it derives expected review settings from the canonical #1644 policy/config instead of hard-coding two humans.
현재 head의 변경
required_approving_review_count == 2andrequire_last_push_approval == true, which is intentionally blocked.Historical validation
uv run pytest -q tests/test_central_required_workflow_ruleset_audit.py tests/test_central_required_workflow_exact_inventory.py tests/test_code_scanning_required_workflow_contract.py tests/test_org_required_workflow_scope_contract.py— 40 passedactionlint .github/workflows/audit-central-ruleset.ymlgit diff --checkThese results describe only the historical proposal and do not validate the canonical solo-maintainer policy.
다음 조치
Keep this PR Draft. After #1644 reaches protected truth, either:
Do not set two generic approvals, enable last-push approval, synthesize reviewers, self-approve, use routine administrator bypass, or weaken deterministic workflow/security/SAST/coverage/package/SBOM/provenance/thread/deletion/non-fast-forward controls.