diff --git a/drift-proposals/gemini-gemini-1.5-flash-deprecated-referenced.md b/drift-proposals/gemini-gemini-1.5-flash-deprecated-referenced.md new file mode 100644 index 00000000..257880e7 --- /dev/null +++ b/drift-proposals/gemini-gemini-1.5-flash-deprecated-referenced.md @@ -0,0 +1,7 @@ +# Deprecated-but-still-referenced model family: gemini-1.5-flash + +Provider: gemini +Detected: 2026-07-24 +Status: NEEDS HUMAN REVIEW + +This family no longer appears in the live /models listing, but aimock's own source still references it (builders, DEFAULT_MODELS, or fixtures). drift-sync never silently removes a still-referenced family. diff --git a/drift-proposals/gemini-gemini-1.5-pro-deprecated-referenced.md b/drift-proposals/gemini-gemini-1.5-pro-deprecated-referenced.md new file mode 100644 index 00000000..234fb984 --- /dev/null +++ b/drift-proposals/gemini-gemini-1.5-pro-deprecated-referenced.md @@ -0,0 +1,7 @@ +# Deprecated-but-still-referenced model family: gemini-1.5-pro + +Provider: gemini +Detected: 2026-07-24 +Status: NEEDS HUMAN REVIEW + +This family no longer appears in the live /models listing, but aimock's own source still references it (builders, DEFAULT_MODELS, or fixtures). drift-sync never silently removes a still-referenced family. diff --git a/src/__tests__/drift/logic-pin.test.ts b/src/__tests__/drift/logic-pin.test.ts index 8e31bab9..74c41884 100644 --- a/src/__tests__/drift/logic-pin.test.ts +++ b/src/__tests__/drift/logic-pin.test.ts @@ -204,7 +204,7 @@ const DATA_FROZEN: Record = { }, "includeFamilies.gemini": { members: [...includeFamilies.gemini].sort(), - pin: "4a9428b64ffcff0fbb79878d88ed993ffac53e43d64e26bcf5d86509626f593d", + pin: "c2e2c56b8f8d5fc56152b4633e7d3782e95b7eeb9bc123da71f00e884a54a743", }, "excludeFamilies.openai": { members: [...excludeFamilies.openai].sort(), @@ -216,7 +216,7 @@ const DATA_FROZEN: Record = { }, "excludeFamilies.gemini": { members: [...excludeFamilies.gemini].sort(), - pin: "e3545138234ad782937f66760bef942fca7d4bd0934a87da30bf6e5816ba69b1", + pin: "c95dedab7588212bbba0bf9ab6434bfd43a449adbe7b35f81f48271ee849a9c2", }, }; diff --git a/src/__tests__/drift/model-registry.ts b/src/__tests__/drift/model-registry.ts index 5857a50c..b851336a 100644 --- a/src/__tests__/drift/model-registry.ts +++ b/src/__tests__/drift/model-registry.ts @@ -135,9 +135,7 @@ export const includeFamilies: Record> = { "claude-fable-5", ]), gemini: familySet("gemini", [ - // Gemini 1.5 / 2.0 / 2.5 text families - "gemini-1.5-pro", - "gemini-1.5-flash", + // Gemini 2.0 / 2.5 text families "gemini-2.0-flash", "gemini-2.5-flash", "gemini-2.5-pro", @@ -226,6 +224,14 @@ export const excludeFamilies: Record> = { // Retired / legacy specialty "gemini-pro", "aqa", + // Gemini 1.5 retired upstream 2026-07 (absent from the live /models listing) + // but aimock still mocks it for clients pinned to older SDKs, and + // `isReasoningModel()` must keep answering false for it (model-utils.ts's + // NONREASONING_FAMILIES). Same treatment as gemini-pro above: still + // referenced + still mocked, just not counted as text-generation drift. + // See drift-proposals/gemini-gemini-1.5-{pro,flash}-deprecated-referenced.md. + "gemini-1.5-pro", + "gemini-1.5-flash", // Embeddings (non-text-generation) "text-embedding-004", "gemini-embedding",