
This is a cost-first model routing strategy that keeps you on local Ollama models (qwen3-coder, gpt-oss) unless infrastructure actually fails. It defines five tiers from free local to paid Claude Opus, but the philosophy is explicit: you only climb the ladder on 429s or timeouts, never because a task looks hard or you want better output. Tier 1 uses Cerebras at up to 2100 TPS for free, tier 3 brings in Hermes 405B for deep reasoning, and tier 4 is break-glass only with spending alerts at $5 daily. If you burn through API budgets or want to stay on local models by default with automatic failover only when services are down, this is the routing logic. It includes health checks and a spend guard that flags you when OpenRouter usage crosses thresholds.
$ npx -y skills add open-gitagent/opengap --skill compute-ladder --agent claude-codeInstalls into .claude/skills of the current project.
Tier 0 — Local (never dies, zero cost)
ollama/qwen3-coder:latest primary, MoE, 128 TPS, 64k ctx
ollama/gpt-oss:20b fallback, 32k ctx HARD LIMIT
Tier 1 — Fast Free Cloud (up to 2100 TPS)
cerebras/qwen-3-235b-a22b-instruct-2507 235B MoE, fast free
cerebras/llama3.1-8b 8B, ultra-fast light tasks
Tier 2 — Free Cloud (normal latency)
openrouter/z-ai/glm-4.5-air
openrouter/qwen/qwen3-coder
Tier 3 — Free Cloud Deep Reasoning
openrouter/nousresearch/hermes-3-llama-3.1-405b:free
Tier 4 — Break-Glass (paid, restricted use)
openrouter/anthropic/claude-opus-4.6 [narco-check and audit ONLY]
DO fallback when:
DO NOT fallback when:
Use the primary model. Iterate. Fallback is for infrastructure failure, not preference.
# Tier 0
curl -s localhost:11434/api/tags | python3 -c "import json,sys; d=json.load(sys.stdin); print('TIER-0 OK:', len(d['models']), 'models')"
# Tier 1
curl -s -o /dev/null -w "%{http_code}" \
-H "Authorization: Bearer $CEREBRAS_API_KEY" \
https://api.cerebras.ai/v1/models
# Tier 4
curl -s -o /dev/null -w "%{http_code}" \
https://openrouter.ai/api/v1/models
# Check today's OpenRouter spend
curl -s "https://openrouter.ai/api/v1/auth/key" \
-H "Authorization: Bearer $OPENROUTER_API_KEY" \
| python3 -c "
import json,sys
d=json.load(sys.stdin)['data']
print(f'today: \${d[\"usage_daily\"]:.2f} | week: \${d[\"usage_weekly\"]:.2f} | month: \${d[\"usage_monthly\"]:.2f}')
"
Daily > $5: flag to Ludo. Weekly > $50: flag immediately — tier-4 model is likely being over-used.
Sponsors