A PreToolUse hook on gh pr create and gh pr ready. When the committed diff is nonempty and has no matching review receipt, the hook itself runs an adversarial review by the other model: a PR opened from Claude Code gets reviewed by Codex, one opened from Codex gets reviewed by Claude. A clean verdict lets the command through. Findings come back as the deny reason, so the model fixes what it agrees with, commits, and retries; the retry reviews the new context. Retrying unchanged is allowed. The deny message asks the author to explain rejected findings in the PR description; the hook does not verify that explanation. The author is whichever harness opens the PR, so no commit markers are needed.
Receipts are stored in ~/.cache/xreview/ and bound to the checkout, target repository, branch, head commit, base branch and commit, merge-base, diff hash, and reviewer. Any new commit or base change invalidates them. A valid review with findings still c