Skip to content

feat(models): add Gemini 3.5 Flash and Flash Lite to LLMType (release with backend #3070 deploy) - #61

Draft
John Xing (johnxing-amigo) wants to merge 1 commit into
mainfrom
feat/gemini-3-5-llm-type
Draft

John Xing (johnxing-amigo) wants to merge 1 commit into
mainfrom
feat/gemini-3-5-llm-type

Conversation

@johnxing-amigo

Copy link
Copy Markdown
Contributor

Hold: release with the backend #3070 deploy. Merge and release only after backend #3070 is live on api.amigo.ai. Drop the title suffix at squash time, because the subject becomes the changelog line.

Backend #3070 adds google_gemini-3.5-flash and google_gemini-3.5-flash-lite to LLMType and keeps the 2.5 ids. On 2.0.1, LLMConfigInput(llm_name="google_gemini-3.5-flash") raises a ValidationError client-side, so nobody can pin 3.5 through the SDK.

flowchart LR
  A[backend #3070 deploys<br/>2.5 + 3.5] --> B[this PR: amigo_sdk minor<br/>2.5 + 3.5]
  B --> C[backend #3071 deploys<br/>drops 2.5]
  C --> D[follow-up release<br/>drops 2.5]
Loading

What changes

  • specs/openapi-baseline.json: two values appended to components.schemas.LLMType.enum. Nothing else in the snapshot moves.
  • src/amigo_sdk/generated/model.py: regenerated with scripts/gen_models.py. Only LLMType.google_gemini_3_5_flash and google_gemini_3_5_flash_lite are new.
  • tests/test_current_contract_models.py: LLMConfigInput accepts both 3.5 ids.

Review

  • The enum matches #3070's lib/amigo_lib/llm/llm.py in values and order.
  • Don't ship the #3071 shape (no 2.5) until #3071 is in prod. 2.0.1 users pinning 2.5 would start failing client-side validation while the backend still accepts it.

Test plan

  • ruff check ., ruff format --check ., mypy src/amigo_sdk/
  • pytest: 202 passed, 8 skipped, 88.46% coverage
  • After #3070 is in prod: confirm curl -s https://api.amigo.ai/v1/openapi.json | jq .components.schemas.LLMType.enum lists both 3.5 ids, then merge
  • gh workflow run release.yml --repo concurrence-hq/amigo-python-sdk --ref main -f version_type=minor. Leave regenerate_models=false so it ships the committed models. The auto path waits on backend notify-sdk pointing at concurrence-hq.

Rollout: PyPI minor (2.1.0) via manual release.yml. Roll back by yanking the version and releasing a revert.

Not in this PR: repository and docs URLs (#60, Caly), and the post-#3071 release that removes 2.5.

Mirrors backend #3070, which adds google_gemini-3.5-flash and
google_gemini-3.5-flash-lite to LLMType and keeps the 2.5 ids. Without
it, LLMConfigInput rejects a 3.5 id client-side before the request is
sent.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@blacksmith-sh

blacksmith-sh Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

Found 27 test failures on Blacksmith runners:

Failures

Test View Logs
TestConversationIntegration/test_create_conversation_streams_and_returns_ids View Logs
TestConversationIntegrationSync/test_create_conversation_streams_and_returns_ids View Logs
TestConversationIntegrationSync/test_create_conversation_streams_and_returns_ids View Logs
TestOrganizationIntegration/test_get_organization View Logs
TestOrganizationIntegration/test_get_services View Logs
TestOrganizationIntegrationSync/test_get_organization View Logs
TestOrganizationIntegrationSync/test_get_organization View Logs
TestOrganizationIntegrationSync/test_get_services View Logs
TestOrganizationIntegrationSync/test_get_services View Logs
TestUserIntegration/test_create_user View Logs

...and 17 more test failures. View all on Blacksmith

Fix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant