Add fox as primary AI summarizer with cube fallback #5

Closed
opened 2026-05-30 23:56:08 +02:00 by arne · 1 comment
Owner

Summaries run through a single Ollama backend (cube/qwen3 via OLLAMA_URL). We want fox (gemma4:26b) as the primary summarizer with cube as automatic fallback when fox is unreachable.

fox is served by llama-swap and speaks only the OpenAI-compatible /v1/chat/completions API (it 404s on Ollama's /api/chat), so this needs an analyzer abstraction over both protocols plus per-request fallback. To avoid a config trap, the existing OLLAMA_URL/OLLAMA_MODEL keep defining the fallback backend (cube, already set in the deployed unit); a new AI_URL/AI_MODEL/AI_API configures the fox primary.

This re-ports work that was originally written against an orphaned repo line (old PR #4, preserved on branch orbit-main-archive) onto the canonical codebase. Scope: Analyzer interface, OpenAIClient, FallbackAnalyzer, config + wiring, tests. Not deployed until separately approved.

Summaries run through a single Ollama backend (cube/qwen3 via OLLAMA_URL). We want fox (gemma4:26b) as the primary summarizer with cube as automatic fallback when fox is unreachable. fox is served by llama-swap and speaks only the OpenAI-compatible /v1/chat/completions API (it 404s on Ollama's /api/chat), so this needs an analyzer abstraction over both protocols plus per-request fallback. To avoid a config trap, the existing OLLAMA_URL/OLLAMA_MODEL keep defining the fallback backend (cube, already set in the deployed unit); a new AI_URL/AI_MODEL/AI_API configures the fox primary. This re-ports work that was originally written against an orphaned repo line (old PR #4, preserved on branch orbit-main-archive) onto the canonical codebase. Scope: Analyzer interface, OpenAIClient, FallbackAnalyzer, config + wiring, tests. Not deployed until separately approved.
Author
Owner

Done — landed on main in 06d456b (bundled into PR #8 due to a branching slip; PR #6 closed unmerged). fox is the default primary summarizer, cube the fallback via OLLAMA_URL.

Done — landed on `main` in 06d456b (bundled into PR #8 due to a branching slip; PR #6 closed unmerged). fox is the default primary summarizer, cube the fallback via OLLAMA_URL.
arne closed this issue 2026-05-31 10:14:44 +02:00
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
arne/news#5
No description provided.