> ## Documentation Index
> Fetch the complete documentation index at: https://qodex.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# How a review fires

> What happens after a pull request opens, changes, reopens, or receives an @qodex review command.

# 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 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.

See [Slash commands](/pr-review-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 PR action is not `opened`, `synchronize`, or `reopened`. A `labeled` event, for example, is acknowledged but does not run a review.

See [Troubleshooting](/pr-review-troubleshooting) for what to do in each case.

## Related

<CardGroup cols={2}>
  <Card title="Walkthrough anatomy" icon="message-square" href="/pr-review-walkthrough-anatomy" />

  <Card title="Check Run and merge gating" icon="shield-check" href="/pr-review-check-run" />

  <Card title="Slash commands" icon="terminal" href="/pr-review-slash-commands" />

  <Card title="Connect a repo" icon="link" href="/pr-review-connect-repo" />
</CardGroup>
