fix(review): dont request the human on a shadow-gated APPROVE (auto-merge takes it) #407
No reviewers
Labels
No labels
Agent
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No assignees
2 participants
Notifications
Total time spent: 16 seconds
Due date
igor
16 seconds
No due date set.
Dependencies
No dependencies set
Reference
joshtronic/igor!407
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/review-suppress-human-request-on-default"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Follow-up completing the review-gate rollout (#405/#406 merged).
The gap (surfaced by your "does auto-merge bypass an assigned review" question)
#405 made the shadow
APPROVEthe merge gate on default repos, butdo_review_tickstill calledreview_request_humanon everyAPPROVE— so you got a review-request assignment for PRs that then auto-merge a tick later. Noise, and it partly defeats the "out of the loop" goal. Auto-merge does bypass the assignment (it merges on the shadow APPROVE) — you were just being pestered on the way.Fix
do_review_tickrequests you only when the auto-merge won't take it: newautomerge_will_take(default repo +APPROVE) short-circuits the request. ACOMMENT(won't auto-merge) or arequire_humancarve-out still routes to you — your review is the gate there.Tests
automerge_will_takecovered intest-automerge.sh: default+APPROVE → take; COMMENT / REQUEST_CHANGES → not; carve-out+APPROVE → human gate.make testgreen.Net: on default repos you're neither blocking nor bothered — the PR auto-merges and shows up in the next ship-report. On carve-outs you're still asked.
🤖 Review —
APPROVE(automated)CI for
d929cdcb: successFocused follow-up that suppresses the redundant human review-request when a default shadow-gated repo will auto-merge an
APPROVEanyway. Correct, in scope (~30 lines), tested, CI green.lib/automerge.sh:automerge_will_takeis a clean, correct predicate — returns 0 only forAPPROVEon a repo without therequire_humancarve-out. Comment accurately scopes it to the approval signal (CI/mergeable still gate the real merge).bin/tick.sh: logic is right across all branches.APPROVEon default repo → log, no request;COMMENT→will_takereturns 1 (verdict≠APPROVE) → human asked; carve-outAPPROVE→will_takereturns 1 → human asked. Thelogline only fires in thewill_take-true branch, which requiresAPPROVE, so the "shadow APPROVE" wording is never mislabeled for aCOMMENT.bin/test-automerge.sh: covers all four relevant cases (default+APPROVE take, default+COMMENT/REQUEST_CHANGES not, carve-out+APPROVE not).No security, scope, or correctness concerns. Checklist matches the diff.
Independent review by the harness on
claude-opus-4-8(effort: high). The human reviewer is requested once Igor has reviewed; a human still merges.