Skip to content

Transition to flash GA model when experiment flag is present.#27570

Merged
DavidAPierce merged 11 commits into
mainfrom
update_default_flash
Jun 1, 2026
Merged

Transition to flash GA model when experiment flag is present.#27570
DavidAPierce merged 11 commits into
mainfrom
update_default_flash

Conversation

@DavidAPierce

Copy link
Copy Markdown
Contributor

Summary

Transition legacy Gemini Flash models to GA by replacing them with gemini-3.5-flash. This transition is gated by a new experiment flag and user access logic to ensure a safe rollout while maintaining backward compatibility for non-GA users.

Details

  • Experiment Gating: Added boilerplate GEMINI_3_5_FLASH_GA_LAUNCHED experiment flag (ID: 45773135) (to be updated depending on final flag id).
  • Access Logic: Implemented hasGemini35FlashGAAccess() in the Config class. GA access is automatically granted for USE_GEMINI, USE_VERTEX_AI, and GATEWAY authentication types, or if the experiment flag is active.
  • Model Resolution:
    • Updated resolveModel and resolveClassifierModel in models.ts to forced-resolve all flash models (gemini-2.5-flash, gemini-3-flash-preview, and the flash alias) to gemini-3.5-flash when GA access is granted.
    • Updated all resolveModel call sites across the codebase (Client, GeminiChat, ContentGenerator, Routing Strategies, etc.) to pass the GA access status.
  • Service Configuration:
    • Defined gemini-3.5-flash in defaultModelConfigs.ts.
    • Added resolution rules to ModelConfigService to handle the forced transition.
  • Unit Tests: Added comprehensive tests in packages/core/src/config/models.test.ts to verify resolution parity, GA transition, and fallback scenarios.

Related Issues

Related to #27071

How to Validate

Run the dedicated model configuration unit tests:

cd packages/core && npx vitest run src/config/models.test.ts

All 82 tests (including new GA resolution cases) should pass.

Pre-Merge Checklist

  • Updated relevant documentation and README (if needed)
  • Added/updated tests (if needed)
  • Noted breaking changes (if any)
  • Validated on required platforms/methods:
    • Linux
      • npm run

@github-actions

github-actions Bot commented May 29, 2026

Copy link
Copy Markdown

Size Change: +4.3 kB (+0.01%)

Total Size: 33.9 MB

