From 737814504eb435cae50b5a2f7d5b3610bdf05a41 Mon Sep 17 00:00:00 2001 From: Cansin Yildiz Date: Sun, 30 Aug 2026 19:34:52 +0200 Subject: [PATCH 1/2] fix: draft-PR guard on the caller The mirror's header has always documented the draft gate as the caller's job; the caller never carried it, so drafts received blocking self-hosted reviews. The gap surfaced when bly's first Claude review caught the same omission in its freshly-copied caller. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01LjEWDajYkRMzCdEUhw44jc --- .github/workflows/claude-code-review.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/claude-code-review.yml b/.github/workflows/claude-code-review.yml index 0e8b63d..89b7811 100644 --- a/.github/workflows/claude-code-review.yml +++ b/.github/workflows/claude-code-review.yml @@ -28,6 +28,11 @@ on: jobs: claude-review: + # Draft gate on the CALLER (see the mirror's header): a skipped + # `uses:` job never instantiates the reusable, so a draft publishes + # NO check runs — not a green `skipped` that branch protection + # counts as passed. Flagged by this repo's own first Claude review. + if: ${{ github.event.pull_request.draft == false }} uses: ./.github/workflows/_claude-review.yml # Delivers CLAUDE_CODE_OAUTH_TOKEN to the mirror — load-bearing on # the claude paradigm; without it the reviewer runs unauthenticated From 2d914b1e56d11216be4934b941ac7466dab1da22 Mon Sep 17 00:00:00 2001 From: Cansin Yildiz Date: Sun, 30 Aug 2026 19:54:48 +0200 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20ready=5Ffor=5Freview=20+=20reopened?= =?UTF-8?q?=20triggers=20=E2=80=94=20the=20draft=20gate=20made=20their=20a?= =?UTF-8?q?bsence=20a=20deadlock?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flagged by the claude gate on this very PR: with the draft gate, a draft marked ready without a new push fired no event, so the required check stayed 'expected' forever. Same trigger list as grove and bly. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01LjEWDajYkRMzCdEUhw44jc --- .github/workflows/claude-code-review.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/claude-code-review.yml b/.github/workflows/claude-code-review.yml index 89b7811..7048d3d 100644 --- a/.github/workflows/claude-code-review.yml +++ b/.github/workflows/claude-code-review.yml @@ -24,7 +24,11 @@ name: Claude Code Review on: pull_request: - types: [opened, synchronize] + # reopened + ready_for_review are load-bearing WITH the draft gate: a + # draft marked ready without a new push must still mint the required + # check, or the PR blocks forever on 'expected'. (Flagged by the + # claude gate on the draft-guard PR itself; same list as grove/bly.) + types: [opened, reopened, ready_for_review, synchronize] jobs: claude-review: