A one-person AI lab.
The starting point was an ordinary request that didn’t work: here is a body of material — the text, the images, and a record proving which image belongs where. It is vastly smaller than the internet. Go through it properly and answer the question.
What came back was thin, and the reasons weren’t visible from outside. Nearly one human turn in five carried an image that nothing was reading, and nothing in the system reported the gap. Retrieval failed quietly, and the failures looked like answers.
So the work is the substrate, not the model. Most retrieval systems treat the store as fixed and do the work at query time. This one is built as a loop: enrichment layers and human corrections are built over a corpus, a sanitized derivative is generated from them mechanically, that derivative produces context packs dense enough to start focused work without rereading anything — and what those sessions produce becomes source for the next pass. The forward arcs run today. Intake is deliberately frozen while the first scope is finished, so the loop has not yet closed.
Independent readers of the same material disagree more than you would expect — and they disagree with themselves across runs, which is the harder problem. We treat that as data rather than as a defect to tune away. The design routes by strength of signal: mark it, drop it as noise, or put it to a person, with prior rulings checked first so the middle band narrows as the record grows. The thresholds are not set yet. What settles is composed into a single normalized stream.
The corpus is predominantly model output by volume, which makes it a measurement surface as well as a source. A run is stamped with the resolved model, the effort it ran at, the rules and format versions it used, and a hash of the exact prompt — which is kept, so the hash resolves. Raw per-run output is retained per run, so a later run adds to the record rather than replacing it.
Older models cannot be re-run, so controlled comparison runs forward from the point stamping began. What came before is an observational record, which is a weaker thing and we treat it as one.
Start with what we can already show isn’t true. Agreement between readers is not correctness — two independent reads can concur on something the source never says. And run-to-run variance within a single setting currently exceeds the difference between settings, so small effects can’t be resolved yet. The instrument isn’t finished.
The claim is narrower than it looks. Not that the system out-answers a person who was there; it won’t. That the same question reaches the same answer with less of that person in the loop. Steering is countable: the turns where a human supplies a fact the system couldn’t see, rather than asking a question.
The baselines make it testable. Seven dated, checksummed points, all predating the current tooling, two of them burned to write-once media in triplicate, one verified file by file. Across the earlier ones the material grows while the tooling holds still; across the last gap the tooling changes while the material barely does. So “we have more to work with” and “retrieval got better” can be told apart instead of bundled.
Observed informally after the first enrichment pass. Making it a formal test is the current work.
Exposing the retrieval layer as an MCP server, so any session can boot from a context pack.
Claude Code and the Claude API, with a skill written for each process as its convention proves out. The regression suite is next.