Skip to content

[estate] audit Base ruleset across repos for unsatisfiable rules that force bypass merges #473

Description

@hyperpolymath

Context (estate-scope)

hypatia's Base ruleset was found to be 100% bypassed on every merge (decorative) because it contained several structurally-unsatisfiable rules that blocked normal PRs, so everything was force-merged via bypass. Fixed in hypatia today by pruning/replacing those rules; first genuine non-bypass merge confirmed (#469).

The same Base ruleset pattern is very likely replicated across many estate repos. Each unsatisfiable rule forces bypass merges, which silently defeats the ruleset's protection.

Unsatisfiable-rule patterns to audit per repo

  1. required_deployments: [github-pages] — the pages deploy only runs post-merge, so it can never be satisfied pre-merge → blocks all PRs.
  2. code_scanning rule requiring a tool that produces neutral on non-code PRs (CodeQL) → blocks all docs/config PRs. Prefer gating via required_status_checks contexts.
  3. code_scanning requiring Scorecard — Scorecard uploads 0 analyses (estate-wide startup_failure).
  4. copilot_code_review — only satisfiable if Copilot code review actually runs.
  5. code_quality (preview) — only if it emits results.

Action

Audit each repo's active rulesets for the above; remediate per-repo with owner sign-off (this is governance config — do not blanket-change). Track which repos were 100%-bypass before/after via the rule-suites API (result: bypass vs pass).

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

    cicdCI/CD: workflows, actions, lockfiles, pins, runners, release gatespriority:p1High - schedule nextscope:estateAffects many or all repos across the estatestatus:readyFully specified and ready to be picked uptri/controlSafety triangle — gate it so it cannot regress

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions