Context
We implemented CI gates and collaboration guardrails in main, but API-level branch protection/ruleset setup is currently blocked by GitHub plan limits for this private repository.
Observed API response:
GET /repos/{owner}/{repo}/branches/main/protection -> 403 Upgrade to GitHub Pro or make this repository public
GET /repos/{owner}/{repo}/rulesets -> same 403
What is already done
- CI gate workflow in main:
lint, build, smoke-tests, risk-matrix, test-skip-guard, lockfile-policy
- PR template, CODEOWNERS, agent rules, governance docs
delete_branch_on_merge=true
Action when plan is upgraded (or repo made public)
Configure branch/ruleset for main:
- Require PR before merge
- Require 1 approval
- Dismiss stale approvals
- Require CODEOWNERS review
- Require conversation resolution
- Require status checks (phase rollout):
- phase-1 required:
lint, build
- phase-2 required:
smoke-tests
- phase-3 required:
risk-matrix, test-skip-guard, lockfile-policy
- Require branch up-to-date
- Disable direct push / force push
- Enable merge queue (if available)
Reference docs
/docs/governance/branch-protection.md
/CONTRIBUTING.md
/.github/workflows/ci-gate.yml
Context
We implemented CI gates and collaboration guardrails in
main, but API-level branch protection/ruleset setup is currently blocked by GitHub plan limits for this private repository.Observed API response:
GET /repos/{owner}/{repo}/branches/main/protection->403 Upgrade to GitHub Pro or make this repository publicGET /repos/{owner}/{repo}/rulesets-> same403What is already done
lint,build,smoke-tests,risk-matrix,test-skip-guard,lockfile-policydelete_branch_on_merge=trueAction when plan is upgraded (or repo made public)
Configure branch/ruleset for
main:lint,buildsmoke-testsrisk-matrix,test-skip-guard,lockfile-policyReference docs
/docs/governance/branch-protection.md/CONTRIBUTING.md/.github/workflows/ci-gate.yml