You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Issue #772 resolves the policy ambiguity this issue originally tracked. The fleet has one human maintainer and no independent human reviewer capacity, so a generic positive human-approval count, last-push approval by another person, or mandatory CODEOWNER approval by the same sole author is structurally unsatisfiable. Do not manufacture independence with bot approvals, service accounts, broadened reviewer credentials, or routine administrator bypasses. Remove the impossible generic human-approval gates while keeping deterministic admission evidence fail-closed.
Target contract:
required_approving_review_count = 0;
require_last_push_approval = false;
require_code_owner_review = false while the sole code owner is also the author;
required_reviewers = [] unless governance later identifies a genuinely independent human authority;
required review-thread resolution and stale-review handling remain enabled;
required OpenCode, Noema, Strix, Security/SAST, Dependency Review, coverage/provenance and other deterministic gates remain authoritative;
deletion and non-fast-forward protections remain enforced;
only merge and squash are accepted by the current audit; and
routine OrganizationAdmin/always bypass is forbidden. Emergency repair belongs to a separately governed, time-bounded, auditable break-glass path.
This does not authorize direct protected-branch writes, self-approval, synthetic approvals, predecessor-evidence transfer, or weaker deterministic workflows.
Fresh live drift
Current consumer read of inherited organization ruleset 18156473 still shows required_approving_review_count = 1, require_last_push_approval = false, require_code_owner_review = false, required_reviewers = [], default-branch-only scope, merge/squash methods, deletion/non-fast-forward protection, and OrganizationAdmin/always bypass.
Current owner-repository ruleset 17921150 has required_approving_review_count = 0, require_last_push_approval = false, require_code_owner_review = false, required_reviewers = [], required review-thread resolution, deletion/non-fast-forward protection, but still allows rebase in addition to merge/squash and still contains OrganizationAdmin/always bypass. Both live rulesets therefore remain out of contract for distinct reasons.
Canonical source lanes
PR #1176 remains the canonical executable audit/documentation writer. Its current writer includes test-first regressions for the solo-maintainer approval/CODEOWNER deadlock followed by production auditor repair in both organization and repository ruleset paths. It preserves current protected-main work through ordinary non-force integration and exact protected-main blobs. Do not persist volatile #1176 head SHAs, protected-main SHAs, run IDs, queue counts, review snapshots, or mergeability here; fetch them live immediately before every action. A full-tree comparison must prove that only intended governance paths differ, and every check/review must belong to the then-current exact head.
PR #1644 is now the canonical source-controlled owner-plane reconciliation lane for actually closing the declared-versus-live settings gap after review. It pins exactly rulesets 17921150 and 18156473, preserves unrelated live controls, projects the full reviewed pull-request policy (including stale-review dismissal and required thread resolution), removes routine bypass actors, binds callable and CLI mutation to an exact protected-main SHA, and uses immutable ruleset history to detect/recover unsafe write races. A newly reproduced delayed-recovery race is covered test-first: an ambiguous recovery PUT must settle against immutable history before any subsequent write, never blind-retry. The privileged apply job remains gated by trusted protected main, explicit CWL_RULESET_RECONCILE_ENABLED=true, the protected ruleset-governance-maintenance environment, and a separately provisioned least-privilege CWL_RULESET_ADMIN_TOKEN.
Source availability is not live convergence. The connected GitHub tool surface still exposes direct ruleset reads but no organization/repository ruleset-settings write action; #1644 supplies the reviewed Actions owner-plane path only after it reaches protected main and the dedicated environment/credential is provisioned. Do not represent live settings as repaired until an authorized controlled apply actually occurs and fresh full-payload reads plus the canonical audit verify both scopes.
Acceptance
Source audit, fixtures, rollout documentation, issue guidance, owner-plane reconciler, and live organization/repository rulesets agree on the satisfiable solo-maintainer policy.
Privileged reconciliation requires an exact protected-main SHA at every callable/CLI mutation boundary, fails closed on visible drift, and never repeats an ambiguous write until immutable history proves the prior outcome.
Current governance decision — 2026-09-02
Issue #772 resolves the policy ambiguity this issue originally tracked. The fleet has one human maintainer and no independent human reviewer capacity, so a generic positive human-approval count, last-push approval by another person, or mandatory CODEOWNER approval by the same sole author is structurally unsatisfiable. Do not manufacture independence with bot approvals, service accounts, broadened reviewer credentials, or routine administrator bypasses. Remove the impossible generic human-approval gates while keeping deterministic admission evidence fail-closed.
Target contract:
required_approving_review_count = 0;require_last_push_approval = false;require_code_owner_review = falsewhile the sole code owner is also the author;required_reviewers = []unless governance later identifies a genuinely independent human authority;OrganizationAdmin/alwaysbypass is forbidden. Emergency repair belongs to a separately governed, time-bounded, auditable break-glass path.This does not authorize direct protected-branch writes, self-approval, synthetic approvals, predecessor-evidence transfer, or weaker deterministic workflows.
Fresh live drift
Current consumer read of inherited organization ruleset
18156473still showsrequired_approving_review_count = 1,require_last_push_approval = false,require_code_owner_review = false,required_reviewers = [], default-branch-only scope, merge/squash methods, deletion/non-fast-forward protection, andOrganizationAdmin/alwaysbypass.Current owner-repository ruleset
17921150hasrequired_approving_review_count = 0,require_last_push_approval = false,require_code_owner_review = false,required_reviewers = [], required review-thread resolution, deletion/non-fast-forward protection, but still allowsrebasein addition to merge/squash and still containsOrganizationAdmin/alwaysbypass. Both live rulesets therefore remain out of contract for distinct reasons.Canonical source lanes
PR #1176 remains the canonical executable audit/documentation writer. Its current writer includes test-first regressions for the solo-maintainer approval/CODEOWNER deadlock followed by production auditor repair in both organization and repository ruleset paths. It preserves current protected-main work through ordinary non-force integration and exact protected-main blobs. Do not persist volatile #1176 head SHAs, protected-main SHAs, run IDs, queue counts, review snapshots, or mergeability here; fetch them live immediately before every action. A full-tree comparison must prove that only intended governance paths differ, and every check/review must belong to the then-current exact head.
PR #1644 is now the canonical source-controlled owner-plane reconciliation lane for actually closing the declared-versus-live settings gap after review. It pins exactly rulesets
17921150and18156473, preserves unrelated live controls, projects the full reviewed pull-request policy (including stale-review dismissal and required thread resolution), removes routine bypass actors, binds callable and CLI mutation to an exact protected-main SHA, and uses immutable ruleset history to detect/recover unsafe write races. A newly reproduced delayed-recovery race is covered test-first: an ambiguous recovery PUT must settle against immutable history before any subsequent write, never blind-retry. The privileged apply job remains gated by trusted protectedmain, explicitCWL_RULESET_RECONCILE_ENABLED=true, the protectedruleset-governance-maintenanceenvironment, and a separately provisioned least-privilegeCWL_RULESET_ADMIN_TOKEN.Source availability is not live convergence. The connected GitHub tool surface still exposes direct ruleset reads but no organization/repository ruleset-settings write action; #1644 supplies the reviewed Actions owner-plane path only after it reaches protected main and the dedicated environment/credential is provisioned. Do not represent live settings as repaired until an authorized controlled apply actually occurs and fresh full-payload reads plus the canonical audit verify both scopes.
Acceptance
0approvals / last-push disabled / CODEOWNER-review disabled and reject a positive generic approval count, synthetic reviewers, CODEOWNER deadlock, routine bypass actors, disabled stale-review dismissal/thread resolution, missing required workflows, deletion/non-fast-forward weakening, undeclared rules, malformed merge-method payloads, or merge-method drift.Related owner work: #772, #1200, #1340, PRs #1176/#1644, and Orgmetra #88/#89.