Repository navigation
quest review covers only the branch's own change, on any checkout - #421
Conversation
Quest-Claim: 04c4f370eb4db29b
Every turn now names the merge base of HEAD with the base's tip. Codex's `exec review --base` and Claude Code's `/code-review` both get the merge base, and the follow-up and later-round prompts name `git diff <merge-base>..<head>`. In #337, Codex's findings turn had no range to go on. It diffed the base's tip, which the instructions called "the base commit", against the head, and so it reported main's newer code as reverted. `--branch <name>` keys the review session by a branch other than the checked-out one. A detached HEAD requires it. A checkout of a branch that another worktree holds can then continue that branch's session. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars.
|
|
quest land watch: the merge queue removed this pull request at 1fd183d because it conflicts with The land fixer works on it in the background, and the watcher re-enqueues it at the back of the queue once it is fixed or judged flaky, or hands it back here with what it needs. (written by quest land watch) |
|
quest land watch: armed auto-merge on this pull request at 4ec9d3a, so it joins the back of the merge queue once its required checks pass, with the land fixer's fix ( (written by quest land watch) |
|
quest land watch: the merge queue removed this pull request at 4ec9d3a because it conflicts with The land fixer works on it in the background, and the watcher re-enqueues it at the back of the queue once it is fixed or judged flaky, or hands it back here with what it needs. (written by quest land watch) |
|
quest land watch: armed auto-merge on this pull request at 38415c8, so it joins the back of the merge queue once its required checks pass, with the land fixer's fix ( (written by quest land watch) |
|
quest land watch: the merge queue removed this pull request at 38415c8 because it conflicts with The land fixer works on it in the background, and the watcher re-enqueues it at the back of the queue once it is fixed or judged flaky, or hands it back here with what it needs. (written by quest land watch) |
Implements and deletes quest/m0/review-merge-base.md.
quest reviewnow reviews only the branch's own change, even when the branch is behind its base. It also reviews a detachedHEAD.Summary
exec review --base origin/mainturn was correct: it was told the merge base and rangit diff <merge-base>. The bad findings came from the follow-up findings turn, whichquest reviewresumes. That prompt named only the head, and the developer instructions called main's tip "the base commit". So Codex ran a two-dotgit diff <main tip> <head>and reported main's newerlandcode as reverted (session01a198ee-…).src/cli/review.ts).review()computes the merge base ofHEADwith the fetched base tip and passes it to every turn.exec review --base <merge-base>. Given a commit, Codex's merge base withHEADis that commit, and its prompt names it./code-review <effort> <merge-base>...HEAD.`git diff <merge-base>..<head>`. They also say the base's newer commits are not part of the change.HEAD.--branch <name>keys the review session by that branch instead of the checked-out one, the same wayquest check --branchdoes. A detachedHEADrequires it, and the error now says so. The name is checked withgit check-ref-format --branch. So a checkout of a branch that another worktree holds, the moq-dev/quest#348 case, continues that branch's session. So does a differently named local branch.quest review --helptext and the README "Review locally" section are updated./quest-review(assets/skills/review.md) now says to use a detached checkout plus--branchwhen another worktree holds the PR's head branch.test/review.test.ts).docs/change brings nodocs/AGENTS.md.--branchresumes the branch's session in round 2. A differently named branch with--branchcontinues it in round 3, and without--branchstarts its own.--branchname.Choices made without asking
HEADnames its session with--branch; there is no automatic key. The quest suggested "by the PR or by a name passed on the command line". Finding the PR from a merge commit'sHEADwould need the forge and guesswork, while--branchmatchesquest check --branchand needs no network. Without it, a detachedHEADis a usage error that names the flag.<remote>/<base>...HEAD. So a concurrent fetch in another worktree cannot move the range mid-round, and both reviewers get the same commit.basestill prints the base's tip, and the merge base is not printed.Checks
At 1fd183d:
just checkpasses,just testpasses (939 passed, 2 skipped), andquest check --base origin/mainis ok.Review
mechanical fix by quest land watch:
merged main at fc7bab34c2a56e2620f9a6b9e7da8db5d3d377b3 with the quest merge driver(head dacb855)mechanical fix by codex / Codex:
Merged base, preserving the exported Context and PR mergeBase field; renamed the fixture field; passed bun run build, bun run check, and bun run test (979 passed, 2 skipped).(head 38415c8)mechanical fix by codex / Codex:
Merged base and re·solved ReviewOptions conflict by preserving both branch and signal; bun run build, bun run check, and bun run test passed (962 tests passed, 2 skipped).(head 4ec9d3a)Codex (
quest review, run from this branch, so it exercised the fix live), gpt-6.1-sol, medium effort, session01a19f5e-8003-78d2-9903-c027cb06d57d, againstorigin/main91058d2. Reviewed head 1fd183d.git diff <merge-base>..<head>.Suggested follow-ups
None.
🤖 Generated with Claude Code
(Written by Claude Opus 5.5)