fix(gemini): bump native provider aux default to gemini-3.6-flash

The native Gemini provider profile's default_aux_model and the curated
model picker catalog were still pinned to gemini-3.5-flash, a stale
generation now superseded by gemini-3.6-flash (documented GA). Bump
both so the auxiliary-task default and the picker stay in sync with
the current model.

Contract test asserts the durable lockstep invariant only
(default_aux_model is a member of _PROVIDER_MODELS["gemini"]) rather
than pinning either side to a frozen model-name string, so it doesn't
need updating on the next model-generation bump.
This commit is contained in:
kosta
2026-07-23 19:11:30 -04:00
committed by Teknium
parent f3cc2bc022
commit e25d516c8c
3 changed files with 29 additions and 2 deletions
+1 -1
View File
@@ -290,7 +290,7 @@ _PROVIDER_MODELS: dict[str, list[str]] = {
"gemini": [
"gemini-3.1-pro-preview",
"gemini-3-pro-preview",
"gemini-3.5-flash",
"gemini-3.6-flash",
"gemini-3.1-flash-lite-preview",
],
"zai": [
+1 -1
View File
@@ -55,7 +55,7 @@ gemini = GeminiProfile(
env_vars=("GOOGLE_API_KEY", "GEMINI_API_KEY"),
base_url="https://generativelanguage.googleapis.com/v1beta",
auth_type="api_key",
default_aux_model="gemini-3.5-flash",
default_aux_model="gemini-3.6-flash",
)
register_provider(gemini)
@@ -0,0 +1,27 @@
"""Contract tests for the native Google Gemini provider profile."""
from __future__ import annotations
import pytest
@pytest.fixture
def gemini_profile():
import model_tools # noqa: F401
import providers
profile = providers.get_provider_profile("gemini")
assert profile is not None, "gemini provider profile must be registered"
return profile
def test_native_gemini_auxiliary_default_is_in_curated_catalog(gemini_profile):
"""The profile's default_aux_model must stay in lockstep with the curated
model picker catalog — whatever model the default points at has to be
one the picker can actually offer. Deliberately durable against future
model-generation bumps: it does not pin either side to a frozen
model-name string, only to the invariant that they never drift apart.
"""
from hermes_cli.models import _PROVIDER_MODELS
assert gemini_profile.default_aux_model in _PROVIDER_MODELS["gemini"]