Operator found https://github.com/anthropics/claude-code-action/blob/main/examples/agent-approval-check.yml — a required status check that fails until N human approvals exist on any PR containing agent-authored commits. Runs from the default branch on pull_request_target + issue_comment, so a PR cannot edit the check to approve itself; agent approvals are excluded from the count.
Why adopt: it converts our trust model ('bot approval never merges — only the Operator's does', hooks#17) from convention into branch-protection enforcement, and it neutralizes any future concern about a bot identity (e.g. the run's GITHUB_TOKEN) satisfying an approval-count rule.
Sketch:
Sequencing: alongside/after hooks#15–#17 (PR-lifecycle wiring). Third-party pin note: official anthropics org → version tag per CLAUDE.md pinning policy.
Operator found https://github.com/anthropics/claude-code-action/blob/main/examples/agent-approval-check.yml — a required status check that fails until N human approvals exist on any PR containing agent-authored commits. Runs from the default branch on
pull_request_target+issue_comment, so a PR cannot edit the check to approve itself; agent approvals are excluded from the count.Why adopt: it converts our trust model ('bot approval never merges — only the Operator's does', hooks#17) from convention into branch-protection enforcement, and it neutralizes any future concern about a bot identity (e.g. the run's
GITHUB_TOKEN) satisfying an approval-count rule.Sketch:
anthropics/claude-code-action/agent-approval-check@<pin>with our identities:required_approvals: 1,agent_logins: gingur-bot,agent_emails: <bot-id>+gingur-bot@users.noreply.github.com(post-feat(claude): implement-turn contract updates (base merge, hooks, commit identity) + wake routing fix #90 identity; includenoreply@anthropic.comfor pre-feat(claude): implement-turn contract updates (base merge, hooks, commit identity) + wake routing fix #90 history).agent-approval-checkas a required status check + require PRs on protected branches in enrolled repos (operator step; pairs with the hooks#17 merge automation so the automation can't merge early even if buggy).Sequencing: alongside/after hooks#15–#17 (PR-lifecycle wiring). Third-party pin note: official
anthropicsorg → version tag per CLAUDE.md pinning policy.