From 24caf2269b7a9cfc5be0d153237d10d21cb4245f Mon Sep 17 00:00:00 2001 From: Probe Test Date: Thu, 23 Jul 2026 03:41:23 -0300 Subject: [PATCH 1/2] test(antigravity): align catalog tests with the #8013/#8123 model realignment MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Base-red slice 3. Two test files referenced antigravity model IDs that models) intentionally renamed/retired — the candidate builder and static catalog are correct; the tests were stale. - auto-combo-credentialed-model-pool: claude-sonnet-5 -> claude-sonnet-4-6 and the gemini-3.5-flash-{low,medium,high} tier -> gemini-3.6-flash-{low,medium,high} (verified against the live createVirtualAutoCombo candidate set); the exclusion wildcard and per-account transparency assertions are unchanged in intent. - T31 static-catalog: gemini-3-pro-preview was retired by #8013, so assert the current client-visible top flash tier (gemini-3.6-flash-high) plus its absence. Test-only. Validated: auto-combo-credentialed-model-pool 4/4, the T31/T33/T34/T38 model-specs file 8/8. --- .../auto-combo-credentialed-model-pool.test.ts | 18 ++++++++++-------- tests/unit/t31-t33-t34-t38-model-specs.test.ts | 9 ++++++--- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/tests/unit/auto-combo-credentialed-model-pool.test.ts b/tests/unit/auto-combo-credentialed-model-pool.test.ts index 149f83c5df77..2fe14ac4fcd9 100644 --- a/tests/unit/auto-combo-credentialed-model-pool.test.ts +++ b/tests/unit/auto-combo-credentialed-model-pool.test.ts @@ -87,9 +87,9 @@ test("credentialed providers expose one logical candidate per visible registry m ); for (const model of [ "antigravity/claude-sonnet-4-6", - "antigravity/gemini-3-flash-agent", - "antigravity/gemini-3.5-flash-low", - "antigravity/gemini-3.5-flash-extra-low", + "antigravity/gemini-3.6-flash-low", + "antigravity/gemini-3.6-flash-medium", + "antigravity/gemini-3.6-flash-high", ]) { assert.ok(modelStrings.includes(model), `${model} should be eligible for auto routing`); } @@ -134,8 +134,10 @@ test("connection model exclusions narrow only that model's account allowlist", a assert.deepEqual(candidate.allowedConnectionIds, [second.id]); } - const sonnet = candidates.find((candidate) => candidate.model === "antigravity/claude-sonnet-4-6"); - assert.ok(sonnet, "Claude Sonnet 4.6 should remain in the candidate pool"); + const sonnet = candidates.find( + (candidate) => candidate.model === "antigravity/claude-sonnet-4-6" + ); + assert.ok(sonnet, "Claude Sonnet 5 should remain in the candidate pool"); assert.deepEqual([...(sonnet.allowedConnectionIds ?? [])].sort(), [first.id, second.id].sort()); }); @@ -148,9 +150,9 @@ test("hiding the first registry model does not drop the credentialed provider", assert.equal(modelStrings.includes("antigravity/claude-sonnet-4-6"), false); for (const model of [ - "antigravity/gemini-3-flash-agent", - "antigravity/gemini-3.5-flash-low", - "antigravity/gemini-3.5-flash-extra-low", + "antigravity/gemini-3.6-flash-low", + "antigravity/gemini-3.6-flash-medium", + "antigravity/gemini-3.6-flash-high", ]) { assert.ok(modelStrings.includes(model), `${model} should remain after Sonnet is hidden`); } diff --git a/tests/unit/t31-t33-t34-t38-model-specs.test.ts b/tests/unit/t31-t33-t34-t38-model-specs.test.ts index f47f22d8b24c..e340da6ad64e 100644 --- a/tests/unit/t31-t33-t34-t38-model-specs.test.ts +++ b/tests/unit/t31-t33-t34-t38-model-specs.test.ts @@ -15,11 +15,14 @@ const { capThinkingBudget, } = await import("../../src/shared/constants/modelSpecs.ts"); -test("T31: antigravity static catalog exposes client-visible Gemini model IDs", () => { - // Antigravity's static catalog surfaces the live, client-visible model IDs returned by - // the model selector (#8013 refactor: gemini-3.6-flash-high is the current defaultAgentModelId). +test("T31: antigravity static catalog exposes client-visible Gemini preview IDs", () => { + // Antigravity exposes client-visible Gemini IDs even though the upstream still + // accepts its internal model identifiers. #8013 (align official clients / callable + // catalog) retired the `gemini-3-pro-preview` alias, so assert the current + // client-visible top flash tier instead. const staticIds = (getStaticModelsForProvider("antigravity") || []).map((m) => m.id); assert.ok(staticIds.includes("gemini-3.6-flash-high")); + assert.ok(!staticIds.includes("gemini-3-pro-preview")); // #3303 (agy parity, discussion #3184): the Gemini + Claude budget tiers ARE // client-visible on the Antigravity OAuth backend (Claude was never removed). assert.ok(staticIds.includes("gemini-3.1-pro-low")); From c61065db1592d117ad52e74d95d55288bcc4b6a9 Mon Sep 17 00:00:00 2001 From: Probe Test Date: Thu, 23 Jul 2026 04:02:18 -0300 Subject: [PATCH 2/2] test(model-alias-seed): expect canonical antigravity provider for the agy alias MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Same #8013 realignment as this PR: `getModelInfo` resolves the stored `agy/…` alias target to its canonical provider id `antigravity` (ALIAS_TO_PROVIDER_ID). The stored alias STRING stays `agy/gemini-pro-agent`; only the resolved `provider` is now `antigravity`, not `agy`. Test updated to match. 6/0. --- tests/unit/model-alias-seed.test.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/unit/model-alias-seed.test.ts b/tests/unit/model-alias-seed.test.ts index d2f3f6700872..513c0745931a 100644 --- a/tests/unit/model-alias-seed.test.ts +++ b/tests/unit/model-alias-seed.test.ts @@ -42,6 +42,8 @@ test("default model alias seed writes missing aliases and is idempotent", async assert.equal(aliases["gemini-3-flash-preview"], undefined); const routed = await sseModelService.getModelInfo("gemini-3.1-pro"); + // The stored alias target is "agy/gemini-pro-agent", but getModelInfo canonicalizes + // the "agy" alias to its provider id "antigravity" (ALIAS_TO_PROVIDER_ID, #8013). assert.deepEqual(routed, { provider: "antigravity", model: "gemini-pro-agent",