Concepts
The core ideas behind ultrarouter — call types, routing, compression, evals, savings.
ultrarouter sits on the request hot path and applies five layers of value, each tunable and observable. Before any of them, audit mode passively learns your traffic the moment you change the base URL and key — zero config, zero changes to how requests are served.
- Call types — a label per workload that carries its own routing + compression config, resolved through a documented precedence chain.
- Routing — pinned, multi-offer fallback, and auto-routing across providers, with deadlines and provider preferences.
- Compression — a prompt-compression safety taxonomy: off by default, an opt-in deterministic tier, and a guarded adaptive tier.
- Evals — continuous, judge-backed evaluation that turns into model-migration recommendations and canary rollouts.
- Savings — an append-only ledger that computes honest, procurement-defensible savings.
Every request records which layer decided each field, so "why did this call use model X, this provider, this compression?" is always answerable.
The AGENTS.md snippet
Paste this into your repo's AGENTS.md / CLAUDE.md and your coding agent wires ultrarouter itself.
The five products
Router, Evals, Scoring, Flywheel and Context — five capabilities on one outcome ledger and one evidence gate, reached through two parallel entry actions, each with its honest availability.