From 467727156774ace3742cf3fd893950b670f8d92f Mon Sep 17 00:00:00 2001 From: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com> Date: Wed, 22 Jul 2026 19:28:41 +0000 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20implement=20issue=20#884=20?= =?UTF-8?q?=E2=80=94=20[#850]=20Finish=20#857=20tail:=206=20convergence=20?= =?UTF-8?q?PRs=20blocked=20on=20CI-infra=20noise=20(cancelled=20dev-lead?= =?UTF-8?q?=20checks=20+=20repo-specific=20fails)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/workflows/pr-auto-review/ready.bats | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/test/workflows/pr-auto-review/ready.bats b/test/workflows/pr-auto-review/ready.bats index f7a5488fd..fcdaf0574 100644 --- a/test/workflows/pr-auto-review/ready.bats +++ b/test/workflows/pr-auto-review/ready.bats @@ -116,6 +116,22 @@ REQUIRED='["Lint"]' [ "$output" = "dispatched" ] } +# #884 fleet-convergence repro (the exact "main blocker" fact pattern): a +# standards-sync PR whose REQUIRED contexts are all green, carrying BOTH +# concurrency-churn cancelled dev-lead orchestration checks +# (`dev-lead / dispatch` + `dev-lead / ci-relay`) AND a non-required failing +# advisory (mirroring ContentTwin `Test` / google-app-scripts `autofix`). The +# required-only gate must ignore all three non-required contexts and dispatch — +# so the pr-auto-review path never reads CANCELLED (or a non-required FAILURE) as +# a merge-readiness blocker. +@test "ready: #884 convergence — required green + cancelled dev-lead pair + non-required failure → dispatched" { + run pr_auto_review_ready "OPEN" "false" \ + '[{"name":"CI / Lint","bucket":"pass"},{"name":"dev-lead / dispatch","bucket":"cancel"},{"name":"dev-lead / ci-relay","bucket":"cancel"},{"name":"Test","bucket":"fail"}]' \ + "$REQUIRED" "" "" "0" + [ "$status" -eq 0 ] + [ "$output" = "dispatched" ] +} + # ── criterion #3: review decision ──────────────────────────────────────────── @test "not ready: CHANGES_REQUESTED → skip-changes-requested" { From e878e2a3af249cabe9da7ab575099d6ae960ab55 Mon Sep 17 00:00:00 2001 From: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com> Date: Thu, 23 Jul 2026 18:34:29 +0000 Subject: [PATCH 2/2] chore: dev-lead update (review-changes) [skip ci-relay] --- test/workflows/pr-auto-review/ready.bats | 1 + 1 file changed, 1 insertion(+) diff --git a/test/workflows/pr-auto-review/ready.bats b/test/workflows/pr-auto-review/ready.bats index fcdaf0574..80e53c01e 100644 --- a/test/workflows/pr-auto-review/ready.bats +++ b/test/workflows/pr-auto-review/ready.bats @@ -116,6 +116,7 @@ REQUIRED='["Lint"]' [ "$output" = "dispatched" ] } +# REQ: required-only gate ignores cancelled dev-lead orchestration checks and non-required failing checks, dispatching when all REQUIRED contexts are green # #884 fleet-convergence repro (the exact "main blocker" fact pattern): a # standards-sync PR whose REQUIRED contexts are all green, carrying BOTH # concurrency-churn cancelled dev-lead orchestration checks