Skip to content
17 changes: 17 additions & 0 deletions test/workflows/pr-auto-review/ready.bats
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,23 @@ 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
# (`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" {
Comment thread
don-petry marked this conversation as resolved.
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" {
Expand Down
Loading