Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion echo/agent/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ class Settings(BaseSettings):
echo_api_url: str = Field(default="http://localhost:8000/api", alias="ECHO_API_URL")
# Vertex model id (no provider prefix). Gemini 3.x is served on the
# global Vertex host only; see vertex_api_endpoint below.
llm_model: str = Field(default="gemini-3.5-flash", alias="LLM_MODEL")
llm_model: str = Field(default="gemini-3.6-flash", alias="LLM_MODEL")
vertex_location: str = Field(default="eu", alias="VERTEX_LOCATION")
# Pinning the global host while keeping locations/<region> in the request
# path mirrors the server's LiteLLM config (validated in production):
Expand Down
6 changes: 3 additions & 3 deletions echo/agent/tests/test_agent_graph.py
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ def from_service_account_info(info, scopes=None):
def test_build_llm_prefers_explicit_vertex_credentials(monkeypatch):
get_settings.cache_clear()
fake_chat, fake_creds = _fake_vertex_chat(monkeypatch)
monkeypatch.setenv("LLM_MODEL", "gemini-3.5-flash")
monkeypatch.setenv("LLM_MODEL", "gemini-3.6-flash")
monkeypatch.setenv("VERTEX_PROJECT", "vertex-project")
monkeypatch.setenv("VERTEX_LOCATION", "europe-west4")
monkeypatch.setenv("VERTEX_CREDENTIALS", '{"type":"service_account","project_id":"explicit"}')
Expand All @@ -168,7 +168,7 @@ def test_build_llm_prefers_explicit_vertex_credentials(monkeypatch):
llm = _build_llm()

assert isinstance(llm, fake_chat)
assert llm.kwargs["model_name"] == "gemini-3.5-flash"
assert llm.kwargs["model_name"] == "gemini-3.6-flash"
assert llm.kwargs["project"] == "vertex-project"
assert llm.kwargs["location"] == "europe-west4"
assert isinstance(llm.kwargs["credentials"], fake_creds)
Expand Down Expand Up @@ -198,7 +198,7 @@ def test_build_llm_falls_back_to_service_account_project_id(monkeypatch):
fake_chat, fake_creds = _fake_vertex_chat(monkeypatch)
monkeypatch.delenv("VERTEX_CREDENTIALS", raising=False)
monkeypatch.delenv("VERTEX_PROJECT", raising=False)
monkeypatch.setenv("LLM_MODEL", "gemini-3.5-flash")
monkeypatch.setenv("LLM_MODEL", "gemini-3.6-flash")
monkeypatch.setenv("VERTEX_LOCATION", "eu")
monkeypatch.setenv("GCP_SA_JSON", '{"type":"service_account","project_id":"sa-project"}')

Expand Down
4 changes: 2 additions & 2 deletions echo/docs/agentic-chat-design.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ agent to specific conversations (today's deep dive collapses into a scoped agent
mode). The agent gains a per-workspace virtual file system containing the product
docs and meta-skills, acts within the logged-in user's auth boundary (including
writes like project settings and portal editor), auto-onboards new users, and serves
as primary support. Model: gemini-3.5-flash.
as primary support. Model: gemini-3.6-flash.

## Decisions taken

Expand All @@ -22,7 +22,7 @@ as primary support. Model: gemini-3.5-flash.
CONFLICTING). Worth taking: server-side grep with chunk-level citations, citation
rendering, agentic title generation, test suites. Not taking: the raw Vertex
Anthropic model swap.
3. Agent model goes through the LiteLLM router config (gemini-3.5-flash), replacing
3. Agent model goes through the LiteLLM router config (gemini-3.6-flash), replacing
both main's raw GEMINI_API_KEY client and the PR's raw Vertex Anthropic client.
If a stronger reviewer tier is added later, the cheap model never decides to
escalate on its own (scheduled or user-explicit only).
Expand Down
2 changes: 1 addition & 1 deletion echo/frontend/src/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ export const ENABLE_ANNOUNCEMENTS = true;
export const ENABLE_DISPLAY_CONVERSATION_LINKS = true;
export const ENABLE_WEBHOOKS = true;
// On everywhere except production: local, testing/dev, next/staging.
// Re-enabled 2026-07-02 with the agent on gemini-3.5-flash via Vertex and the
// Re-enabled 2026-07-02 with the agent on gemini-3.6-flash via Vertex and the
// #573 harvest (server-side grep, chunk citations, titles) on main.
export const ENABLE_AGENTIC_CHAT = byEnv({ production: false }, true);
// Re-enabled on echo-next (2026-06-21). Runtime render gate only; the build
Expand Down
Loading