We Generated 2,302 Articles; Here's What That's Worth
Start with the number in the title, because it's wrong.
The plan that commissioned this piece was written on 10 July 2026, and it froze a count somebody believed at the time: 2,302 generated articles. That string then got copied into a strategy document and a copy skeleton, each time as if it were a fact. When we finally sat down on 20 August 2026 and counted — read-only queries against the two stores we actually keep — neither of them contained 2,302 of anything. The live snapshot of the canonical article store, pulled that morning, held 6,604 articles. A dated export from 26 March 2026 held 1,582. The 2,302 existed only as a title.
That's the first honest finding, and it cost nothing to make: the corpus had roughly tripled past its own legend, and the legend kept getting pasted forward unchecked. If the number in our own headline can go stale like that, everything else deserves the same treatment. So this is a teardown of our own generated-content corpus — spin versus real — with every figure tied to the store and date it came from. We've kept the stale title, because correcting it in public is the whole point.
What the corpus actually is
At altitude, it's a content engine we built and ran: a pipeline that turns topic ideas into generation jobs, and jobs into stored article versions. Ideas queue, jobs pick them up, a drafting stage writes a long-form body, and later stages fact-check, deduplicate, and occasionally post. Everything lands in one database — articles, their versions, the ideas that spawned them, the jobs that carried them. It is not a tour of private rooms. The object is the corpus — a system for producing articles at machine speed — and the question is whether a pile of fluent pages is the same thing as a library you would stand behind.
Why build it at all? Because generation got cheap enough that "we could have thousands of articles" stopped being hypothetical, and we wanted to know what that sentence is actually worth. The only way to find out is to run the machine and then audit what came out — honestly, including against ourselves.
The mechanical receipts
Everything in this section is a mechanical fact about a named store on a named date. None of it is a quality verdict — that distinction matters, and we'll get to why.
From the 20 August 2026 snapshot: 6,604 article rows sit downstream of roughly 95,200 queued ideas. Of those 6,604, every row has a current-version pointer, but only 6,067 version rows exist. 582 articles point at a version that is not there. A count can include pages you cannot read.
Of the articles, 574 carry a posted flag; 439 versions are marked published. The bodies that do exist are almost uniformly long: all but one stored version runs past four thousand characters, averaging around 13,700. Creation dates in that snapshot run from 7 March 2026 to 22 July 2026. Category mix: 4,813 uncategorised, 1,248 in an ML/AI bucket, 291 general, 127 security, 80 open-source, 45 web development.
Dated export, 26 March 2026: 1,582 articles, 5,843 ideas, 10,373 jobs. Posted in that slice: 365 of 1,582. Creation dates: 7 March 2026 through 22 March 2026. Treat it as an earlier cut of the same kind of object, not as the live count, and not as a second product. The machinery has always churned far more than it landed.
Here is the limit of all of those numbers: posted is not readership, published is not quality, and length is not substance. Receipts of this kind prove the machine ran. They say nothing about whether what it made is worth anything — and for months we didn't know, because the honest truth is that nobody had read the articles. Our own working assumption, on record from late July, was "the quality wasn't good" — an assumption, admitted as such, made without reading them.
The triage
So for this piece we did the thing assumptions skip: sample, read, grade.
The method, stated plainly so you can distrust it properly. Of the 6,604 articles in the 20 August snapshot, 6,022 have a current version that resolves to an actual body; that was the population. From it we drew a deterministic sample of 50 — seeded, so the draw is reproducible — and read each body in place in the store, copying nothing out. Each article was graded against a three-way rubric: publishable (would survive a light editorial pass as a standalone public article — not "ready in our voice," just not an automatic reject), spine-ore (not publishable as written, but carrying a salvageable nucleus — a named incident, a protocol, a ruling, a practical stack — that could feed a rewrite), and dross (template long-form with nothing recoverable beyond the topic keyword).
The result, from this sample only:
- Publishable: 2 of 50 — 4%.
- Spine-ore: 21 of 50 — 42%.
- Dross: 27 of 50 — 54%.
Two things about that draw stopped us from pretending a shortcut would have worked. First, length would have told us nothing: every sampled body was long-form — roughly nine to sixteen thousand characters — fluent, tidily sectioned, and more than half still graded as dross. Inferring quality from length bands would have made the corpus look uniformly healthy. It isn't. Second, the posted and published flags were no proxy either: the few sampled pieces that carried them were not systematically better under the rubric.
What actually separated the piles was homogenisation. The dross shares a section ladder that recurs across completely unrelated topics — a rise-of-the-topic opening, a how-it-works, a case study, challenges, the future, a closing call to action — with interchangeable endings about building cultures and looking ahead. Even a genuinely specific hook — a real incident, product, or vulnerability at the centre of a piece — usually didn't rescue it; it just meant the keyword expansion had a better keyword. Those graded as ore, not as publishable.
Stated limit: fifty reads out of roughly six thousand resolvable bodies is a point estimate. It's directional evidence, not a census, and we treat it that way.
So what is it worth?
As a library: very little. On this sample the publishable share is single-digit percent. As ore: more than the cynical guess — about two-fifths of the draw carries a nucleus a human writer could actually build from. And more than half is dross that no amount of retrospective fondness will redeem.
That ranking is consistent with what the public evidence around us says, at pattern level: search guidance now treats generating many pages without adding value for users as an abuse pattern rather than an achievement; large public page studies find that what fails is quality, not the use of generation tools as such; and media-monitoring work has catalogued thousands of sites churning exactly this kind of inventory at volume. Cheap generation moved the cost of producing an article to near zero and left the cost of producing a good one roughly where it was. The corpus is our own receipt for that.
But the finding we'd actually pass on is not the fractions — it's how cheap honesty turned out to be. Counting both stores was an afternoon of read-only queries. The seeded fifty-article read was a day. Before that, we had a stale number in a title and a vague feeling about quality. After it, we know what we own: a small publishable shelf, a real vein of rewrite fuel, and a majority of dross we can stop pretending about. Two of those three are useful, and knowing which is which is worth more than the 6,604 was.
If you're running a generation pipeline — or paying for one — the same audit is available to you: count your store with the date attached, sample it with a seed you write down, read what you actually made, and grade it against a bar you'd defend in public. One door, as promised: if you'd rather not do that alone, the Lab is where we do this kind of teardown in the open — /lab.
