# Admin-AI Fallback Plan — 2026-07-14 ## Session lesson During the app1 admin-ai migration, the working model catalog was not enough proof of health. Real `/v1/chat/completions` probes showed which routes were actually usable. Verified outcomes at the time of this plan: - `deepseek-v4-pro` via admin-ai: usable; reasoning models need enough `max_tokens` or they may appear blank/length-limited. - `deepseek-chat` via admin-ai: usable. - `gpt-5.5` via admin-ai: blocked by OpenAI insufficient quota. - `claude-opus-4-8` and `claude-sonnet-4-6` via admin-ai: blocked by Anthropic usage limits until 2026-08-01. - Gemini worked technically, but Germaine had eliminated Gemini from the normal Sho'Nuff model plan. Do not reintroduce it as a normal fallback just because it is available. - Ollama/llama3.x is deprecated for Sho'Nuff production routing. Do not use it as automatic fallback or for LLM cron jobs. ## Target fallback shape Use explicit tier names so same-router fallback is not confused with provider diversity: 1. **Primary:** `deepseek-v4-pro` via admin-ai. 2. **Same-router model fallback:** `deepseek-chat` via admin-ai. 3. **Independent direct provider fallback:** add and test a direct provider such as Qwen/DashScope or Direct DeepSeek. 4. **Aggregator fallback:** `deepseek/deepseek-chat` via OpenRouter. 5. **Manual escalation only:** GPT/Claude after quota/usage limits are fixed. 6. **Manual emergency only:** old AI box / DNS rollback. Ollama is not automatic fallback. During migration stabilization, it is acceptable to place the independent direct provider before the same-router fallback: ```text deepseek-v4-pro/admin-ai -> qwen-direct -> deepseek-chat/admin-ai -> openrouter ``` Long term, once app1 admin-ai proves stable: ```text deepseek-v4-pro/admin-ai -> deepseek-chat/admin-ai -> qwen-direct -> openrouter ``` ## Background job policy - Prefer `no_agent=true` deterministic scripts for watchdogs and health checks. - Any LLM cron job must be pinned explicitly; cron jobs do not inherit conversation fallback. - Do not pin cron jobs to Ollama. - Do not pin normal jobs to Gemini unless the task is specifically vision or the user re-approves Gemini for that class. - Use `deepseek-chat` via admin-ai for light summaries/classification. - Use `deepseek-v4-pro` via admin-ai for higher-risk research/reasoning. - Use premium GPT/Claude only as explicit escalation when quota/limits are healthy. ## Health-check rule `/v1/models` is catalog health only. It does not prove encrypted credentials, upstream quota, or completions are working. Production health checks must call `/v1/chat/completions` for every active route and classify failures by route: - admin-ai primary/fallback failure - OpenRouter fallback failure - direct-provider fallback failure - escalation-only quota failure GPT/Claude quota failures should be reported as escalation-model unavailable, not as total admin-ai failure.