From 8fa98398fa9d637e53ecb0b6761c2a0d0a7f2d7e Mon Sep 17 00:00:00 2001 From: Johannes du Plessis Date: Thu, 11 Jun 2026 13:03:34 -0700 Subject: [PATCH] fix: settle incomplete review check as neutral, not failure (#1501) Co-authored-by: open-swe[bot] --- agent/middleware/settle_review_check.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/agent/middleware/settle_review_check.py b/agent/middleware/settle_review_check.py index 8f08b1c7..de3c40e1 100644 --- a/agent/middleware/settle_review_check.py +++ b/agent/middleware/settle_review_check.py @@ -3,8 +3,8 @@ ``publish_review`` normally completes the ``Open SWE Review`` check run and clears ``review_check_run_id`` from reviewer thread metadata. If the run ends without ever publishing (crash, model-call limit, sandbox failure), the check -would hang "in progress" on the PR forever. This hook closes it as a failure -so the PR's checks section reflects reality. +would hang "in progress" on the PR forever. This hook closes it as neutral — +the review not completing is reviewer infrastructure failing, not the PR. """ from __future__ import annotations @@ -63,7 +63,9 @@ async def settle_review_check_on_exit( title = str(pending.get("title") or "Review completed") summary = str(pending.get("summary") or "") else: - conclusion = "failure" + # Neutral, not failure: an incomplete review is a reviewer-infra + # problem, and a red X on the PR misreads as a code problem. + conclusion = "neutral" title = "Review did not complete" summary = ( "The Open SWE review run ended without publishing a review. "