59 lines
2.9 KiB
Markdown
59 lines
2.9 KiB
Markdown
# 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.
|