2026-07-14: the router returns 503 upstream_unavailable for deepseek/deepseek-chat, deepseek-v4-flash, and kimi-k2.7-code (probed with a valid sk-tan key; glm-5.2, anthropic/claude-haiku-4.5, gemini-2.5-flash-lite, openai/gpt-5-mini all 200).
Impact: taxes.tangle.tools defaulted to deepseek/deepseek-chat, so every chat turn on the product died with "chat backend returned 503" until we changed the app default (tax-agent#373). Any consumer pinning an affected model gets a hard outage for the duration of the upstream incident. Also affected as defaults: physim host-supervisor (deepseek-chat), tuner visible-reasoning (deepseek-v4-flash).
Ask: when an upstream is unavailable, the router should fail over to an equivalent healthy model (same capability class: tool-calling, context) — or at minimum expose health in /v1/models (routeability.status) so product catalogs drop dead models automatically. A per-provider outage should degrade quality, not availability.
2026-07-14: the router returns
503 upstream_unavailablefordeepseek/deepseek-chat,deepseek-v4-flash, andkimi-k2.7-code(probed with a valid sk-tan key;glm-5.2,anthropic/claude-haiku-4.5,gemini-2.5-flash-lite,openai/gpt-5-miniall 200).Impact: taxes.tangle.tools defaulted to
deepseek/deepseek-chat, so every chat turn on the product died with "chat backend returned 503" until we changed the app default (tax-agent#373). Any consumer pinning an affected model gets a hard outage for the duration of the upstream incident. Also affected as defaults: physim host-supervisor (deepseek-chat), tuner visible-reasoning (deepseek-v4-flash).Ask: when an upstream is unavailable, the router should fail over to an equivalent healthy model (same capability class: tool-calling, context) — or at minimum expose health in
/v1/models(routeability.status) so product catalogs drop dead models automatically. A per-provider outage should degrade quality, not availability.