The Invariant Looks Violated, and Is Not
"No quality scores, anywhere" and "a reading run that scores every item out of twenty" appear to be in direct conflict. Resolving it requires reading the original finding precisely rather than by its slogan.
What the invariant closed was that quality is not scanner-rankable. The evidence behind it was three surface metrics that turned out to fingerprint the authoring path rather than the prose — they told you which tool produced something, not whether it was any good. A seeded reader is not that instrument and does not have that failure mode.
The distinction that does the work: a scanner counts features of the text; a reader judges whether the text lands. The invariant forbids the first from ranking. It never said nothing may.
The Split That Keeps It Honest
Three responsibilities, deliberately separated, and each separation prevents a specific failure.
The engine draws the sample — seeded, reproducible, mechanical. A reader who picks their own passages lets bias in through the front door, and a score you cannot re-draw is a rumor rather than a measurement.
An uncontaminated session scores it — the only instrument that sees the defect at all, and only while it cannot reach the source.
The engine aggregates and ranks — as lifecycle fact, never verdict. The number goes on a worklist, not on a card as a grade.
The engine never judges; the reader never chooses its own sample. Either violation collapses the instrument back into the thing the invariant forbids.
What the Recorded Seed Is Actually For
Narrower than it looks, and one intuitive use is measurably wrong. It is not for re-reading the same passages after a repair: that was tried, and because a repair moves the indices the draw rides on, the same seed produced a completely different set. What the seed genuinely buys is re-running an unchanged corpus for a second reader. What it does not buy is reproducing a past run for audit: the corpus moves, the drawn positions move with it, and the language promises only its raw generator stream across versions — not every algorithm built on top of one. Auditing a past run means having persisted what that run actually drew.
Measuring a repair is a fresh draw's job — and that is the better question anyway. "Is this fixed" is what you want to know; "did it fix those ten" is the easier question and biased toward yes.