Skip to content

Decide: Which Signal Should Hold pr_review.py merge for a Hosted Review Whose Status Has Not Registered Yet #3814

Closed

Description

@ptr727

Split from #3806 by the backlog-burndown away run planner (2026-11-02, round 2). The issue itself names the choice as a design decision, so it is held back until this is answered.

Question: pr_review.py merge and wait now hold for a CodeRabbit or Qodo check that has registered on the head and is still settling (#3789). A hosted reviewer whose status has not registered yet is still invisible, so a head whose other checks all pass first reads CLEAN or UNSTABLE and can merge before the review starts. Which signal should say that a hosted review of this head is still coming?

Options, recommended first:

  1. A grace period after the head's last check settles (recommended): hold until a stated number of minutes has passed since the later of the head's push time and its last check's completion, then release if no hosted check has registered. It needs no reviewer-specific configuration and works on a pull request's first head, where no earlier review exists. Its false-hold cost is a fixed, bounded delay on every merge, never an open-ended hold on a review the reviewer skips. The window value is the maintainer's call. No work in flight.
  2. An earlier review of the same pull request: hold when the reviewer reviewed an earlier head of this pull request and has no status on this head. It is precise where it fires, but it gives no protection on a first head. It also holds open-ended on a head the reviewer declines to review, such as an incremental review CodeRabbit skips, unless a time bound is added as well. No work in flight.
  3. The repository's reviewer configuration: read whether the reviewer is configured to run on this base branch and hold until its status registers. It needs a parser per reviewer configuration format, and it still holds on every head the reviewer skips. No work in flight.
  4. Leave it as is and document the residual: state in pr-review-conduct and scripts/README.md that an unregistered hosted status is invisible to the gate, and that the driver confirms the reviewer has posted before merging. No code change. No work in flight.

Blocks: #3806 only.

Activity

  1. added
    decisionA question waiting on the maintainer, alone or beside whatever else the issue carries
    on Nov 2, 2026
  2. removed
    decisionA question waiting on the maintainer, alone or beside whatever else the issue carries
    on Nov 3, 2026
  3. ptr727 commented on Nov 3, 2026

    @ptr727
    OwnerAuthor

    Answered, with the answer recorded on #3806, which holds the work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions