The browser app can currently fail draft evaluation when started with the plain server defaults because the LLM client defaults to local llama.cpp at 127.0.0.1:8081. That contradicts the intended runtime order: Evo X2 Ollama over Tailscale OpenAI-compatible API first, Evo X2 llama.cpp second, workstation-local fallback last.\n\nObserved 2026-05-03:\n- GET /api/models returned HTTP 500 because http://127.0.0.1:8081/v1/models was connection refused.\n- POST /api/drafts with SSE opened the stream but emitted DRAFT_GENERATION_FAILED because http://127.0.0.1:8081/v1/chat/completions was connection refused.\n- The UI status text made the path look like Evo X2 even when the endpoint was local.\n\nAcceptance criteria:\n- Plain web-app startup defaults to the Evo X2 Tailnet OpenAI-compatible API, not workstation-local llama.cpp.\n- Fallback chain remains Evo X2 llama.cpp then workstation-local llama.cpp.\n- Phase model defaults match the current ADR: style/article lightweight Gemma, brief Qwen, draft Gemma 31B, verify lightweight Gemma.\n- UI draft status shows the actual endpoint/model reported by SSE.\n- The favicon 404 is removed or explicitly handled.
The browser app can currently fail draft evaluation when started with the plain server defaults because the LLM client defaults to local llama.cpp at 127.0.0.1:8081. That contradicts the intended runtime order: Evo X2 Ollama over Tailscale OpenAI-compatible API first, Evo X2 llama.cpp second, workstation-local fallback last.\n\nObserved 2026-05-03:\n- GET /api/models returned HTTP 500 because http://127.0.0.1:8081/v1/models was connection refused.\n- POST /api/drafts with SSE opened the stream but emitted DRAFT_GENERATION_FAILED because http://127.0.0.1:8081/v1/chat/completions was connection refused.\n- The UI status text made the path look like Evo X2 even when the endpoint was local.\n\nAcceptance criteria:\n- Plain web-app startup defaults to the Evo X2 Tailnet OpenAI-compatible API, not workstation-local llama.cpp.\n- Fallback chain remains Evo X2 llama.cpp then workstation-local llama.cpp.\n- Phase model defaults match the current ADR: style/article lightweight Gemma, brief Qwen, draft Gemma 31B, verify lightweight Gemma.\n- UI draft status shows the actual endpoint/model reported by SSE.\n- The favicon 404 is removed or explicitly handled.