Repository navigation
fix: repair stale PRs on every supervision pass - #36
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: QUIET Plan: Advanced Run ID: 📒 Files selected for processing (1)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 1 remain after this review. 📝 WalkthroughWalkthroughIdle pickup now starts runs for open, non-draft PRs that need repair, including PRs with persistent Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Severity of issue fixed: Low Merge Risk: 🟡 Moderate · up to PRs that remain UNKNOWN may trigger repeated no-op repair runs before handoff. Clarify how the next supervision pass uses the prior result before merging. Architecture SummaryArchitecture risk: 🔵 Low · up to The change affects 1 system. Changed systems: Architecture concerns Review detailsSystems and components
Before / after behavior
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 269b2e32f2
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
Note
Quiet mode is enabled, so only the most important comments were posted inline. Other review comments are grouped below.
🟡 Other comments (1)
skills/origin89-orca/references/unattended-run.md-275-282 (1)
275-282: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winDefine the persistent
UNKNOWNhandoff.The pickup trigger includes PRs that remain
UNKNOWNafter the API recheck. The repair worker then follows guidance that only defines actions forDIRTYandBEHINDbranches. No action changes or hands off a clean PR that remainsUNKNOWN. After the worker settles, the same trigger can select the PR again.Add a bounded handoff and exclude handed-off PRs from the repair trigger.
Suggested fix
-or when one of the user's open, non-draft PRs needs repair as -[Repair conflicting PRs](#repair-conflicting-prs) defines it. That condition +or when one of the user's open, non-draft PRs needs repair as +[Repair conflicting PRs](#repair-conflicting-prs) defines it and does not +already have `needs-human-review`. That condition @@ Read each such PR with `gh api repos/owner/repo/pulls/<number>` to -start the computation, then list again after a short wait. +start the computation, then list again after a short wait. If it remains +`UNKNOWN`, add `needs-human-review`, report it to the user, and do not start +a repair worker. @@ -A PR needs repair when its `mergeable` is `CONFLICTING`, or still `UNKNOWN` -after the `recheck` above, and no live agent holds its worktree and no live +A PR needs repair when its `mergeable` is `CONFLICTING`, and no live agent +holds its worktree and no live
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: QUIET
Plan: Advanced
Run ID: 4d59d5eb-d0ee-4a7f-ad1d-f765dac11672
📒 Files selected for processing (1)
skills/origin89-orca/references/unattended-run.md
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 2 remain after this review.
|
CodeRabbit's persistent UNKNOWN finding (lines 275-282) is addressed in f05133e: a clean test-merge pushes nothing, a still-UNKNOWN PR on a later pass is handed over with needs-human-review, and labelled PRs are excluded from repair. |
Follow-up to #34. On 2026-09-27, km43 #165 went
CONFLICTINGwhen sibling #164 merged at 17:47Z, and nothing repaired it for about 20 minutes. The repair rule ran only before claiming new issues, so a coordinator busy supervising never reached it, and the precheck matched onlyCONFLICTINGwhile GitHub still reportedUNKNOWNright after the base moved.Changes in the Idle pickup and Merge gate sections of
unattended-run.md:CONFLICTING, or stillUNKNOWNafter reading it withgh api repos/owner/repo/pulls/<number>and listing again, lacksneeds-human-reviewandhuman-only, and no live agent holds its worktree.UNKNOWNPR, the repair worker test-merges the base locally and pushes nothing when that is clean, so an unneeded update does not restart reviews; a PR stillUNKNOWNon a later pass is handed over.needs-human-review(which stops later passes repeating it), a PR comment, the report, and a Roger Ask when set up.Repair still merges the base in, never rebases or force-pushes, and does not use issue slots.
pr-review-follow-up.mdis unchanged.Validation:
just checkpasses (32 tests). The#repair-conflicting-prsanchor resolves.Closes #35