The next series · weights public
A universal adapter: the decision engine is trained once, in a space no single LLM owns, and whichever model you already run plugs into it through a small linear port. No retraining. No fine-tuning.
Readers stay frozen. Each one gets a port into the shared space. The engine reads that space and returns a typed answer with a calibrated probability.
How it works
01
Any instruction-tuned LLM works as the eyes. Hidden states are tapped at two depths and pooled per span and per option. The reader's weights are never touched.
02
One small linear map per tapped layer carries the reader's features into a shared 1024-dimensional space. For a new reader it is fit in closed form against stored targets, then refined for 300 steps against the frozen engine.
03
The 14.3M decision engine lives entirely in the shared space and is byte-identical for every reader; the run asserts its checksum. Only a per-reader calibration is refit, because calibration never transfers.
The engine is trained jointly on multiple readers at once, with an invariance loss that pulls the same training item, seen through different tokenizers, to the same point in the shared space. That is what makes the space reader-agnostic rather than a disguise for one backbone. The first run matched 708,657 items across readers, with training records up to 73,728 tokens long.
The early proof
October 2026 runs. The engine trained jointly with the 0.8B and 1B readers; the 4B and the 27B were attached afterwards with a closed-form port fit and a short refine. 27B calibration error 0.021, and the best selective risk of any reader (AURC 0.053). Its split is capped at 400 records per source.
Every cold-attached reader beat the readers the engine was trained with, and the ladder climbs with reader size: 0.765, 0.791, 0.811. The engine did not change by a single byte between the four; each run asserts the checksum.
That is the point of the series. Calibration, abstention and the typed answer live in the engine. Reading lives in the reader. The 27B's gains land exactly where reading matters: 0.941 on 70k-token long context, 0.922 on ARC, 0.792 on CommonsenseQA, against 0.831, 0.647 and 0.490 for the 0.8B. Saturated tasks (phishing, spam, intents at 0.99) stay flat, which is what an unchanged engine behind better eyes should look like.
The engine itself is small enough to be boring: 14.3M parameters, about 57MB on disk. Everything else is a frozen model you already have.
Status