Cost routing — ce LLM, unde

Wednesday e orchestrator pe oricare LLM (Claude, Grok, Gemini, Codex — toți egali ca putere prin Phase 334 doctrine). Dar costul e diferit. Cost routing e doctrina care decide ce LLM rulează ce, ca să nu te trezești cu jumate de sesiune Claude consumată în background fără să tastezi un caracter.

Ce este

Hard rule fundamentală: Claude pentru foreground serios; Grok 4.3 + Gemini 3.5-flash pentru background.

  • Foreground = operator tastează activ. Decizii, sinteză, code work, Harborlight (anxiety lane), governance, code review. Claude e ok aici.
  • Background = ceva rulează fără tu să tastezi. Cron, launchd daemon, scheduled wakeups, Agent sub-agent fire-and-forget, periodic reviews, classification, ingest pipelines, recurring reminders. NICIODATĂ Claude.

Codificată în CLAUDE.md § Background AI Cost Discipline (Phase 338+19) + feedback_no_background_claude.md în memorie Cowork (persistent cross-session).

Cum funcționează — cele 4 lane-uri

Lane 1 — Claude foreground (Opus 4.7)

Când: operatorul tastează în Claude Code interactive, Claude Code dashboard, Telegram-via-Hermes DOAR cu override explicit de model.

Caracteristici:

  • Cel mai scump (~5-15× față de Grok)
  • Cel mai bun pentru decizii nuanțate, sinteză multi-source, governance
  • Context 1M tokens
  • Token budget limitat pe sesiune

Folosit pentru: discuții serioase, deliberări, code review pe domain-uri sensibile, council debates, redactare doctrine.

Lane 2 — Grok 4.3 background bulk (via Hermes OAuth)

Când: Telegram bridge default, IRC eggdrop conversational, hermes_dispatch.py delegations din scripturi, bulk code/drafting/research/transformations.

Caracteristici:

  • SuperGrok OAuth (hermes auth), NU API key
  • 200-tool ceiling — asuswrt MCP dezactivat în Hermes ca să rămână sub
  • Calitate solidă pentru bulk work
  • Gateway local pe Mac: http://127.0.0.1:8642/v1/chat/completions

Folosit pentru: Telegram replies (TOT traficul Telegram), IRC chat, delegări scriptate, transformări mari de text/code.

Lane 3 — Gemini 3.5-flash batch (cron / scheduled)

Când: cron jobs, launchd daemons, scheduled tasks, periodic ingest, classification/sorting pipelines, anything fire-and-forget.

Caracteristici:

  • Cel mai ieftin tier care încă livrează rezultat utilizabil
  • Pinned gemini-3.5-flash (default GEMINI_DEFAULT_MODEL în ~/.mcp.json
    • ~/.hermes/config.yaml)
  • Acceptabil pentru batch, NU pentru decizii subtile

Folosit pentru: TOATE cron-urile (daily evolution, daemon health summary, vault organization audit), scheduled reminders, batch tagging, ingest poller.

Lane 4 — Ollama T1 (trivial local)

Când: task trivial (3-line edit, simple yes/no clasification), offline-ok.

Caracteristici:

  • Local, zero cost
  • Calitate doar pentru trivial work
  • Fallback când conectivitatea pică

Cost Escalation Ladder (operator doctrine)

Folosește cel mai ieftin tier care livrează ≥95% din calitate:

T1 Ollama (trivial)
   ↓ dacă insuficient
T2 Gemini 3.5-flash (moderate complexity)
   ↓ dacă insuficient
T3 Grok 4.3 OAuth (complex reasoning)
   ↓ dacă insuficient
T4 Claude (DOAR pentru decizii serioase sau MCP connectors specifice)

Decizia e automată — Wednesday nu te întreabă, doar dacă vede ceva ambiguu surfacea ladder-ul.

De ce contează

Două motive cu istorie:

1. “Sa nu patim ca data trecuta sa mi se consume jumate de sesiune fara sa tastez nimic.” Operator quote, după ce într-o fază anterioară un Claude sub-agent fire-and-forget pe loop a ars jumate de token budget peste noapte. Hard rule-ul “no background Claude” vine direct din asta.

2. Tokens Claude sunt scarce + rezervate pentru foreground. Grok și Gemini cover-uiesc lane-ul cheap-bulk. Dacă pui Claude pe Telegram default, Telegram (care primește 50-100 mesaje/zi) îți consumă tot budget-ul de zoom de operator real.

Cum interacționez cu el

Decizia e automată. Tu nu rutezi nimic manual. Wednesday face routing-ul înainte de fiecare unitate substanțială de muncă.

Ce poți face:

  • Override explicit: dacă vrei Telegram via Claude pentru un mesaj specific, semnalează în mesaj (“rule: claude” sau echivalent — depinde de bridge config).
  • Verifică ce rulează unde: cat ~/.hermes/config.yaml (model defaults Hermes), cat ~/.mcp.json (model defaults MCP), cat _infra/scripts/morning_briefing.py (sample cron script — vezi că folosește Gemini/Grok, nu Claude).
  • Flag legacy. Dacă descoperi un cron / daemon vechi care încă apelează Claude (pre-rule), spune-mi — îl repointez la Gemini.

Ce NU să faci:

  • Nu adăuga claude-* în cron crontab fără confirmare explicită.
  • Nu scrie un launchd plist care apelează Claude CLI pentru task automat.
  • Nu lăsa un Agent sub-agent în loop infinit cu model=claude.

Limite / gotchas

  • Grok 200-tool ceiling. Dacă adaugi MCP-uri noi în Hermes, verifică hermes_tool_count.py — peste 200 → Grok pică. Strategia curentă: asuswrt MCP dezactivat în Hermes (rămâne în ~/.mcp.json pentru Claude Code direct).
  • WhatsApp a fost retras (2026-05-29). Lane-ul claude-whatsapp Opus a fost dropat (fără memorie Honcho, cost Opus, redundant cu Telegram). Mobile-Wednesday- cu-memorie = Telegram (Grok via Hermes). Heavy mobile = aplicația Claude.
  • Telegram allowlist phone↔LID. Pe WhatsApp, păstrează BOTH phone AND LID în allowlist până când phone↔LID mapping persistence e verificat (lesson-18).
  • Gemini “default” e pinned. Dacă Gemini scoate gemini-4.x mai târziu, NU se auto-upgrade. Trebuie editat explicit GEMINI_DEFAULT_MODEL.

Unde sunt documentate

  • CLAUDE.md la vault root — § Background AI Cost Discipline (Phase 338+19)
  • _infra/core/wednesday/wednesday.md § Execution Delegation
  • _infra/config/universal_runtime_doctrine.md § Cost Routing
  • _infra/scripts/hermes_dispatch.py — delegation path Grok
  • _infra/scripts/grok_agent.py — local Grok Build CLI delegation
  • ~/.hermes/config.yaml — Hermes gateway model defaults
  • ~/.mcp.json — MCP-level model defaults
  • Memory feedback_no_background_claude.md (Cowork)
  • Memory project_grok_executor_architecture.md (Cowork)