Skip to main content

How a review fires

A Qodex review starts when a connected GitHub repo sends an event for a pull request. The most common triggers are opening a PR, pushing new commits, reopening a PR, or asking manually with @qodex review.

Review sequence

  1. Someone opens or pushes to a PR. GitHub posts the event to Qodex. If the repo is not connected to any Qodex project, the event is acknowledged and dropped.
  2. Qodex posts a Check Run as in progress. A Qodex review check appears in the PR’s checks panel so the author knows a review is running.
  3. The agent reviews the diff. Qodex pulls the unified diff, reads .qodex.yaml from the PR head, loads project memory, and runs a high-precision review pass. Findings below the 0.7 confidence floor are dropped.
  4. Qodex posts comments. Findings on changed lines become inline comments. Findings outside the diff move into the walkthrough body under “Findings outside the diff.” The walkthrough also includes a summary, severity counts, and a “What Qodex checked” transparency block.
  5. The Check Run completes. In advisory mode, the conclusion is neutral. In gated mode, the conclusion is failure only when a verified finding meets block_on_severity; otherwise it is success. Unverified findings never block.
The whole flow runs in the background. The webhook returns immediately so GitHub does not retry.

Re-running a review

Comment @qodex-ai review on the PR thread to review the current head commit again. The Check Run on that same head SHA updates in place, so manual re-runs do not stack duplicate checks. After a successful review, Qodex normally focuses an automatic re-review on the files and lines changed since that earlier review. It falls back to the full PR when it cannot prove the earlier commit is an ancestor, the new change is too large, or the host cannot provide a complete readable delta. Existing findings carry forward rather than being repeated. Use @qodex-ai full review when you want Qodex to review the PR from scratch and disregard the earlier findings. See Slash commands for the full command list.

When Qodex skips a PR

Qodex skips a PR with a neutral Check Run when:
  • The PR is a draft. Mark it ready for review to fire the next review.
  • The repo’s .qodex.yaml has pr_review.enabled: false. Set enabled: true to re-enable.
  • The PR author is a bot.
  • The changed files all match paths.exclude in .qodex.yaml.
  • The author or base branch is outside the repo’s configured authors or base_branches allowlist.
  • Automatic reviews were paused for the PR, or the PR description declares @qodex-ai ignore.
  • The PR action is not opened, synchronize, or reopened. A labeled event, for example, is acknowledged but does not run a review.
See Troubleshooting for what to do in each case.

Walkthrough anatomy

Check Run and merge gating

Slash commands

Connect a repo