Theory
Theory: Governance is a Server-Side Predicate on Refs
Branch protection, CODEOWNERS, and required checks are hooks and config that reject a push or a merge button. The Git objects may be fine; the name movement is denied.
Invariants
- Developer workflow (ch 15) is advice; this chapter is enforcement.
- CODEOWNERS is path → reviewer, evaluated on the proposed tree.
- Monorepo governance is path-scoped; polyrepo is repo-scoped.
push/merge request
→ protected branch?
→ required signatures/checks/owners?
→ accept or reject
What can break
- Required reviews with no CODEOWNERS on a 200-person monorepo.
How to read this chapter
Enforcement, protection, mono/poly operator view, automation.