The deployed container sets OLLAMA_MODEL=nomic-embed-text for embeddings, which shadowed the generation-model setting and broke Phase 0 keyword extraction and Phase 4 LLM re-ranking on every request. The setting is now ollama_llm_model (env: OLLAMA_LLM_MODEL, default gemma4:e2b), startup logs the resolved generation model, and Phase 0/Phase 4 LLM calls are wrapped in a 12s asyncio.wait_for with graceful fallback so a hung call cannot gate retrieval for the full 120s client timeout. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>