* fix(byok): preserve provider model order
* test(e2e): expect current DeepSeek preset model
Generated-By: looper 0.10.4 (runner=fixer, agent=codex)
* fix(byok): preserve DeepSeek and Ollama defaults
Align DeepSeek e2e fixtures with the V4 preset defaults and keep the existing Ollama Cloud gpt-oss:120b default first in the canonical preference list.\n\nGenerated-By: looper 0.10.4 (runner=fixer, agent=codex)
Ollama Cloud BYOK still uses curated model lists because live discovery is disabled for that protocol. The public Ollama tags endpoint now includes newer cloud models reported in #4911, but the Settings/onboarding pickers still offered the older static set.
This updates both the generic Ollama suggestions and the managed Ollama Cloud preset so the picker surfaces the same recent models everywhere. The max-token override table is updated at the same time so newly selectable models do not fall through to the unknown-model 8192 token default.
Constraint: Ollama Cloud model discovery remains disabled in the app, so the picker still depends on curated tables
Rejected: Change existing cloud suffix/tag names from PR #4716 | that separate draft already owns broken existing IDs and changing them here would mix scopes
Confidence: high
Scope-risk: narrow
Directive: Keep SUGGESTED_MODELS_BY_PROTOCOL.ollama, the Ollama Cloud KNOWN_PROVIDERS models, and Ollama max-token overrides in sync when adding curated cloud models
Tested: pnpm exec vitest run -c vitest.config.ts tests/state/api-protocols.test.ts tests/state/maxTokens.test.ts tests/state/config.test.ts tests/components/SettingsDialog.execution.test.tsx --maxWorkers=2
Tested: pnpm --filter @open-design/web typecheck
Tested: pnpm guard
Tested: pnpm typecheck
Tested: pnpm --filter @open-design/web test
Not-tested: Live Ollama Cloud API request with a user key
Related: #4911
* fix: update Google Gemini BYOK models to current API (remove shut-down 2.0 models, add 3.x)
gemini-2.0-flash and gemini-2.0-flash-lite are now shut down by Google (404 NOT_FOUND). Replace the default model and suggested model list in the Google Gemini BYOK provider with the current live API lineup per https://ai.google.dev/gemini-api/docs/models (last updated 2026-06-01).
New default: gemini-3.5-flash (Stable, May 2026).
Full model list: gemini-3.5-flash, gemini-3.1-pro-preview, gemini-3-flash-preview, gemini-3.1-flash-lite, gemini-2.5-pro, gemini-2.5-flash, gemini-2.5-flash-lite.
* fix: update FAST_MODEL_BY_PROTOCOL.google to live gemini-3.5-flash
The SUGGESTED_MODELS list was migrated from 2.0 to 3.x in the previous
commit but FAST_MODEL_BY_PROTOCOL.google was missed, leaving the shared
fast-pick default (used by the memory extractor auto-mode and other
one-pick consumers) pointing at the shut-down gemini-2.0-flash endpoint.
Also adds a test in tests/state/api-protocols.test.ts that asserts the
Google fast default is contained in the live suggested-models list, so
the two tables cannot drift apart silently in future updates.
* fix: update daemon PROVIDER_DEFAULTS.google.model to gemini-3.5-flash
The memory extractor's PROVIDER_DEFAULTS table in memory-llm.ts still
had gemini-2.0-flash as the Google fast-pick fallback. The env-key path
and the BYOK chatProvider path both read this table when no explicit
model is set, so memory extraction against a Google key would still hit
the shut-down endpoint even after the BYOK Settings defaults were fixed.
Also fixes the stale gemini-2.0-flash assertion in
SettingsDialog.test.ts that was keeping CI red after the previous
commit updated the expected default.
Adds apps/daemon/tests/memory-google-default.test.ts: a focused
regression test that calls extractWithLLM with a Google chatProvider
carrying no model and asserts the outbound URL contains gemini-3.5-flash
so the daemon and web tables cannot drift silently in future updates.
* chore: normalize CRLF to LF on three files modified in this PR