Context
main required one approving review, and nobody can approve their own pull request, so green pull requests stalled; merges
happened through an admin bypass. 0012 wants one required check.
0017 rule 6 says agents do not merge, but the owner authorised Claude to merge green pull
requests (Round 6). CODEOWNERS names a handle that is not a GitHub user.
Decision
- A1 / D5 — Required approvals are 0, and Quality Gate is the only required check. Branch protection on
mainis already set to 0 required approvals (as of 2026-10-19). - Claude merges only through
pnpm pr:merge, which refuses unless the gate is green, the AI review verdict for the head commit is PASS, and, for design pull requests and change-risk R3 (0120), the owner has approved. - A bot identity (a GitHub App or machine user) makes agent commits, pull requests and merges. CODEOWNERS is corrected to the owner’s real handle.
- D6 — Squash merge only; branches are deleted on merge; the squash message keeps the commit messages, which carry
Refs: STA-n. - D7 — The owner merges the changesets version pull request; Claude prepares it. This keeps the human release approval of 0025.
Consequences
- Green pull requests merge without an admin bypass, and every merge still has a recorded gate result and review.
pnpm pr:mergebecomes security-critical: weakening it weakens the merge policy.- The bot identity and the CODEOWNERS fix are open chores.
Enforcement
Existing: branch protection onmain (0 approvals, Quality Gate required). Planned: tools/scripts/pr-merge.mjs; a
guard-bash rule that blocks gh pr merge outside pnpm pr:merge.
Supersedes and sources
Supersedes: none. Amends 0017 rule 6 (Claude may merge throughpnpm pr:merge; release
and production promotion stay human) and states the review side of 0012 decision 2. Sources:
owner decisions in chat, 2026-10-19 (Round 11 A1; SDLC D5, D6, D7).