← All writing

The scout that pitched this post

This post exists because a small program suggested I write it, about itself, and I couldn’t come up with a good reason to say no.

The program is called Scout, and it solves the least technical problem on this blog: I forget my own weeks. Everything I build leaves a paper trail (a decision log I keep religiously, commit histories across a couple dozen repos), but by any given Saturday, Tuesday’s most interesting failure has been buried under three days of newer ones. The stories this blog runs on were evaporating on a seven-day half-life. So the smallest agent in my fleet has one job: every Saturday at 10pm, read the week (the full decision log, every repo’s commits, the blog’s own voice guide and editorial plan), and pitch me. Each pitch is a working title, an angle, an outline, and a where-this-came-from list, delivered to a dedicated Discord channel. It proposes; it never publishes. And it serves under a standing threat I put in its founding document: four consecutive weeks in which I approve nothing, and it gets retired. I already have enough scheduled things I ignore.

The first version was humbler than the word “agent” implies: it dumped everything into one model call, and reported what came back. Its early mistakes were instructive. The debut run buried the week’s two best stories, not through bad taste but through a truncation cap I’d set without measuring; the material was bigger than the budget, and the model can’t rank what it never saw. Another run re-proposed ideas the editorial plan had already claimed, until the avoid-lists were spelled out literally instead of implied. Almost everything Scout knows, it learned by being wrong in a logged, reviewable way.

This week it grew up twice. First, it stopped being a passive reader: Scout now digs before it pitches, pulling files from whichever repos the week’s material makes interesting (this Saturday it read another project’s design brief, and its own, before ranking anything). Second, and better, my reactions became data. Every pitch now arrives as its own Discord message with a 👍 and 👎 pre-seeded, and my verdicts land in a taste log that feeds straight back into next Saturday’s run as worked examples of my bar. Only verdicts count: a pitch I never react to records nothing, a rule I had to insist on, because the first version of the design treated my silence as a soft no. Silence isn’t feedback; it’s just silence. It’s my red pen again, the same feedback loop my email agent runs weekly, pointed this time at editorial judgment. The scout is learning what I’ll actually say yes to.

The Saturday loop: the week’s paper trail feeds an agentic dig, the ranked slate lands in Discord for thumbs, each thumbs-up opens an interview thread, and only when every interview is answered does an unattended drafting session run; the taste log and the finished drafts feed the next cycle.

One rule fell out of watching it work: I originally capped the slate at three pitches, and the cap was doing a job the quality bar should do. Some weeks genuinely hold five stories, others none, and surplus approvals queue nicely across quiet weeks. So the ceiling is gone, replaced by a stack-ranked “everything above the bar” and an explicit instruction not to pad. The night the cap came off, invited to pitch more, it added exactly two. The bar held, which is all I ever wanted the number to do.

The newest piece closes the loop end to end, and the trigger design is the part worth explaining. A thumbs-up doesn’t start a draft; it starts an interview. The bot opens a thread under the pitch with six questions tailored to it: what happened or what I use it for, why it was worth my time, what I decided and what else I considered, whether anything surprised me, what works now and what’s still inconvenient, and how I’d explain it to a friend. “None” is an acceptable answer to any of them. I answer by rambling into the thread, and the answers are saved verbatim as the post’s source material. Only when every approved pitch has its interview does drafting start: the bot hands the candidates and their packets to an unattended drafting session with the same writing guide and checks a live session has, full drafts land on a private preview branch, and Discord tells me they’re ready. The interview came out of an outside audit of this blog’s voice, whose sharpest note was that a draft from my logs alone gets the facts right and misses the one thing only I can supply: why I cared. Publishing, to be clear, is still mine alone; the machine’s autonomy ends at a draft flag it is not allowed to flip, and I have something to read over my Sunday morning coffee.

Scout read a week in which I upgraded Scout, decided that was a story, and pitched it; I thumbed it up; the draft got written, and my red pen turned it into what you’re reading; and next Saturday, Scout will find this post in the published list and know not to pitch it again. What it knows about my taste after a month of verdicts, and whether it starts surprising me, is a question I genuinely can’t answer yet. And that unpredictability is the fun of it.