[defer] feat(antigravity): add Gemini 3.8 Flash tiers and update client fallbacks - #12499
Abhishekchhetri020 wants to merge 6 commits into
Conversation
…acks - Add gemini-3.8-flash-high, gemini-3.8-flash-medium, and gemini-3.8-flash-low to ANTIGRAVITY_PUBLIC_MODELS and AGY_PUBLIC_MODELS catalogs - Add gemini-3.8-flash alias mapping to high tier in ANTIGRAVITY_MODEL_ALIASES - Add Gemini 3.8 Flash model specifications in modelSpecs.ts with 1M context window and thinking budget configurations - Bump ANTIGRAVITY_IDE_FALLBACK_VERSION to 2.5.5 and ANTIGRAVITY_CLI_FALLBACK_VERSION to 1.1.24 to prevent upstream 404s on live Cloud Code endpoints - Add pricing, free model catalog metadata, and CLI tool configurations for 3.8 Flash tiers - Update regression test suites across antigravity-model-aliases, antigravity-retired-public-models, model-capabilities-registry, provider-models-route, and t28-model-catalog-updates
…ravity-gemini-3-8-flash
…tests Keep the 3.8 Flash tiers on the release tip, bump free-tier docs/SVG to 440 entries, pin IDE/CLI fallback tests to 2.5.5/1.1.24, and cover aicode-consumers x-goog-user-project suppression. Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
Keep Gemini 3.8 Flash high/medium/low on the eligibility-gated free-tier catalog from diegosouzapw#12669, and align unique docs/SVG counts to 447 entries. Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
Straightforward and well-scoped: a live catalog model falling through to the conservative 16384 clamp because `MODEL_SPECS` never got a 3.8 entry. Keeping the fallback for genuinely unknown ids is right, and the note on how this relates to #12663, #12499 and #12672 saved the review. --- Validated in one consolidated worktree cut from `release/v3.8.51`, boarded with the other 19 PRs of this batch. Two in-batch conflicts, both additive and resolved by keeping each side: the `ENVIRONMENT.md` table (#13035 + #13011) and the `chatHelpers.ts` import block (#12975 on the tip + #13017). - `typecheck:core` clean; `check:dashboard-typecheck` OK (206 pre-existing, within baseline); `check:changelog-integrity` OK; `check:docs-counts` migrations ✓ - complexity 2816 / baseline 3218 and cognitive-complexity 1271 / baseline 1437 — both under baseline - 531 of 532 focused assertions green across the batch's 46 test files - `check-file-size` rebaselined for the batch's real growth (annotation `_rebaseline_2026_09_11_mergebatch_v3851_houminxi`, landed on #13038), attributed per PR The single red is **not this batch**: `tests/unit/combo/quota-weighted-strategy.test.ts` → "A/B isolation: 7 hard-empty + 2 at 0.5% + 1 at 40%, floor=1" asserts an order between two connections of identical weight and flakes on the pure tip too — 2 failures in 4 runs at `origin/release/v3.8.51` with nothing from this batch applied.⚠️ base-red inherited: #12732 — `Docs Gates`, `Merge integrity`, `No new ESLint warnings`, `Unit Tests fast-path` and `Fast Quality Gates` reproduce on the pure tip (provider count 356 vs the 358 the modules define, SKILL.md drift, and `open-sse/utils/stream.ts` at 3115 > frozen 3098, untouched here). Thanks @HouMinXi — the live evidence on these (X500 logs, `storage.sqlite` state, real `/v1/models` probes, the 36-minute outage write-up) is what let a 20-PR batch be reviewed as a unit.
|
Thanks for this — Gemini 3.8 Flash did need registering, but there's a competing PR Triage note: this is the review recommendation — the close itself happens only after the maintainer's per-PR sign-off (and, where a superseding PR is named, after it has landed). Nothing is being closed by this comment. |
…13195) Straightforward and well-scoped: a live catalog model falling through to the conservative 16384 clamp because `MODEL_SPECS` never got a 3.8 entry. Keeping the fallback for genuinely unknown ids is right, and the note on how this relates to diegosouzapw#12663, diegosouzapw#12499 and diegosouzapw#12672 saved the review. --- Validated in one consolidated worktree cut from `release/v3.8.51`, boarded with the other 19 PRs of this batch. Two in-batch conflicts, both additive and resolved by keeping each side: the `ENVIRONMENT.md` table (diegosouzapw#13035 + diegosouzapw#13011) and the `chatHelpers.ts` import block (diegosouzapw#12975 on the tip + diegosouzapw#13017). - `typecheck:core` clean; `check:dashboard-typecheck` OK (206 pre-existing, within baseline); `check:changelog-integrity` OK; `check:docs-counts` migrations ✓ - complexity 2816 / baseline 3218 and cognitive-complexity 1271 / baseline 1437 — both under baseline - 531 of 532 focused assertions green across the batch's 46 test files - `check-file-size` rebaselined for the batch's real growth (annotation `_rebaseline_2026_09_11_mergebatch_v3851_houminxi`, landed on diegosouzapw#13038), attributed per PR The single red is **not this batch**: `tests/unit/combo/quota-weighted-strategy.test.ts` → "A/B isolation: 7 hard-empty + 2 at 0.5% + 1 at 40%, floor=1" asserts an order between two connections of identical weight and flakes on the pure tip too — 2 failures in 4 runs at `origin/release/v3.8.51` with nothing from this batch applied.⚠️ base-red inherited: diegosouzapw#12732 — `Docs Gates`, `Merge integrity`, `No new ESLint warnings`, `Unit Tests fast-path` and `Fast Quality Gates` reproduce on the pure tip (provider count 356 vs the 358 the modules define, SKILL.md drift, and `open-sse/utils/stream.ts` at 3115 > frozen 3098, untouched here). Thanks @HouMinXi — the live evidence on these (X500 logs, `storage.sqlite` state, real `/v1/models` probes, the 36-minute outage write-up) is what let a 20-PR batch be reviewed as a unit.
Reconciles against the current release tip and re-derives the Gemini 3.8 Flash tiers through the antigravitySharedModels.ts single source of truth introduced upstream, keeping this PR's client-version fallback bumps and its correct 3.8 alias (gemini-3.8-flash -> gemini-3.8-flash-high). Drops the gemini-3.8-flash-tiered entry/alias pulled in by another branch during the merge — Google's live Cloud Code endpoint serves 3.8 Flash directly at the -high/-medium/-low tier ids, unlike 3.7 which uses a -tiered endpoint. Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
Live testing against Google's Cloud Code upstream (daily-cloudcode-pa.googleapis.com/v1internal:streamGenerateContent), documented in diegosouzapw#12499, shows Gemini 3.8 Flash is served directly at gemini-3.8-flash-high/-medium/-low. Unlike 3.7, there is no gemini-3.8-flash-tiered endpoint for 3.8. This branch mapped the bare id and all three tiers to an invented gemini-3.8-flash-tiered upstream target and declared that model in the shared Antigravity/AGY catalog. Remove the invented catalog entry, alias only the bare "gemini-3.8-flash" display id to its default tier (gemini-3.8-flash-high), and let -high/-medium/-low pass through verbatim to match what the live endpoint actually serves. Also drops the now-dead managedModelImport.ts mitm-alias branch that forced the same invented -tiered target, and updates the catalog/alias tests accordingly. Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
…ed by diegosouzapw#12499 Commit be65c76 ("adopt CLI catalog, pricing, and version fallbacks from diegosouzapw#12499") pulled the Antigravity IDE/CLI fallback-version bump, the CLI_TOOLS gemini-3.8-flash-* aliases/defaults, the oauth-subscriptions pricing entries, and the matching antigravity-version.test.ts assertions straight from PR diegosouzapw#12499's own diff. diegosouzapw#12499 ships all of that content itself and lands first in the three-way reconciliation with diegosouzapw#12499/diegosouzapw#13318/diegosouzapw#14018, so keeping a second copy here would duplicate and collide with it on merge. Revert exactly those four files to their pre-be65c761 state; diegosouzapw#12499 is now the sole source for this content. Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
…h catalog Registering gemini-3.8-flash-high in ANTIGRAVITY_PUBLIC_MODELS (needed for the corrected direct-tier routing) makes getClientVisibleAntigravityModelName() prefer our static catalog name "Gemini 3.8 Flash (High)" over the upstream discovery echo's own displayName, the same interaction diegosouzapw#12499 hit and fixed for its own copy of this catalog entry. Update the pre-existing discovery retry test's expectation to match, mirroring diegosouzapw#12499's fix to the same assertion. Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
…ogs (#13318) * feat(models): add Gemini 3.8 Flash tiers to Antigravity and AGY catalogs * fix(antigravity): handle Gemini 3.8 Flash thought signatures, native tool calls, and output token limits * fix: remove duplicate Gemini 3.8 model specs * feat(models): adopt CLI catalog, pricing, and version fallbacks from #12499 (#13318) * test(models): assert Gemini 3.8 Flash catalog and pricing presence (#13318) * fix(antigravity): Gemini 3.8 Flash tiers have no shared -tiered endpoint Live testing against Google's Cloud Code upstream (daily-cloudcode-pa.googleapis.com/v1internal:streamGenerateContent), documented in #12499, shows Gemini 3.8 Flash is served directly at gemini-3.8-flash-high/-medium/-low. Unlike 3.7, there is no gemini-3.8-flash-tiered endpoint for 3.8. This branch mapped the bare id and all three tiers to an invented gemini-3.8-flash-tiered upstream target and declared that model in the shared Antigravity/AGY catalog. Remove the invented catalog entry, alias only the bare "gemini-3.8-flash" display id to its default tier (gemini-3.8-flash-high), and let -high/-medium/-low pass through verbatim to match what the live endpoint actually serves. Also drops the now-dead managedModelImport.ts mitm-alias branch that forced the same invented -tiered target, and updates the catalog/alias tests accordingly. Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com> * revert: drop CLI catalog/pricing/version-fallback adoption also shipped by #12499 Commit be65c76 ("adopt CLI catalog, pricing, and version fallbacks from #12499") pulled the Antigravity IDE/CLI fallback-version bump, the CLI_TOOLS gemini-3.8-flash-* aliases/defaults, the oauth-subscriptions pricing entries, and the matching antigravity-version.test.ts assertions straight from PR #12499's own diff. #12499 ships all of that content itself and lands first in the three-way reconciliation with #12499/#13318/#14018, so keeping a second copy here would duplicate and collide with it on merge. Revert exactly those four files to their pre-be65c761 state; #12499 is now the sole source for this content. Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com> * test(models): align provider-models-route with the corrected 3.8 Flash catalog Registering gemini-3.8-flash-high in ANTIGRAVITY_PUBLIC_MODELS (needed for the corrected direct-tier routing) makes getClientVisibleAntigravityModelName() prefer our static catalog name "Gemini 3.8 Flash (High)" over the upstream discovery echo's own displayName, the same interaction #12499 hit and fixed for its own copy of this catalog entry. Update the pre-existing discovery retry test's expectation to match, mirroring #12499's fix to the same assertion. Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com> --------- Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
…13195) Straightforward and well-scoped: a live catalog model falling through to the conservative 16384 clamp because `MODEL_SPECS` never got a 3.8 entry. Keeping the fallback for genuinely unknown ids is right, and the note on how this relates to diegosouzapw#12663, diegosouzapw#12499 and diegosouzapw#12672 saved the review. --- Validated in one consolidated worktree cut from `release/v3.8.51`, boarded with the other 19 PRs of this batch. Two in-batch conflicts, both additive and resolved by keeping each side: the `ENVIRONMENT.md` table (diegosouzapw#13035 + diegosouzapw#13011) and the `chatHelpers.ts` import block (diegosouzapw#12975 on the tip + diegosouzapw#13017). - `typecheck:core` clean; `check:dashboard-typecheck` OK (206 pre-existing, within baseline); `check:changelog-integrity` OK; `check:docs-counts` migrations ✓ - complexity 2816 / baseline 3218 and cognitive-complexity 1271 / baseline 1437 — both under baseline - 531 of 532 focused assertions green across the batch's 46 test files - `check-file-size` rebaselined for the batch's real growth (annotation `_rebaseline_2026_09_11_mergebatch_v3851_houminxi`, landed on diegosouzapw#13038), attributed per PR The single red is **not this batch**: `tests/unit/combo/quota-weighted-strategy.test.ts` → "A/B isolation: 7 hard-empty + 2 at 0.5% + 1 at 40%, floor=1" asserts an order between two connections of identical weight and flakes on the pure tip too — 2 failures in 4 runs at `origin/release/v3.8.51` with nothing from this batch applied.⚠️ base-red inherited: diegosouzapw#12732 — `Docs Gates`, `Merge integrity`, `No new ESLint warnings`, `Unit Tests fast-path` and `Fast Quality Gates` reproduce on the pure tip (provider count 356 vs the 358 the modules define, SKILL.md drift, and `open-sse/utils/stream.ts` at 3115 > frozen 3098, untouched here). Thanks @HouMinXi — the live evidence on these (X500 logs, `storage.sqlite` state, real `/v1/models` probes, the 36-minute outage write-up) is what let a 20-PR batch be reviewed as a unit.
…ogs (diegosouzapw#13318) * feat(models): add Gemini 3.8 Flash tiers to Antigravity and AGY catalogs * fix(antigravity): handle Gemini 3.8 Flash thought signatures, native tool calls, and output token limits * fix: remove duplicate Gemini 3.8 model specs * feat(models): adopt CLI catalog, pricing, and version fallbacks from diegosouzapw#12499 (diegosouzapw#13318) * test(models): assert Gemini 3.8 Flash catalog and pricing presence (diegosouzapw#13318) * fix(antigravity): Gemini 3.8 Flash tiers have no shared -tiered endpoint Live testing against Google's Cloud Code upstream (daily-cloudcode-pa.googleapis.com/v1internal:streamGenerateContent), documented in diegosouzapw#12499, shows Gemini 3.8 Flash is served directly at gemini-3.8-flash-high/-medium/-low. Unlike 3.7, there is no gemini-3.8-flash-tiered endpoint for 3.8. This branch mapped the bare id and all three tiers to an invented gemini-3.8-flash-tiered upstream target and declared that model in the shared Antigravity/AGY catalog. Remove the invented catalog entry, alias only the bare "gemini-3.8-flash" display id to its default tier (gemini-3.8-flash-high), and let -high/-medium/-low pass through verbatim to match what the live endpoint actually serves. Also drops the now-dead managedModelImport.ts mitm-alias branch that forced the same invented -tiered target, and updates the catalog/alias tests accordingly. Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com> * revert: drop CLI catalog/pricing/version-fallback adoption also shipped by diegosouzapw#12499 Commit be65c76 ("adopt CLI catalog, pricing, and version fallbacks from diegosouzapw#12499") pulled the Antigravity IDE/CLI fallback-version bump, the CLI_TOOLS gemini-3.8-flash-* aliases/defaults, the oauth-subscriptions pricing entries, and the matching antigravity-version.test.ts assertions straight from PR diegosouzapw#12499's own diff. diegosouzapw#12499 ships all of that content itself and lands first in the three-way reconciliation with diegosouzapw#12499/diegosouzapw#13318/diegosouzapw#14018, so keeping a second copy here would duplicate and collide with it on merge. Revert exactly those four files to their pre-be65c761 state; diegosouzapw#12499 is now the sole source for this content. Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com> * test(models): align provider-models-route with the corrected 3.8 Flash catalog Registering gemini-3.8-flash-high in ANTIGRAVITY_PUBLIC_MODELS (needed for the corrected direct-tier routing) makes getClientVisibleAntigravityModelName() prefer our static catalog name "Gemini 3.8 Flash (High)" over the upstream discovery echo's own displayName, the same interaction diegosouzapw#12499 hit and fixed for its own copy of this catalog entry. Update the pre-existing discovery retry test's expectation to match, mirroring diegosouzapw#12499's fix to the same assertion. Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com> --------- Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
|
Re-homed to |
Summary
gemini-3.8-flash-high,gemini-3.8-flash-medium,gemini-3.8-flash-low) to theantigravityandagypublic model catalogs.gemini-3.8-flashalias togemini-3.8-flash-high.modelSpecs.ts(1M context window, 64k max output tokens, 24.5k/8k/1k thinking budget tiers).antigravityVersion.ts(ANTIGRAVITY_IDE_FALLBACK_VERSIONto2.5.5andANTIGRAVITY_CLI_FALLBACK_VERSIONto1.1.24). Google's live Cloud Code endpoint (streamGenerateContent) requires a recognized client identity and rejects older client versions (< 2.5.0or< 1.1.24) with HTTP 404.Related Issues
Validation
node --import tsx/esm --test tests/unit/antigravity-model-aliases.test.ts tests/unit/antigravity-retired-public-models.test.ts tests/unit/model-capabilities-registry.test.ts tests/unit/t28-model-catalog-updates.test.ts tests/unit/provider-models-route.test.ts(94 passed, 0 failed)release/v3.8.51)Tests Added Or Updated
tests/unit/antigravity-model-aliases.test.tstests/unit/antigravity-retired-public-models.test.tstests/unit/model-capabilities-registry.test.tstests/unit/provider-models-route.test.tstests/unit/t28-model-catalog-updates.test.tsCoverage Notes
tests/unit/antigravity-model-aliases.test.ts,antigravity-retired-public-models.test.ts, andmodel-capabilities-registry.test.ts.Reviewer Notes
https://daily-cloudcode-pa.googleapis.com/v1internal:streamGenerateContentconfirmed that Google returns HTTP 404 for 3.8 Flash when using older IDE headers (antigravity/ide/2.1.1), but returns HTTP 200 SUCCESS when using IDE2.5.5or CLI1.1.24.-tieredsuffix, Gemini 3.8 Flash upstream endpoints directly accept-high,-medium, and-low.