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

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": [

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)

View file

@ -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"]