free tier: route every task through ollama against a local model (qwen2.5-coder or deepseek-coder); zero api spend, only your electricity. cheap cloud: claude haiku 4.5 for docs, claude sonnet 4.6 for backend, only escalate to opus on retry; cap with cost.budget_limit in .sdd/config.yaml, or bernstein run --max-cost-usd for a single run. mixed: pin the architect role to a paid model, run the rest on ollama. the caching_adapter (src/bernstein/adapters/caching_adapter.py) deduplicates prompt prefixes across spawns so repeat work does not get re-billed. bernstein cost --last 1h tracks recent spend; the alert threshold (default 0.8) warns before you blow the cap.
canonical answer