What problem does it solve?
It prevents accidental or ambiguous merges by forcing an explicit, per-PR CEO approval moment before running the GitHub merge command.
Core Features & Use Cases
- Records a structured CEO approval marker at
.claude/session/reviews/<pr>-ceo.approved, binding the approval to the PR’s GitHub HEAD SHA (GitHub-reported).
- Validates safety conditions before merging by checking PR state (OPEN only), mergeability (non-conflicting), and the existence of the corresponding Rex approval marker at the same PR HEAD.
- Executes the merge in the same turn by default with
gh pr merge <pr> --squash --delete-branch, while keeping the CEO marker on disk so you can retry after fixing any gate failures.
- Use case: After you confirm a specific PR is ready, record CEO approval and immediately merge it with the correct enforcement that plan-level “go” is not sufficient.
Quick Start
Invoke approve-merge with the PR number you explicitly approved, optionally adding --no-merge if you want to record approval now but merge later.