Neverest for model routers
Last verified against the code: 2026-11-15 (0.10.1)
This page is for companies that route requests between models: OpenRouter, a LiteLLM gateway, the gateway a company runs for its own teams. It says what problem Neverest solves for a router, what works today, and what an integration would be.
The problem a router has
A router makes changing the model one word in a request. It cannot make changing the model cheap for the project.
A request carries the messages the caller chose to send. It does not carry what another app did on the same project yesterday, what the person corrected, what was already deployed, or what was already paid for. The model that started the project knows these things because it was there. The next one starts over, and the person explains it all again.
So people who could switch do not. They stay on the model they started with, and a router's fallbacks, price routing and automatic choice go unused in the middle of real work. The freedom to switch is what a router sells. The cost of switching is what stops people using it.
What Neverest adds
Neverest is the relay between models. It keeps one log per project and gives the next model a handoff.
| What | How it helps a router |
|---|---|
| One log per project, appended by every model that touches it | The project stops belonging to one model |
| The handoff: the recent work, the person's corrections in their own words, what was deployed, what was paid for | The next model continues instead of starting over, so a switch costs one request, not an afternoon |
| It names the model that answered | Asked for an alias, a fallback list or the router's own choice, the log records the model the router used, so the person can see who did what |
| It knows when nothing changed | A caller that keeps asking for the same name and sends its own history is not handed the work again, whichever model the router picked. No tokens are spent repeating it |
| Observations, never instructions | Nothing in a handoff tells a model what to do. It is a record, so it is safe to put in front of any model |
This is an argument for why switching gets cheaper. We have not measured its effect on how often people switch.
Three ways to work together
1. Today, with nothing to integrate
A person runs Neverest in front of the router, on their own machine:
NEVEREST_UPSTREAM=https://openrouter.ai/api/v1 neverest proxy
They point their apps at http://127.0.0.1:11435/v1 with their router key, and send the header
x-neverest-project with the project's path or name. The key is passed through and the header is not. The router
sees an ordinary request. When the model changes, the request arrives with the handoff as its first message.
This was run against OpenRouter's live API on 2026-11-15, three requests on one project. A first model was asked
to do some work. A second model, sent no history, was asked what had been done and answered with the work and
the name of the model that did it. A third request asked for openrouter/auto, streamed, and the log recorded
the model OpenRouter chose, with openrouter/auto kept as the name asked for. The tests run the same exchange
against a stand-in router.
2. A router reads the header itself
A router that wants this for every customer, with nothing to install, needs three things, and all three are written down in the protocol:
- The header.
x-neverest-projectnames the project. Requests with the same value share one log. - The log. One JSON object per line: when, which model, the role, the kind (
user,assistant,correction,deploy,payment,note), the text. - The rule. A request for a model that did not write the last reply, or that does not already contain that reply, is given the recent work. Corrections, deploys and payments are given every time.
The rule and the log are about 200 lines of Python with no dependencies (neverest/relay.py). There is no
library for a router's own stack yet. We would write one with the first router that wants it.
3. The log stays with the person
A router that does not want to hold project logs does not have to. With the proxy on the person's machine the log never leaves it, and between a person's machines it travels sealed, so no server can read it, ours included (user guide). The router carries requests that are a little longer and nothing else changes.
What we do not claim
- No measured effect on switching, retention or volume. The relay is new in 0.10.1, and the live run above was three requests, not a study.
- Two request shapes. The proxy relays Chat Completions and Anthropic Messages. Requests in the Responses API shape are passed through untouched, without the relay.
- Not launched. The code is private until launch. Write to contact@acificlabs.com to try it or to talk about an integration.