Skip to content

[Governance] Make protected-PR review policy solo-maintainer compatible without weakening deterministic gates #772

Description

@seonghobae

Current decision

ContextualWisdomLab is operated by one human maintainer. The current organization ruleset 18156473 applies required_approving_review_count: 1 to ~DEFAULT_BRANCH while required_reviewers is empty, code-owner review is disabled, and no independent eligible human reviewer/team exists. Self-approval is forbidden and model/bot reviews are advisory rather than human approvals.

This is a central governance defect, not a user staffing decision and not a leaf-repository blocker to be worked around. The central .github owner must make the rule structurally satisfiable for a solo-maintainer organization while preserving or strengthening deterministic evidence gates.

Required causal repair

  1. Re-read the live organization ruleset and affected repositories before mutation; do not rely on remembered review counts or branch names.
  2. If no real eligible independent human authority exists, remove or replace only the structurally impossible generic approving-review-count requirement for the affected solo-maintainer repositories/default branches.
  3. Keep self-approval forbidden. Do not represent CodeRabbit, OpenCode, Noema, GHAS, Dependabot, or another model/bot as a human approval.
  4. Preserve required workflow/security/SAST/coverage/package/SBOM/provenance/exact-head binding, unresolved-thread resolution, deletion protection, non-fast-forward protection, and routine bypass prohibition.
  5. Keep stale/predecessor/queued/skipped/cancelled/absent/model-only evidence non-passing.
  6. Use guarded administrator bypass only for a separately proven chicken-and-egg control-plane repair that meets the organization emergency policy; ordinary product PRs and ordinary approval waits are not bypass cases.
  7. After the ruleset mutation, re-read the effective policy from each affected live default branch and prove an unchanged exact-head PR can become mergeable through deterministic gates alone without self-approval or fabricated reviewers.
  8. Record the before/after ruleset JSON, affected repository/default-branch identities, exact validation PR/head, required check set, and resulting protected merge evidence.

RED acceptance

A current protected repository owned solely by the maintainer has an unchanged exact-head PR for which all applicable deterministic repository/security gates and review threads are clean, yet merge remains impossible solely because the live ruleset demands one approving review and there is no eligible independent human authority.

Wardnet currently provides this class of evidence: live default/protected branch is main, organization ruleset 18156473 targets ~DEFAULT_BRANCH, and the rule still reports required_approving_review_count: 1, required_reviewers: [], require_code_owner_review: false, require_last_push_approval: false.

GREEN acceptance

  • The impossible approval-count deadlock is removed or replaced at the central governance layer.
  • Deterministic CI/security/SAST/coverage/package/SBOM/provenance/thread/branch-integrity gates remain enforced.
  • Self-approval remains impossible/unused and bots/models are not counted as humans.
  • An unchanged exact-head validation PR becomes mergeable only after all then-live deterministic gates are terminal successful.
  • The same policy is documented as the current solo-maintainer governance model and no owner automation asks the user to provision fictional reviewers.

Non-goals

  • Weakening deterministic security or quality gates.
  • Enabling routine administrator bypass.
  • Fabricating a second identity or reviewer team.
  • Treating model review as human approval.
  • Changing product repository source code to work around a central governance defect.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: authAuthentication, authorization, identity, or tenant isolationarea: ci-cdCI, GitHub Actions, checks, release, or supply chainarea: securitySecurity boundary, hardening, or vulnerability preventionpriority: criticalImmediate blocker, P0, urgent deadlock, or critical incidenttype: featureNew or expanded product capability

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions