Where this is going
This is a machine for turning something half-said into something that holds up, and it is nowhere near finished. How it works is the tour of the parts that exist. This is the other half: what is actually being solved, what it is all aiming at, and — for every part — the thing holding it up.
Not a ladder and deliberately not numbered. None of these is behind the others: two are being worked on now, and the third is what makes the first two matter to anybody but me.
This is marked open because it is the least worked part of the three, and that is a statement about where the effort has gone rather than about how hard it is. The mechanism is explained well; the case for it is not. How it works will take a reader through the pipeline with no conversation needed — and a reader who does not already want the pipeline has no reason to start it.
The honest version of the case is a refusal, not a feature. This is a machine for not writing the essay yet. It will not build an argument out of an idea nobody argued with, will not publish one nobody read, and will not let a link between two thoughts exist that no sentence earned. The value is that it says no to you, which is a strange thing to sell and the true thing to say.
The audience it is actually for is narrower than “people who take notes”: somebody who thinks by talking, ends up with more half-formed ideas than they can hold, and wants the ones that survive rather than the ones they wrote down most recently. Saying that out loud excludes people, which is the point — an unstated audience is how a tool grows features for nobody.
seed → tree → fossil, where a tree was an argument grown from several seeds. The corpus reached that rung zero times in its whole life — 85 to nothing — so the strongest available evidence said the thing being asked for was not a rung. And asking somebody to declare whether they are writing a dump or an essay is a person ticking a box about their own writing, which is the one kind of evidence this system refuses everywhere else. It is the same objection that removed the seven goal posts, applied to the ladder those posts were a gate on.This part has no test, and that asymmetry is exactly why it drifts. Everything else here can be measured — words, refusals, coverage, cost, variance — and this one can only be argued, so on any given week there is always something more legible to do instead. It is first on the page as a counterweight to that, and because the other two problems are worth solving only if this one is.
A seed is a new thing pointing back at an entry, never a rewrite of it. The entry is kept and never consumed; the seed is derived, and the derivation is lossy — which is the whole reason the words survive the pass rather than being replaced by it. “Is that actually what I said” has to have an answer, and a seed is immutable so that the answer cannot quietly change.
The problem is not “write a prompt that works”. It is having a way to tell whether one version is better than another, which is harder than it sounds: run-to-run variance inside a single version can be larger than the gap between two different ones. So the shape is hill climbing with a human fitness function — a champion version, a challenger that has to beat it on a declared objective over the same entries, and a log that keeps the loser with its numbers rather than deleting it. A losing version is not waste; its numbers are what the next comparison is read against.
The stage is split three ways and only the middle one costs money: read the entry into segments, extract ideas from each one, shape them against every rule the corpus enforces. Read and shape are pure functions, so most of the parameter space can be explored for nothing — that split is what makes this affordable rather than a research budget.
There is no human in the loop at the volume it needs, and no number can stand in for one. Coverage, duplication and refusal tallies say whether the pass ran; not one of them can say whether a seed says what you meant. That is the only question this part is about, and reading is the expensive half — which is the same shortage the prototype is meant to end.
Random mutation and selection needs cheap evaluation, and here the evaluation is a person reading — which is the expensive half. So the shape is hill climbing with a human fitness function rather than a search over a parameter space: a champion version, a challenger that has to beat it on a declared objective over the same entries, and a log that keeps the loser with its numbers rather than deleting it.
A losing version is not waste. Its numbers are what the next comparison is read against, which is why a version is data and never a branch in a script — a run has to be able to say exactly what produced it six months later.
Six decisions, and the first two are what stop the whole thing collapsing into a scoreboard.
Not “rate this run”. A run-level score averages away the distinction that matters most, and the reviewable unit already exists: the span points at the ninety words a seed was reduced from, so the seed and its source fit on one screen. That is what the span work was for.
A number invites averaging and says nothing about what to change. Each verdict below points at a different knob, which is what makes a review actionable instead of a mood.
A title changes between versions; the stretch of the entry it came from does not. Keying a judgement to the located quote is what lets a verdict taken in run 3 still mean something in run 11 — the same argument as the cache key covering the prompt, and as provenance being compared instead of prose.
Two knobs at once gives an answer you cannot attribute, and at this library size the noise floor is already close to the effect size. Characterise each knob alone; combine only after each one’s effect is known, which is also the order that makes the log readable later.
Otherwise you rationalise whichever direction the numbers moved. The objective is ordered, not summed: zero not mine first, then fewer thin, then less missed. A composite score would trade the first against the third, and they are not tradeable — a run with two thirds coverage that never misrepresents you beats a near-complete one you have to check line by line.
This is the real risk, not the design. One seed per screen, the source words above it, one key per verdict. If reviewing a run takes an hour then three versions is a day and the loop quietly dies — which is exactly how the by-hand promote form died, at five taps for something nothing read.
Both directions are one problem because they are one question: what crosses the boundary between a person and the system, and what it costs to cross it. A thought arrives at a bus stop or halfway through a conversation, and anything that makes catching it a small project means it is not caught.
The method here is not design, it is use. Build the thing, use it every day, and notice where you hesitate — the hesitation is the data. That is why this part looks like a stream of small changes rather than a plan: a dump box behind one button rather than three, a microphone on it, a colour picked by hand, a list that collapses when it gets long.
And there is exactly one input, deliberately, with the others archived. Not because more ways in would be worse ideas — because two half-working inputs are worse than one working one, since neither ever gets finished.
This is the easiest part to work on and it is the one most likely to be mistaken for progress — an afternoon on the graph feels productive and moves the seed function not at all. The old version of this page marked it built and said to leave it alone, which was wrong, but wrong in an interesting way: what it could not see is that one person’s friction is a sample of one. Past a certain point this stops being solvable by me and needs other people using it, which is the next part over and is gated on the one before it.
One thing the three converge on, and the one step that only becomes possible once they land. This is the part the old version of this page did not have anywhere: a statement of what is actually being aimed at.
This is the thing the three problems are for, and naming it is most of what this page changed. Two of them are genuine prerequisites and the third is what it produces: it needs a seed function whose output somebody would trust, and a way of saying what it is that survives being sent as a link — and in exchange it turns friction from something one person guesses at into something a handful of people report.
The bar is not “finished”. It is: a person can be given the link, understand what the thing is for, put something in, get something back, and tell me what was wrong with that. Everything past that is the loop, not the prototype.
Two things it will force that are not worth solving before it. A name, because the tool has none that means anything to anybody. And the cost, which is bounded per writer per day at 20 entries a day and lives in the declaration rather than behind a door — so leaving the automatic pass on is a number somebody chose rather than a standing risk. Neither has a forcing function today; the second and third writer arriving is the forcing function.
And one thing it deliberately does not include. Asking your own corpus questions in a chat — querying it, adding to it by talking to it — is the obvious next thing and it is a paid feature, because it spends tokens per conversation rather than per capture. The version that has to exist first is the cheap one: low friction, genuinely usable, and not gated on anybody affording it. Bringing your own key is the likely shape of the paid half, which costs the project nothing and keeps the free one honest — but designing that before anybody has used the free one is designing for a person who does not exist yet.
It is gated on two things at once and neither is finished, so the temptation is to ship it on whichever one feels closer. A prototype with a weak explanation gets used once and reported as confusing; one with a weak seed function gets used once and reported as wrong. Both cost the same thing — somebody’s willingness to try it a second time, which is not a renewable resource at this scale.
This is the easiest of everything on this page and it is last for a reason: it is worth almost nothing until there is something to react to. A feedback form in front of a tool nobody can use collects opinions about a description.
What makes it worth having is the same thing that makes the seed comparison worth having — the expensive half is a person reading, and one person reading is a preference rather than a measurement. A handful of people is the difference between “I think this version is better” and knowing.
It is also the only route to the friction problem past its current ceiling. I cannot find the friction I have stopped noticing.
Nothing here is hard and that is exactly the risk: it is the part that could be built this week and would then sit unused, looking like progress, while the two things actually blocking it stay where they are.
Everything else with a number in it is generated from the repository when this page is deployed: the library is 31 entries and 100,004 words, the corpus is 237 thoughts of which 34 are written up, and the limits come from the one declaration the validator, the linter and the explainer all read. A number that can be recomputed is never typed here; a number that cannot carries the day it was measured, so it can be seen to be stale rather than quietly wrong.
Volumes only, and never titles. Most of that corpus is private, and a title on a public page is the disclosure — so nothing here names a thought, a transcript or anybody else’s workspace.