Use after creating PR - monitor CI pipeline, resolve failures, address review feedback, and merge when all gates pass
Monitor CI pipeline, resolve failures, address review feedback, and merge when ready.
Core principle: CI failures AND unresolved review feedback are blockers.
Announce: "I'm monitoring CI and review feedback, and will resolve any issues before merging."
PR Created
ā
ā¼
āāāāāāāāāāāāāāā
ā Wait for CI ā
āāāāāāāā¬āāāāāāā
ā
āāāāā“āāāā
ā ā
Green Red āāāŗ Fix ā Push ā Loop back
ā
ā¼
āāāāāāāāāāāāāāāāāāāāāāāā
ā Unresolved Reviews? ā
āāāāāāāāāāāā¬āāāāāāāāāāāā
āāāāā“āāāā
ā ā
None Yes āāāŗ For each: Evaluate ā Fix/Pushback ā Reply ā Resolve ā Push ā Loop back
ā
ā¼
āāāāāāāāāāāāāāā
ā MERGE PR ā
āāāāāāāāāāāāāāā
When both conditions met, merge immediately:
gh pr merge [PR_NUMBER] --squash --delete-branch
gh issue edit [ISSUE_NUMBER] --remove-label "status:in-review" --add-label "status:done"
Do NOT stop to report or ask. Continue to next issue.
Exception: PRs with do-not-merge label.
gh pr checks [PR_NUMBER]
gh pr checks [PR_NUMBER] --watch
gh run view [RUN_ID] --log-failedDetailed patterns: See reference/ci-failures.md
After CI green, check for unresolved threads:
gh api graphql -f query='
query($owner: String!, $repo: String!, $pr: Int!) {
repository(owner: $owner, name: $repo) {
pullRequest(number: $pr) {
reviewThreads(first: 100) {
nodes { id isResolved isOutdated comments(first: 1) { nodes { body author { login } path } } }
}
}
}
}' -f owner="[OWNER]" -f repo="[REPO]" -F pr=[PR_NUMBER]
For each unresolved thread (isResolved: false):
| Step | Action |
|---|---|
| 1 | Read and understand feedback |
| 2 | Verify: technically valid for this codebase? |
| 3 | Fix, defer (with issue), or push back with reasoning |
| 4 | Reply in thread: gh api repos/.../pulls/.../comments/[ID]/replies -f body="..." |
| 5 | Resolve: gh api graphql -f query='mutation { resolveReviewThread(...) }' |
| 6 | Push fixes, loop back to CI |
Detailed commands: See reference/review-feedback.md
Security flags from automated reviewers (Codex, CodeRabbit, etc.) should be treated seriously and verified against the codebase.
Run locally first. CI validates, doesn't discover.
pnpm lint && pnpm typecheck && pnpm test && pnpm build
If CI finds bugs you didn't find locally, your local testing was insufficient.
CI:
Review feedback:
Merge:
gh pr merge --squash --delete-branchCalled by: issue-driven-development, autonomous-orchestration
Follows: pr-creation
Uses: receiving-code-review (principles for evaluating feedback)
Completes: PR lifecycle