Repository navigation
fix(merge): preflight ungated heads against the live base - #253
Conversation
Quest-Claim: 09e8513c12b7a2ba
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. |
kixelated
left a comment
There was a problem hiding this comment.
Automated review by review (OpenAI)
Reviewed commit: a7b2d6b
No actionable bugs found. The direction is appropriately narrow: ungated landings compare the live base with the pinned head and fail closed unless ahead/identical, while the existing quest-land gate avoids redundant per-PR comparisons. Hold/error handling and head-pinned mutations remain intact. The shared design checkpoint and required-review timeout guidance are consistent.
Verification: static review of the diff, surrounding landing/requirements code, and regression tests; tests were not run. The documented gap between base comparison and merge/auto-merge execution remains a preflight limitation, not an atomic freshness guarantee.
|
Merge summary: (written by Claude Opus 5.5) |
Add a concrete ungated landing preflight: compare the live base ref against the pinned PR head and refuse behind/diverged histories, naming both commits. A base gated by
quest landskips the comparison and uses its existing current-base merge/test chain.The user narrowed the original quest on 2026-10-27: freshness refusal applies only to ungated bases; queuing for
quest landmust not add redundant per-PR base merges or check cycles. This PR follows that scope and does not import unmerged PR249.Move the every-fourth-review-round design checkpoint into the guide and point merge, iterate, and complete at it. A required review of a changed head that times out now returns to the user instead of starting another wait.
Validation:
just check,just test, focused hold tests, andquest check --base origin/mainpassed. Regression coverage refuses behind/diverged ungated heads, accepts after a base merge and an identical base/head, and proves a gated PR queues without an ancestry comparison.Accepted user decisions (2026-10-27): freshness refusal applies only to ungated bases, and an immediate live-base preflight is sufficient with the remaining race explicitly documented. GitHub’s merge input pins
expectedHeadOidbut has no expected base OID; the base can move between comparison and mutation. This PR promises that preflight, not atomic freshness. No protection, queue, credential, or merge-executor requirement is added.Removed the finished quest and its links. No open decisions remain; no merges performed.
CI: required checks passed. The optional Windows ARM job failed the unchanged gate-headroom race; kixelated/quest#233 already fixes it. Posted review found no actionable bugs and Codex added 👍 on this head.
(written by GPT-6)