You never see it happen. Every request your software makes enters the router, gets classified in under 200µs, and leaves on the least expensive path that can actually do the job — escalated when it can't, failed over when a provider goes dark, logged either way.
This is not a video. The classifier below is the same shape as the one in production — eight scored dimensions, a policy that maps score to tier, a fallback chain that exists before it is needed. Different tasks genuinely produce different tiers. Try to make it escalate.
❯ route
live routedormant pathescalation
policy trace · runbook/v3 · default-v3
No request leaves your browser. The classifier, the weights and the policy are all in the page — open the source and read them. In production the same evaluation happens in the router process, next to your traffic, with no network hop of its own.
SECTION 04 · ESCALATION IS EARNED
FAIL — retry
One request. First attempt at SMALL.
out: {"total":4820.00,"currency":"USD"} verify: schema+judge → line items do not sum to total
The router does not assume the cheapest tier is correct. It assumes the cheapest tier is worth trying, and then it checks. Verification is part of the route, not a thing you bolt on later.
Two attempts is a number in a runbook, not a hard-coded constant. Set it to 1 for anything customer-facing, 3 for bulk transforms nobody is waiting on. The ladder is yours to tune.
PASS
MID succeeds. You pay the increment, not the ceiling.
The bill records two small attempts and one mid attempt. It does not record a frontier call, because none happened. This is the entire economic argument, and it is boring on purpose.
1,000 REQUESTS
Escalation is the exception.
Roughly 7% of traffic climbs past MID in a mature policy. The other 93% never touches a frontier model at all — and never did need to. Paying frontier prices for everything is not a strategy. It is the default you were living with.
accrued: 1 × small
SECTION 05 · POLICY AS CODE
A dropdown is a decision you can't diff.
Most routing products give you a settings page. Someone changes a value on a Tuesday, spend moves 14%, and there is no artefact anywhere that says who, when or why. That is not a policy. That is a rumour with a save button.
GhostRouter runbooks are files. They live in your repository, they go through your review process, they are versioned with your application, and they are executed — not interpreted as hints. A routing change is a pull request with an approver's name on it.
Every clause below is evaluated on every request, in the router process, with no network call of its own. Median evaluation time is 180µs.
classifyScores the request across four dimensions before any model is contacted. Heuristic, deterministic, and cheap enough to run on every request.
tierMaps a score band to a set of interchangeable targets. Targets inside a tier are load-balanced by health and latency, not by preference.
escalate_afterHow many verified failures a tier gets before the request climbs. Lower it for customer-facing work; raise it for bulk transforms.
fallbackWhere traffic goes when a provider is unreachable or a tier is exhausted. These paths are kept warm, so failover is a routing decision, not a recovery project.
budgetA spending guard evaluated against the period to date. A soft guard warns; a brake pins every eligible request to the cheapest tier until the period rolls.
SECTION 06 · WHAT THE ROUTER DOES
Three jobs, run on every request.
01 / ROUTE
Cost, capability, latency.
Classification produces a score, the runbook maps the score to a tier, and the tier resolves to a live target chosen on health and observed p50 — not on a preference list someone wrote in March. A request that needs 400 output tokens of structured extraction does not get a frontier model because a config file forgot to say otherwise.
· 8 scored dimensions
· 180µs median evaluation
· per-route latency class targets
02 / ESCALATE
Verify, retry, climb.
Output is verified against the shape the caller asked for — schema, then an optional judge pass at the same tier. Failures retry in place until escalate_after, then the request climbs one rung. It never leaps to the top, and it never silently returns something wrong because the cheap path was cheap.
· schema + judge verification
· one rung per escalation
· ~6.4% typical escalation rate
03 / SURVIVE
Fallback across providers.
Every tier holds targets from more than one provider, and every route carries a fallback chain that is exercised continuously rather than discovered during an incident. When a provider degrades, traffic shifts mid-flight and the event lands in the audit log with the policy clause that authorised it.
· 11 providers under management
· path failover < 800ms class
· every shift written to the log
SECTION 07 · NETWORKING HERITAGE
The same router table, one layer down.
Before GhostRouter routed model traffic, it routed packets. The vocabulary did not change when the payload did: a route is still a match plus a target plus a fallback, a policy is still a file, and a path you have never used is still a path you should have already tested.
Underneath the model layer, GhostRouter runs a private overlay between your services — mutually authenticated links, no public ingress, relay hops you choose, and failover paths that exist before you need them.
Client names are never published. Figures below are drawn from metered quantities in the client portal, reconciled at the close of the period.
A portfolio of client-reporting teams
“Model spend fell 58% in the first full billing period. Not one line of product code changed — we pointed the SDK at the router and wrote a runbook.”
Their reporting pipeline was calling a frontier model for every summarisation, including the 71% that were structured extraction with a fixed schema. Those now resolve at SMALL and are verified against the schema before they return.
model spend −58%traffic re-tiered 71%product code changed 0 linestime to first routed request 40 min
An electrical contracting group
“Our estimating assistant used to call the most expensive model for every line item. Now it calls one for the four lines that are actually ambiguous.”
Takeoff line items are mechanical and schema-bound; scope exceptions are not. A single classify clause separates them, and the escalation ladder handles the rest without anyone maintaining a list of special cases.
Put a policy between your software and the model bill.
Routing engineering will read your traffic shape and hand back a runbook you can review before anything is signed. Existing clients: your usage, invoices and payment live in the portal.