Filename Size Change
./bundle/chunk-2ZNZY6FX.js 0 B -661 kB (removed) 🏆
./bundle/chunk-4KIJYQQE.js 0 B -3.43 kB (removed) 🏆
./bundle/chunk-5PYQ7P63.js 0 B -13 kB (removed) 🏆
./bundle/chunk-AEV5UYAB.js 0 B -2.79 MB (removed) 🏆
./bundle/chunk-B7R6XI5G.js 0 B -16.4 MB (removed) 🏆
./bundle/chunk-K72XX2E7.js 0 B -49.2 kB (removed) 🏆
./bundle/chunk-QJRSH2IZ.js 0 B -19.5 kB (removed) 🏆
./bundle/chunk-UNWH6YNJ.js 0 B -3.77 kB (removed) 🏆
./bundle/core-VTGYNJFK.js 0 B -49.5 kB (removed) 🏆
./bundle/devtoolsService-CUIUJEQQ.js 0 B -28 kB (removed) 🏆
./bundle/gemini-NVEATSIL.js 0 B -589 kB (removed) 🏆
./bundle/interactiveCli-ZSZ4C6LE.js 0 B -1.3 MB (removed) 🏆
./bundle/liteRtServerManager-EMK7KKTW.js 0 B -2.08 kB (removed) 🏆
./bundle/oauth2-provider-A7BXI4FA.js 0 B -9.12 kB (removed) 🏆
./bundle/chunk-4QCXIEQE.js 49.2 kB +49.2 kB (new file) 🆕
./bundle/chunk-6SYIQE24.js 16.4 MB +16.4 MB (new file) 🆕
./bundle/chunk-BFVI7ND2.js 3.77 kB +3.77 kB (new file) 🆕
./bundle/chunk-ENQCNZEN.js 19.5 kB +19.5 kB (new file) 🆕
./bundle/chunk-LG27TUB4.js 3.43 kB +3.43 kB (new file) 🆕
./bundle/chunk-MAXHOM6C.js 13 kB +13 kB (new file) 🆕
./bundle/chunk-MEAX5S5L.js 2.79 MB +2.79 MB (new file) 🆕
./bundle/chunk-QK6NYJEX.js 661 kB +661 kB (new file) 🆕
./bundle/core-TDRFTB7O.js 49.6 kB +49.6 kB (new file) 🆕
./bundle/devtoolsService-G6H5EIP5.js 28 kB +28 kB (new file) 🆕
./bundle/gemini-KSRLKDWF.js 589 kB +589 kB (new file) 🆕
./bundle/interactiveCli-3BZP4QOX.js 1.3 MB +1.3 MB (new file) 🆕
./bundle/liteRtServerManager-GSJEXSCK.js 2.08 kB +2.08 kB (new file) 🆕
./bundle/oauth2-provider-4Y7IUITO.js 9.12 kB +9.12 kB (new file) 🆕
ℹ️ View Unchanged
Filename Size Change
./bundle/bundled/third_party/index.js 8 MB 0 B
./bundle/chunk-34MYV7JD.js 2.45 kB 0 B
./bundle/chunk-5AUYMPVF.js 858 B 0 B
./bundle/chunk-5PS3AYFU.js 1.18 kB 0 B
./bundle/chunk-6HI7VNOG.js 124 kB 0 B
./bundle/chunk-DAHVX5MI.js 206 kB 0 B
./bundle/chunk-IUUIT4SU.js 56.5 kB 0 B
./bundle/chunk-TUDYL3X4.js 40.3 kB 0 B
./bundle/cleanup-URP3CAQI.js 0 B -902 B (removed) 🏆
./bundle/devtools-V7NE4CQA.js 696 kB 0 B
./bundle/events-XB7DADIJ.js 418 B 0 B
./bundle/examples/hooks/scripts/on-start.js 188 B 0 B
./bundle/examples/mcp-server/example.js 1.43 kB 0 B
./bundle/gemini.js 5.38 kB 0 B
./bundle/getMachineId-bsd-TXG52NKR.js 1.55 kB 0 B
./bundle/getMachineId-darwin-7OE4DDZ6.js 1.55 kB 0 B
./bundle/getMachineId-linux-SHIFKOOX.js 1.34 kB 0 B
./bundle/getMachineId-unsupported-5U5DOEYY.js 1.06 kB 0 B
./bundle/getMachineId-win-6KLLGOI4.js 1.72 kB 0 B
./bundle/https-proxy-agent-AVGR4LHR.js 490 B 0 B
./bundle/multipart-parser-KPBZEGQU.js 11.7 kB 0 B
./bundle/sandbox-macos-permissive-open.sb 890 B 0 B
./bundle/sandbox-macos-permissive-proxied.sb 1.31 kB 0 B
./bundle/sandbox-macos-restrictive-open.sb 3.36 kB 0 B
./bundle/sandbox-macos-restrictive-proxied.sb 3.56 kB 0 B
./bundle/sandbox-macos-strict-open.sb 4.82 kB 0 B
./bundle/sandbox-macos-strict-proxied.sb 5.02 kB 0 B
./bundle/src-LG4OHBW7.js 233 kB 0 B
./bundle/src-QVCVGIUX.js 47 kB 0 B
./bundle/start-VZ3UIXLN.js 0 B -622 B (removed) 🏆
./bundle/tree-sitter-7U6MW5PS.js 274 kB 0 B
./bundle/tree-sitter-bash-34ZGLXVX.js 1.84 MB 0 B
./bundle/worker/worker-entry.js 361 kB 0 B
./bundle/cleanup-AID6MKLE.js 902 B +902 B (new file) 🆕
./bundle/start-LMPTNUSK.js 622 B +622 B (new file) 🆕

compressed-size-action

@gemini-cli gemini-cli Bot added the status/need-issue Pull requests that need to have an associated issue. label May 29, 2026
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request facilitates the transition of legacy Gemini Flash models to the GA version, gemini-3.5-flash. By implementing a gated rollout mechanism via experiment flags and updated access logic, the changes ensure that model resolution across the codebase correctly routes to the new GA model while maintaining backward compatibility for non-GA users.

