Skip to main content

Review Commands

pan review manages the review loop for an issue that already has a workspace and a feature branch. Every subcommand calls the running dashboard, so start it first with pan up. Without it, the command prints Dashboard not running and exits 1.
Review needs no separate “start” step. pan done requests review as its last step, and a PR you open or mark ready by hand starts the same pipeline through the GitHub webhook. The verdict lands as a review on the PR, which is also where the dashboard reads it from.
pan convoy no longer exists, and neither does pan review run. The parallel reviewers that the convoy used to launch are now the full review mode (see Review modes).

pan review request

Request a re-review after fixing review feedback.
Options:
  • -m, --message <text>: describes the fixes, and is recorded with the request
This calls POST /api/review/:issueId/request, the same call pan done makes. The dashboard first runs verification on the branch and dispatches review once the verified branch is pushed, so a successful request prints Verification started for <id>; review will start automatically when it passes. Depending on the issue’s state, the request can instead:
  • refuse, if the issue is already merged, the workspace does not exist, or the workspace has uncommitted changes;
  • re-queue tests without a new review, if the PR is already approved but its checks are not green;
  • succeed as a no-op, if the PR is approved and its checks are green.
Circuit breaker: an issue gets at most 25 automatic re-review requests. After that the command exits 1 with Circuit breaker triggered!, and an operator has to click Review in the dashboard to continue. The count lives in dashboard memory, so it starts again from zero after a dashboard restart.

pan review restart

Resume the review and re-dispatch every reviewer that has not produced its report.
Options:
  • --model <model>: overrides the model for all restarted reviewers
  • --role <role>: restarts only one reviewer lane: correctness, security, performance, or requirements
restart kills the running reviewer sessions and keeps what is already done. Reports from reviewers that finished stay in place, and the review session is resumed rather than started over, so a restart on the same model checks the fix instead of re-reading the whole diff. The review session is started fresh only when --model changes the model. --role needs an active review run for the issue. Without one, the command exits 1 with Active review run not found for <id>. Restarting a review agent from the dashboard calls the same endpoint.

pan review abort

Kill every running reviewer session for an issue.
The command prints each session it killed, and a warning if any session could not be killed. It does not message the work agent, which stays idle. There is nothing to reset afterwards: whether the issue is in review is read from the PR, not from stored state.

Review modes

The review mode is configuration, not a command flag. It comes from roles.review.mode in ~/.overdeck/config.yaml.
Each lane’s model comes from roles.review.sub.<lane>.model. When that is not set, it falls back to roles.review.model and then to the built-in default.