From b5b1c443f351bd0fe9174a7392dc12de5fcd8cc1 Mon Sep 17 00:00:00 2001 From: Nathan Heskew Date: Tue, 12 May 2026 11:19:12 -0700 Subject: [PATCH] ci(gemini): pin model to gemini-2.5-flash for routine review duty MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Gemini reusable defaults to `gemini-2.5-pro`, which is Gemini's flagship tier and the wrong cost/quality match for routine PR review. Claude's reviewer uses Sonnet 4.6 (mid-tier); the apples-to-apples Gemini peer is Flash, not Pro. This also resolves the quota failure on the first dual-reviewer run — `gemini-2.5-pro` has no free-tier allocation on the project behind this repo's `GEMINI_API_KEY` (HTTP 429 with `limit: 0, model: gemini-2.5-pro`), while `gemini-2.5-flash` typically has free-tier capacity. When the reusable's default flips to Flash this override becomes redundant. --- .github/workflows/gemini-review.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/gemini-review.yml b/.github/workflows/gemini-review.yml index 15692db..a69cc87 100644 --- a/.github/workflows/gemini-review.yml +++ b/.github/workflows/gemini-review.yml @@ -41,6 +41,12 @@ jobs: # (reusable workflows can't introspect their own ref in # workflow_call context). ai-review-prompts-ref: 9471cd8026bbbf6b0eb2a75143071c533811c52e + # Match Claude's tier (Sonnet) — Flash is Gemini's mid-tier + # peer. The reusable's current default is `gemini-2.5-pro` + # (flagship), which is the tier mismatch we want to avoid for + # routine review duty. Once the reusable's default flips to + # Flash this override becomes redundant. + model: gemini-2.5-flash review-layers: | universal harper/common