Highlights

  • Experiment Gating: Introduced the GEMINI_3_5_FLASH_GA_LAUNCHED experiment flag to control the rollout of the new GA model.
  • Access Logic: Implemented hasGemini35FlashGAAccess in the Config class to determine GA access based on authentication types and experiment flags.
  • Model Resolution: Updated resolveModel and resolveClassifierModel to force-resolve flash models to gemini-3.5-flash when GA access is granted.
  • Configuration Updates: Added gemini-3.5-flash to defaultModelConfigs.ts and configured resolution rules to handle the transition.
  • Testing: Added comprehensive unit tests in models.test.ts to verify resolution parity and fallback scenarios.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize the Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces support for the gemini-3.5-flash model, including new configuration options, experiment flags, model resolution logic, and corresponding unit tests. Feedback on the changes highlights two key issues: first, the useGemini3_5Flash property is not handled in the matches method of ModelConfigService, which breaks dynamic model configuration resolution; second, when useGemini3_5Flash is false and preview access is disabled, gemini-3.5-flash should fall back to gemini-2.5-flash instead of gemini-3-flash-preview to prevent unauthorized model requests.

Comment thread packages/core/src/services/modelConfigService.ts
Comment thread packages/core/src/config/defaultModelConfigs.ts
@DavidAPierce DavidAPierce requested a review from a team as a code owner May 29, 2026 21:04
@github-actions

github-actions Bot commented Jun 1, 2026

Copy link
Copy Markdown

69 tests passed successfully on gemini-3-flash-preview.

🧠 Model Steering Guidance

This PR modifies files that affect the model's behavior (prompts, tools, or instructions).

  • 🚀 Maintainer Reminder: Please ensure that these changes do not regress results on benchmark evals before merging.

This is an automated guidance message triggered by steering logic signatures.

Comment thread evals/llm-judge.ts
Comment thread packages/core/src/config/models.ts
Comment thread packages/core/src/config/models.ts
Comment thread packages/core/src/tools/shell.ts
@DavidAPierce DavidAPierce added this pull request to the merge queue Jun 1, 2026
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jun 1, 2026
@sehoon38 sehoon38 added this pull request to the merge queue Jun 1, 2026
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jun 1, 2026
@DavidAPierce DavidAPierce added this pull request to the merge queue Jun 1, 2026
Merged via the queue into main with commit 665228e Jun 1, 2026
32 of 33 checks passed
@DavidAPierce DavidAPierce deleted the update_default_flash branch June 1, 2026 23:54
@github-actions github-actions Bot added the size/l A large sized PR label Jun 2, 2026
@DavidAPierce

Copy link
Copy Markdown
Contributor Author

/patch stable

@github-actions

github-actions Bot commented Jun 3, 2026

Copy link
Copy Markdown

🚀 [Step 1/4] Patch workflow(s) waiting for approval!

📋 Details:

  • Channels: stable
  • Commit: 665228e983c611007c4e2d36550e67b34f75055e
  • Workflows Created: 1

⏳ Status: The patch creation workflow has been triggered and is waiting for deployment approval. Please visit the specific workflow links below and approve the runs.

🔗 Track Progress:

whhe pushed a commit to whhe/gemini-cli that referenced this pull request Jun 4, 2026
hotmanxp pushed a commit to hotmanxp/gemini-cli that referenced this pull request Jun 4, 2026
@github-actions

github-actions Bot commented Jun 4, 2026

Copy link
Copy Markdown

🚀 [Step 2/4] Patch PR Created!

📋 Patch Details:

📝 Next Steps:

  1. Review and approve the hotfix PR: #27667
  2. Once merged, the patch release will automatically trigger
  3. You'll receive updates here when the release completes

🔗 Track Progress:

@github-actions

github-actions Bot commented Jun 4, 2026

Copy link
Copy Markdown

🚀 [Step 3/4] Patch Release Waiting for Approval!

📋 Release Details:

  • Environment: prod
  • Channel: stable → publishing to npm tag latest
  • Version: v0.45.0
  • Hotfix PR: Merged ✅
  • Release Branch: release/v0.45.0-pr-27570

⏳ Status: The patch release has been triggered and is waiting for deployment approval. Please visit the specific workflow run link below and approve the deployment. You'll receive another update when it completes.

🔗 Track Progress:

@github-actions

github-actions Bot commented Jun 4, 2026

Copy link
Copy Markdown

[Step 4/4] Patch Release Complete!

📦 Release Details:

  • Version: 0.45.1
  • NPM Tag: latest
  • Channel: stable
  • Dry Run: false

🎉 Status: Your patch has been successfully released and published to npm!

📝 What's Available:

🔗 Links:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/l A large sized PR status/need-issue Pull requests that need to have an associated issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants