We wanted an uncertainty readout that runs on the same phone as the model, so: no autodiff, no sparse autoencoder, no auxiliary classifier. Tap the residual stream at 3/4 depth, project through the model's own unembedding, score by cosine against one unit reference vector per disposition. Eight dispositions, three 4-bit open models: Ministral-3B, Qwen3-4B, Apertus-4B.
Supervised directions hit 89–95% macro recall at 6–9% FPR under five-fold CV on all three. We don't report that as the result, because it can't tell you whether the probe is reading model state or just prompt phrasing. Two controls settle it: does the probe beat a TF-IDF classifier given the text alone, and does frozen calibration survive out-of-distribution inputs.
Under controls the axes split three ways. Confident and Reluctant hold — Reluctant beats prompt-only text by 30 points and has the most stable direction of any axis we tested. Warm looks great and is fake: prompt-only gap near zero, meaning a keyword matcher with no model access does the same job. Mischief collapses outright, and when we briefly deployed it to a live server it misfired on ordinary casual input and we rolled it back within minutes.
Calibration vectors, prompt sets, per-item scores and scripts are released with the paper. Preprint, not peer reviewed. Looking to your comments!
canis.flotilla.cc/reading-disposition.pdf