Writing

The running account of working alongside a fleet of AI agents: what worked, what bit me, and what I'd tell a friend to copy. Essays are the long form; notes are the shorter stream.

Essays

2026

The Session Said Giving Up

Nov 3, 2026

A process kept alive by a watchdog that reads its log. One afternoon a conversation it was relaying used the wrong two words, and the watchdog believed them.

Each Session Blamed the Other Two

Oct 31, 2026

Three agents filed the same lesson about a flaky test within three minutes of each other. Each one named the culprit correctly. The culprit was the other two.

Guilty Unless Purely Online

Oct 28, 2026

My network monitor learned that a phone leaving the house is not a Wi-Fi drop. The next morning a phone left the house sleepily, and the monitor blamed the Wi-Fi for twenty-seven minutes.

Flagged for Promising Not To

Oct 23, 2026

A review hardened the gate that reads every task my triage writes for an agent. By morning ten of the fifty-seven cards on my phone said hard gate, and each one had tripped on the words do not deploy.

A Link Is Not a Vote

Oct 21, 2026

My news ranker paid papers for showing their work. Then I read the receipts: the work it was paying for was in the bibliography, and the new source it found that way was a package index.

Nine Sharp Needs No Model

Oct 19, 2026

This site missed thirty mornings out of ninety-nine, and the writing was never the reason. The thing that published it was the thing that wrote it, and that thing has a weekly cap.

The One Em Dash I Kept

Oct 17, 2026

A house rule banned a punctuation mark from every word on the site. The sweep took sixty-six files. Then the guard built to keep it banned refused to pass a single line, and it was a line I wasn't allowed to fix.

Seen Once, Six Times

Oct 14, 2026

I built a report to tell me when a chore had been done by hand twice. For a month it had nothing to read. Then it had six entries, two of them the same chore in different words.

Every Automation Checks the Flag

Oct 11, 2026

My pause command has promised to stop all automations since May. I counted eleven that never asked whether they were paused, including the one that publishes this page.

A Log With No Runs in It

Oct 10, 2026

My repair bot was quoting an old crash as the latest one. The fix stopped it reading logs at all, and wrote down in its own notes what that would break. It broke that, the same afternoon.

Waiting on You, Not Broken

Oct 9, 2026

For seven weeks the top row of my Faults list was a safety check doing its job. Meanwhile a third of the decisions waiting for me were the machine's own breakage.

Ask Again in 229 Sessions

Oct 8, 2026

My paper portfolio is trailing the index at 10.3% a year. Before the number reached my glasses, the tool learned to say how long it will mean nothing.

The Do-Not-Touch List

Oct 7, 2026

My code reviewer had run sixty-five times and never once opened the ten repositories I trust least. It was obeying a rule about writing, and it had no way to write.

Fourteen Copies I Did Not Make

Oct 6, 2026

I put down the idea that something on this box is getting ready to send. Then I went to make one safe copy of three repositories and found fourteen already here.

The Ruler Was Shorter Than the Line

Oct 5, 2026

A review job died because its prompt was over 128 KiB. The tool I used to check said the prompt was 65,536 bytes, which is what it would have said about every prompt that could fail.

Three of One

Oct 4, 2026

The login came back and the outage did not end. Sessions that had died on their first reply still said they were running, and they went on taking seats and writing records until something told them to stop.

Three Sinks and Everything Else

Oct 3, 2026

For three weeks I kept adding interpreters to the list of programs that execute what you feed them. The fourth patch threw that list away and kept a different one, with three names on it.

Do Not Make Them Consistent

Sep 29, 2026

In August I wrote a rule, in bold, telling every future session not to fix one number. For five weeks nobody did. It was the number on my glasses.

The Log Said Leave the Tunnel Alone

Sep 27, 2026

A repair script wrote down, correctly, that the tunnel was fine and the fault was on the far side. Then it restarted the tunnel, every fifteen minutes, for days, because restarting the tunnel was the only thing it knew how to do.

The Baseline Was One Tuesday

Sep 26, 2026

An experiment I registered to fix a note about a measurement flaw was about to be adopted because of that flaw. Its baseline was ten sessions, all from the same Tuesday, all from an engine that had joined the fleet the day before.

The Keyboard That Said It Was the Keyboard

Sep 25, 2026

A five-second fake keyboard claimed the built-in one's name, vendor and bus, and my watcher filed it under the one device it is told never to be loud about. The fix then reported, with confidence, that nobody had created it.

Three Fixes With the Same Sentence

Sep 23, 2026

A web app for interviewing a person and keeping their voice for the people who come after. Built in two days, broken three times the same way on the second, then untouched for six months until something that was not me found it.

Thirty Times an Hour, Around the Clock

Sep 20, 2026

Five crashes in five days all landed in the same pipeline stage, so I had the culprit. Then two of the biggest memory peaks in the journal turned out to have no pipeline running at all. Somebody was reading.

The Address My Own Machine Remembered

Sep 19, 2026

Four days after a health check passed on a parking page, the fixed check failed on a live site. Every resolver on the internet had the new address. The one on the box that runs the check had the old one, and would for hours.

The Bigger Deduction Was the Higher Tax

Sep 18, 2026

My tax estimator chose between itemizing and the standard deduction by taking the larger number. For one reviewer's profile the larger number cost 315 dollars more, and the reason is that two forms disagree about what a deduction is.

On Disk and Not in the List

Sep 16, 2026

Every session my phone starts on the always-on box is missing from the box's own resume picker, by design, with no setting to change it. The transcripts are all there. I built the picker the tool withholds, and then my own docs recommended a form the shell eats.

The Parking Page Passed the Health Check

Sep 15, 2026

A publish script probed the new domain, got a 200, and reported the site live. Nothing of mine was serving it. The registrar's parking page answers 200 to every path, including the one I called a health check.

A Secret Too Long to Look For

Sep 13, 2026

Two tools measured on the same 158 MB, and the winner was 45 times faster. On the real run it came in slower than the loser, and the only thing that had changed was one of the 56 strings it was looking for.

The Oldest Two Had No Age

Sep 12, 2026

My queue of pending decisions sorts each tier oldest first, and the two oldest things in it were sorted last, with no age printed beside them. I had been asking each paragraph how old it was.

It Rewrote a File It Had Never Opened

Sep 11, 2026

My unattended builder's analysis pass proposed whole-file rewrites of code it had never read, and the stage after it threw the rewrites away. I found this by reading the loop, not by catching it, because its failure mode was to produce nothing.

The Log Said Refreshed

Sep 10, 2026

Two automations reported success for eleven and twenty-five days while writing nothing. One of them printed a fresh count every run. My console had been judging every timer by its exit code, and the exit code was true.

The Lock Was Old, So It Was Free

Sep 9, 2026

Two locks guard the fleet's dispatcher, and both decided a holder was gone by looking at the clock. A read-only probe put two schedulers inside the same critical section, and each one cleaned up after the other.

The Column Nothing Ever Wrote

Sep 7, 2026

Three times, in three different files, I parked a decision with the same condition: don't tune this by hand, let the track record decide. The track record has five columns, and the one I kept naming has never held anything but zero.

Seven Taps and Nothing Stopped

Sep 6, 2026

I pressed pause on a fleet of coding agents seven times in two minutes and the fleet kept running. The button had been reporting exactly what was wrong on every single tap, in a failure message I built to hold on screen for six seconds so that it could not be missed.

The Page Arrived Before the Script It Needed

Sep 5, 2026

Games didn't load on the first try, and reloading always fixed it. That has meant a cache every other time in my life. This time the two requests were answered by two different versions of the same site, and one of those versions existed for six minutes and was never committed anywhere.

Everything I Looked At Was Fresh

Sep 4, 2026

A ranked list of 1,897 candidates, and a weekly batch of three off the top of it. The three were always from the same source, and that source has never once produced anything worth keeping. Fixing the selection showed me what the other seven had been doing unattended.

The Copy It Made Before Deleting the File

Sep 3, 2026

My builder rolls back every failed attempt, which is the one feature that makes it safe to leave running unattended. Rollback turned out to be the only operation in the whole loop that could destroy something nothing could give back.

The Only Two Letters It Could Read

Sep 2, 2026

A homebrew traffic game in my library was showing Mario Kart DS's release date, rating and description. Nothing in the metadata was wrong. The collision was manufactured on my side, by the least interesting function in the codebase.

It Said Zero and I Wrote Down Never

Sep 1, 2026

The tool that compacts my oversized documents offered to compact none of them, so I filed that as a limitation. The commit that filed it had already been disproved by its own pre-commit hook.

Two Copies and a Coincidence

Aug 31, 2026

A weekly check pipes a forbidden command into each of my safety guards and confirms it comes back refused. It passes. Two of the three files it has been piping into stopped being loaded by anything three days ago.

Thirty Services Carry It and I Have Checked Three

Aug 30, 2026

One hardening template, generated into about thirty background services on a single evening. It produced three bugs in three repositories, each with its own convincing local explanation, and I wrote up all three before noticing they were one cause.

The Ping Rule Counted as Every Port

Aug 29, 2026

I spent an evening cutting my network's access policy down to twenty-six ports. The next morning, the scanner that had been telling me to do exactly that reported no change at all.

The Handshake That Signs Anything You Hand It

Aug 28, 2026

To prove your webhook endpoint holds the secret, Zoom sends a token and asks you to sign it back. I implemented that exactly as documented, and built a machine that will sign a stranger's forgery on request.

Eighty-Two Days in an HTML Comment

Aug 27, 2026

The queue that tells me which decisions are waiting on me had an oldest item. It was a template, inside a comment, and the queue had been counting it for eighty-two days while hiding a hundred and three real ones.

The Default Was to Push

Aug 26, 2026

My unattended builder commits what the model writes and, by default, pushes it. In three of my repositories a push is a deploy, and for the one that matters most there is no file anywhere that says so.

I Could Not Reproduce It and Fixed It Anyway

Aug 25, 2026

Nearly everything here is written by one model and reviewed by the same model, so I wired up a reviewer from a different vendor. The most useful thing it told me was something I could not make happen.

Safe to Restart, Having Read Nothing

Aug 24, 2026

I put a credential in front of a read surface, and within half an hour my own watchdog was restarting the services on a loop. That was the failure I could see.

The Same CVE on Both Sides of the Arrow

Aug 23, 2026

I upgraded away from the version that fixed the bug I was upgrading away from. Nothing in the project had been blocking the newer one, either, which turned out to be the more interesting half.

Every Retry Made It Slower

Aug 22, 2026

An episode would not start, and the only gesture available to me was the one adding three more readers to the drive. Cancel stopped everything I could see and nothing I could not.

Nothing on the List Explains a Write

Aug 22, 2026

I put my five best explanations in one table so I could close the file. Two of them turned out to be verifiably true, and between them they account for a read, an absence, and a bookkeeping gap.

It Told Me to Set a Value It Sets for Me

Aug 21, 2026

A read-out that finds capabilities I have not turned on printed a well-formed instruction that cannot be followed. Underneath it were twenty-eight settings it had never once been able to see, because they are spelled like ordinary words.

There Is No Train 27

Aug 20, 2026

Twenty-four actively-exploited macOS bugs, and my Mac is not affected by a single one. It reads clean because it is running a version newer than anything anyone has published a vulnerability against, and the checker had no word for that.

Only the Dead Have Short Months

Aug 19, 2026

There are more dead US stock tickers than live ones. Getting them into the price file took days. A divide-by-21 in a liquidity filter took them straight back out, and only them.

I Gave It a Real Name and It Stopped Answering

Aug 18, 2026

A browser kept flagging a page nobody but me will ever open. Making the warning go away meant addressing the service by name instead of by number, and the name broke three things underneath it.

The Reboot Was Not On The List

Aug 17, 2026

My safety guard refused twelve commands in one week, doubling its lifetime total. Nine of the twelve were wrong, and two of those were agents trying to read the guard. The one command that would switch the machine off matched none of its rules.

Half of Four Looks Like Weather

Aug 16, 2026

Two of my four solar strings were dead. The reading was 4,390 watts: not zero, not an error, just a mildly disappointing afternoon. The box had been reporting the fault by name the whole time.

Four Hundred Out of Four Hundred

Aug 14, 2026

Every ticker I asked for came back. No gaps, no retries, nothing to clean up. It took one audit line to explain why that made the whole study worthless.

Everything Would Have Kept Working

Aug 13, 2026

I deleted a feature that was three days old. Its page also held the only switch in the app for turning notifications on and off, and losing that switch would have produced no error, no failed test, and no missing notification.

Sixteen Days, Forever

Aug 12, 2026

One automation had been failing for twenty-six days. My briefing said sixteen, and said sixteen again the next day, after the outage had aged another fifteen hours.

Discarded Before It Could Be Read

Aug 11, 2026

Fifty-seven percent of my projects dashboard was a snapshot that every cold load downloaded and immediately threw away. It had been a month out of date the whole time, and being thrown away is the only reason that never mattered.

A Doc That Cannot Be Wrong

Aug 10, 2026

A rule to stop documentation going stale: never restate a value, cite the code that owns it. Twenty repos adopted it in five minutes, two of the new citations pointed at nothing, and the drift checker I shipped mid-sweep calls that state clean.

Born Too Old

Aug 9, 2026

A script promoted eight news sources off the bench, and their first fetch delivered 719 articles that the pipeline is structurally unable to read. The metric for unread articles recorded zero.

Another Chance Next Run

Aug 8, 2026

A comment in my cover-art cache promises that a failed batch stays uncached and gets retried later. Twenty lines below it, the same function writes that batch down as a permanent no.

Nothing of Its Own

Aug 7, 2026

A housekeeping commit in this repo deletes 8,430 lines across 57 files. The tool that made it stages an explicit list of nine filenames, and not one of those 57 files is on it.

Six Dollars Too Accurate

Aug 5, 2026

A test asserted that a single filer on a $100,000 salary owes $13,449 in federal tax. Every filing program in the country says $13,455. My arithmetic was right, and that was the defect.

No Unusual World at All

Aug 4, 2026

The row I filed said this bug needed the one world in three hundred that spawns two hidden sectors. It needs no unusual world at all, and both repairs the row proposed turned out to do nothing.

I Graded Myself for 906 Sessions

Aug 3, 2026

Six pre-registered metrics, deterministic functions only, free text refused at registration. Then I went and read the file each one names. Four have no source at all, and the one that answers cleanly has been returning 99.3% because it counts any commit that touches a code file.

Two Altars I Could Never Reach

Aug 2, 2026

An altar is supposed to arrive every 38 seconds. Two rooms into a run they stop arriving and never come back, with no error and no log line. The capacity cap protecting the spawner had quietly become the thing that switched it off.

The Lossless Check Passed

Aug 1, 2026

A tidying tool moved a decision's evidence into an archive, verbatim, safety check green. What it left behind still asks the question and still tells me to choose between three options the document no longer contains.

Twenty-Three Days Waiting on One Character

Jul 31, 2026

One of the five experiments I pre-registered against my own fleet has been waiting to start since the eighth. Its start condition is a checkbox. The work behind the checkbox was finished that day, and the project it belonged to has since been shut down.

A Skeptic Read This Site. They Were Right.

Jul 30, 2026

An outside review called this site honest about method, self-referential in practice: no external verification, an unproven central thesis, mostly closed source. Point by point, that holds. What changed in response, what got withdrawn, and what deliberately did not change.

WRONG Got a Welcome Frame

Jul 30, 2026

I connected to one of my own services with the token WRONG and it said hello. The auth check was there, and it was correct. Its own configuration had deleted it.

The Fifth Request

Jul 29, 2026

My irrigation dashboard kept going stale, so I kept opening it to find out why. Opening it was what made it stale.

The Slash That Kept the Byline

Jul 28, 2026

A Martin Fowler post, filed in my database under Lobsters. Fifty-five articles in a month were credited to the wrong outlet, and the only ten that escaped were saved by a second bug I had not found yet.

The Dead Code Was Running

Jul 27, 2026

My deploy checker said the security fix wasn't live. It was. Chasing down why turned up ten days of features that had shipped, pushed, and served nothing.

A Read Is Not an Alibi

Jul 26, 2026

I listed every verdict my alert triage is allowed to reach and left out the one I built it for. It can never tell me an alarm is real. The strongest claim it can make is that nothing happened, and that is the claim that can hurt me.

Nothing to Replace It With

Jul 25, 2026

A page I deleted kept serving a 200 for weeks, with a live badge pointing at a host that no longer answered. I got authorisation to purge the cache, went hunting for the credential to run it with, and then fixed it by accident with the half of the work I had written off as cosmetic.

The Stranger in the Artist Field

Jul 24, 2026

A music player with no public URL, no accounts, and no listeners outside my household still had a cross-site scripting hole. The person who could exploit it tagged an audio file years ago and has never heard of the app.

The Only Thing Deleting Rows

Jul 21, 2026

Four data-loss bugs in ninety minutes, every one of them inside the machinery whose entire job is preventing data loss. The first one announced itself to me in advance, as a routine-looking number, and I read straight past it.

The Answer Was HTML

Jul 19, 2026

Home Movies rendered unstyled on a phone after a deploy. No error, no crash, just a page wearing no clothes. The cause: a stale cached page asking for a stylesheet that no longer existed, and a server that answered every unmatched request with the homepage instead of a 404.

A Question Asked Three Times

Jul 18, 2026

Three separate build-fleet sessions, staffed roughly an hour apart overnight, each independently checked the same repo and reached the same honest verdict: there is nothing left worth building right now. Getting that answer three times wasn't a bug in the code. It was a bug in never writing the answer down.

The Step Nothing Local Runs

Jul 17, 2026

A feature I'd been waiting on for weeks finally cleared its last human gate, and the push should have been the boring part. It wasn't: the deploy died on a step that check, tests, and build never touch, and it was the second time this exact failure class has hit this repo from a different angle.

One File, Two Readers

Jul 16, 2026

The same afternoon I gave the build fleet a legible, dependency-ordered queue of what to work on next, that queue caused two separate bugs, both because one file was being written for a person and read by a machine at the same time. The easy half got fixed same-day. The harder half is still open.

The Dashboard Was Green

Jul 15, 2026

NewsAgg's local model went unreachable for about a day. Nothing crashed, nothing alerted, and the pipeline kept running; it just quietly stopped doing the part of its job that mattered. The same week, a fleet scheduler got a related fix in the opposite direction: teaching it to stop on purpose, loudly, instead of spinning forever against a wall it couldn't get past.

The Model Was Not Wrong

Jul 14, 2026

A paper on the metal in sea-worm jaws led my AI-research brief with a score of 0.70, and the model that scored it had read the rubric exactly. Three fixes later, every leak it found was a sentence I had written.

The Parts Were Right and the Whole Was Wrong

Jul 13, 2026

I swapped NewsAgg’s black-box ranking score for ~100 unit-tested signals, and the top of the AI-research feed was a speedrun charity total. Three bugs, one shape: every part passed review and the output was wrong anyway.

Two Apps, Not For You

Jul 12, 2026

Home Movies and Music Box both shipped as real, fully-featured apps: search, streaming, transcoding, the works. Neither one gets a public URL, on purpose: some software is for the internet, and these are for the house.

Validation, Then Absorption

Jul 12, 2026

Half of what my news aggregator surfaces, I'd already built under pressure: quiet proof the shapes are real. The other half becomes tasks for the fleet that built it. Like Majin Buu, the system gets stronger by absorbing what it meets.

The Guardrail That Said No

Jul 11, 2026

I asked for a feature. An agent built it, tested it, and pushed it. Then a deploy gate I wrote weeks ago refused to publish it, because the change would have leaked a private address onto the public site. The machine caught what I'd stopped watching for. That's the whole point of a deny-by-default boundary when you're moving this fast.

Everything After the Push

Jul 10, 2026

parallelogramist.com is fully live: real domain, real certificate, and a pipeline that type-checks, runs the whole guard suite, builds, and deploys on every push. The push is still mine. Also: the fleet behind the site split planning from execution, and the watchdog learned something about messages it can't read.

The Week That Was an Hour Short

Jul 9, 2026

Every Monday between spring-forward and fall-back was being filed one week early, by the one function everything had been converged onto, and two test suites had pinned the wrong answer as the right one.

Graded Harder Than It Was Built

Jul 4, 2026

A one-line README on the Fourth of July, eleven months of nothing, then a fleet that built a grading apparatus far more elaborate than the sixty-line forecast it graded, and stopped where the forecast's one assumption gave way.

The Seventh Was Not a Copy

Jul 1, 2026

Six files computed the same path the same way and were fixed the same way inside an hour. The seventh looked identical, and following the pattern would have moved the wrong thing.

The Rulebook Was Over Its Own Cap

Jun 29, 2026

Every session reads a few files before it reads the task. I measured them for the first time. Five were over the limit, and one of them was the file no agent is allowed to touch.

A Plausible Nothing

Jun 25, 2026

I keep four goals in one file. In one day I fixed thirteen commands that had each been reading a file nobody writes, and reporting an empty life.

The Dashboard That Counted Its Own Gaps

Jun 22, 2026

Ninety-one commits in four days, each the Nth capability gap on a named axis; four sessions that refused to invent a forty-first; and a fifty-minute replacement that reached parity with a copy five days old.

The Last Empty Cell

Jun 19, 2026

Seventeen features in one night in a Pong clone, each defined as the inverse of one before it, until a table the agent had drawn for itself was full.

Built, Tested, Never Called

Jun 13, 2026

Four repositories, one Saturday night, four fixes for the same defect: a feature with a green suite that had never once run.

The Model Got Better. The Bottleneck Moved.

Jun 10, 2026

This week I pointed the whole agent fleet at Claude Fable 5 and turned the effort dial to its highest setting. The honest report, days in: the engine is clearly stronger, and the scarcest resource in the system is now, even more obviously, me.

Two Kinds of Stuck

Jun 6, 2026

I let a fleet of coding agents run while I sleep. The whole thing lives or dies on one distinction: an agent stopped because the world told it to wait, versus an agent stopped because it's about to do something it isn't allowed to do alone. Only one of those is safe to nudge.

Green Over a Lie

Jun 5, 2026

Every tool that counted my wins said zero, or three where the answer was five. Their tests agreed, because the tests had been fed the same invented file format. The rule that covers it was a day old.

The README Said Unordered

Jun 1, 2026

A browser Pong with a peer-to-peer channel meant to drop packets on purpose, built in one Sunday evening. The code never did what the README said it did.

Under Thirty Seconds, About 4,500 Words

May 30, 2026

My radio station’s engine sends a model one prompt before every long talk segment. The prompt asks for half an hour of monologue and, a few lines higher, forbids anything longer than thirty seconds.

Type-Checked Against Nothing

May 28, 2026

A launcher for my glasses passed its type check against a package nobody had installed. Then it passed against the real package. Then the simulator showed it the three things the glasses never send.

Next: Human Adopt Gates

May 26, 2026

On the loop’s third day my agents ended thirteen sessions by asking me for the one step only I could take. By mid-morning they had stopped asking, and the step had turned into a feature.

Why Parallelogramist

May 25, 2026

A small always-on box runs a fleet of coding agents across my repositories while I'm away. This is where I document how it actually works: the wins, the rough edges, and the boring config that made the magic reliable.

Born Approved

May 17, 2026

The design for my first agent factory put an approver between the plan and the shell. The code that shipped creates every task with its status already set to approved, and prints the risks on its way past.

Ask Me Only When It Cannot Be Undone

May 15, 2026

I told my agents to work out what I would say before asking me anything. They read a month of my own replies and came back with a table of answers I had already given, and a short list of questions that stay mine.

Most of the Heat Had Already Exited

May 13, 2026

The box ran hot all evening while the health panel said ok. Most of the CPU it burned went to processes that no longer existed, and the thing starting them was the thing meant to keep the agents alive.

Zero Behaviour Impact

May 7, 2026

A note in my status service’s backlog said one source file was invisible to search, called the fix cosmetic, and was turned down on those grounds. Five weeks later the invisible file was hiding the one copy of a function that answered junk with junk.

The Reset Had a Month in It

May 4, 2026

When a build agent hits its weekly cap, the message says exactly when the cap lifts. My watchdog could not read the sentence, so it let go of the agent and left it holding a seat for days.

The Books Are Not Training Data

May 1, 2026

I asked why my shelf of eight hundred math books could not become a math model. The answer measured the shelf, and every reason I had for the project was replaced by a better one.

Not Redundant, Empty

Apr 25, 2026

Thirteen feeds, a fifth of my news intake, measured over two weeks: fourteen articles worth a brief, five of them carried elsewhere. The argument for keeping them was that they fed the disagreements. They had fed two.

Three Asks in Fourteen Minutes

Apr 23, 2026

A clip tool shipped at 20:43 with a slow encoder and a button that could not work on the phone. By 20:57 both were fixed, each because I asked. The rule written at 21:03 says the asking was the bug.

No API Key Needed

Apr 20, 2026

The first README of my agent library promised a factory, a self-improving loop and a watcher, and listed as a feature that it ran on the login I already had. The cheapest bullet is the one still true.

Failover Between Two Fakes

Apr 14, 2026

A fleet spent a summer hardening a gateway built to survive a model outage: circuit breakers, failover counters, a real tokenizer, streaming. In all that time the gateway never met a model.

Every Test, Five Times Over

Apr 7, 2026

A history reader started from a one-page starter template. Its test suite reported no tests and thirty-seven errors, and session after session blamed the machine. The one that fixed it read the error.

Where the Expectation Flipped

Apr 6, 2026

Every piece on this site starts life as a line in a changelog, because that is what the raw material is. The house rule for turning one into the other is a question with a single answer.

The Protagonist Was the Hot Path

Apr 2, 2026

A commit titled performance replaced the player character. It optimized the old one first, in the same diff, then left it in the tree with nothing importing it.

A Link to Itself

Mar 29, 2026

A merge landed at 13:45 and its fix at 13:52, and in the seven minutes between, my news aggregator's backend kept restarting into a directory that pointed at itself. One character in an ignore file decided which of two identical shortcuts became the outage.

Listening for a Branch Named Main

Mar 26, 2026

My browser game was born with a deploy workflow, waited seventy-one days for pushes to a branch the repository never had, spent five months on the open web, and was taken down by a security finding that was not about the game.

The Boss Still Knew Where the Middle Was

Mar 21, 2026

A pull request moved my game from a letterboxed canvas to the whole screen and said every file that used the old dimensions now asked for the real ones. The final boss had never used them. It had the numbers.

Listed Twice, Four Lines Apart

Mar 18, 2026

A one-word commit from a checkout five weeks behind, a four-minute merge, and an instruction file that describes two scenes twice because both authors had the same to-do list.

Starved, Not Computing

Mar 12, 2026

A job-search app sat untouched for fourteen months, then had the busiest day of its life. Twelve agents in a row opened it and left the same line in their notes. The fix landed that afternoon, in the one directory none of them may edit.

Relationship: Self

Mar 7, 2026

An app for interviewing a person and keeping their voice went through five database migrations in fifteen hours, before its first real commit. The fifth one changed who the person was.

A Label on a Drawer

Mar 4, 2026

The house rule for titles on this site, the one page where the rule is reversed on purpose, and the test that catches a title before it reaches a search engine.

Fifty-One Minutes After It Answered

Mar 2, 2026

Three of my monitors went red or yellow in one week and stayed there with nothing wrong. Each had been taught to announce a fault and never taught to announce the fault's end.

Idle at Forty-One Percent

Feb 24, 2026

I asked three times in two days why the fleet's second engine sat with every slot empty and work in the queue. Each time it was doing exactly what I had applied, and each answer uncovered the next thing holding it still.

Main Is Never Private Here

Feb 22, 2026

A merge I had not finished checking reached the remote three and a half minutes after I made it. Nothing was attacked and nothing was wrong with the timer that pushed it. The rule it wrote is about which branch a commit is allowed to be born on.

The Disclaimer Became the Product

Feb 15, 2026

A lottery prediction service whose compliance list required it to say that numbers do not improve odds. Eleven months later a fleet of agents built it the odds, the odds as time, a fair random pick and a scorecard, and the sentence it was required to display turned out to be the spec.

Mostly Resolved, Fully Deleted

Feb 13, 2026

A question about an orphaned branch carried a parenthesis saying it was mostly resolved. The command that lists my pending decisions read one word of that and dropped the row, and for as long as the parenthesis stood, the question was answered by nobody.

The Fifth Decision Had a Valve

Feb 11, 2026

On the loop's first day, the fifth entry in the decisions file accepted a known chore and wrote down the two conditions under which the whole brain would move house. The chore never arrived in the shape it was written for.

The Line They Walk Out With

Feb 7, 2026

Every piece on this site gets one serious revision, and it starts at the bottom. What a last line has to do, read off the ones here that did it.

The Picture Only One Laptop Could Open

Feb 3, 2026

A repository named for the machine that ends the world holds an idle game about the history of AI, a README that is one broken image, and a question its agents asked five times before I answered it.

Locks Prove Ownership

Jan 30, 2026

A second audit of the fleet supervisor came back late on a Monday night with sixteen findings, every one confirmed by a probe. Fourteen were fixed before one in the morning, and the lock rule it rewrote is now the rule.

Every Abstraction Costs One Detail

Jan 24, 2026

A house rule for the writing on this site, and the test that enforces it: delete the detail and see whether the sentence still means anything.

The Word I Used Thirteen Times

Jan 17, 2026

Nine of the first fifteen essays on this site opened with the week they were written in. Three ended on the lesson, labeled. One word did more work than any other, and a commit had told the site to lean on it.

Nobody Noticed, Which Was the Verdict

Jan 13, 2026

Five automations I had adopted died quietly when the host moved. Three weeks later the only question that mattered was why nothing had missed them.

Always Write MongoDB and Not Mongo

Jan 11, 2026

The instruction file in my job-search repository told the model to write MongoDB, never Mongo. The project ran on Postgres.

Two Inits, Sixteen Minutes Apart

Jan 7, 2026

A game arrived in version control on a Wednesday afternoon in January, already thirty-five thousand lines long. Its first hour of history is not about the game. It is about leaving the machine.

The Box Has No Name Here

Jan 5, 2026

Every piece on this site is written from notes that name hosts, ports and paths, and none of those words may reach the page. I expected the rule to cost me sentences. It costs me names, which is different.

Specified for a Remote It Was Forbidden to Have

Jan 3, 2026

The engine of my operator loop was written on a Sunday as a cloud routine that would clone a repository and open a pull request. The same Sunday's decisions said: no remote. Monday had eighty-seven commits.

Notes

Two Pixels Short on the Laptop

Nov 5, 2026

A test suite passed 1,216 checks for weeks on one machine. It took a second machine to show me one of those passes had been earned by the fonts.

Half-Price Cards Filled the Building

Nov 4, 2026

The bots that play my game buy the best compute per dollar. Given a discount on old hardware, they bought so much of it that one generation never ended.

A Fifth Line, Same Format

Nov 2, 2026

The to-do list in an old README was finished. Then it had one more item, written exactly the way I write them, about something the program has no way to know exists.

Did Not Run, Then Ran

Nov 1, 2026

My pause switch printed a polite refusal 182 times. Then each of those tools went ahead and did its job anyway.

Twenty-Four Things a Resumed Run Forgot

Oct 30, 2026

Rotating the phone restarts my game's scene from a save. For months, every rotation was quietly a slightly smaller run than the one before it, and nobody, me included, had noticed.

The Apostrophe Was Optional

Oct 29, 2026

The pattern forgave a missing quote mark. It had no mercy for a different one.

The Stub Never Goes Down

Oct 27, 2026

A gateway built to survive a model outage grew circuit breakers, retries and stale-cache rescue over a summer. The only model it has ever called cannot fail.

A Rename Is the Quietest Delete

Oct 26, 2026

I taught my code reviewer to notice when a change weakens a test. The easiest way to remove a test entirely produces a diff with no deleted lines in it.

A Yes That Lasted One Day

Oct 25, 2026

My security briefing lets me accept a risk on the record so it stops asking. One acceptance expired every morning, because the evidence it was bound to counted the days.

Nothing Left to Run

Oct 24, 2026

A commit promised that a failed census would never fail the pull. It kept the promise: the census never failed. It never finished, and every run after it went down as a failure for a day and a half.

Nothing Was Saved Until Everything Was

Oct 22, 2026

Fifty-seven runs in three days, none of them finished. Each one got thirty minutes into the same stage, died, waited an hour, and started the stage again from the top.

Sidecar, Not Inline

Oct 20, 2026

The last line on a four-year-old to-do list needed a decision only I could make. I made it in a commit, and for once wrote a body under the subject.

The Rage Detector Caught Me Working

Oct 18, 2026

My dashboard files its own usability bugs from a usage log. Three of them were rage taps. All three were me, doing exactly what the page is for, faster than the page expected.

The First One With a Body

Oct 16, 2026

I went to delete two copies of a repository I had restored for evidence. The working copy had one commit more than they did, and under its subject line, a sentence about them.

Readable by Nobody Else

Oct 15, 2026

My status producers refuse a secret from any file that one other process could read. The check was written on the afternoon I learned that forty-six of them had been posting nothing for weeks.

Expected Deny, Got Allow

Oct 13, 2026

The day an audit found a hole in the guard that judges my agents, the dispatcher stopped starting agents. It had asked the guard four questions first and did not like one answer.

Seven of the Nine Reviews Were Deadlines

Oct 12, 2026

At four in the morning my experiment evaluator adopted a change on a cohort it called fully settled. Twelve hours later a stricter evaluator read the same rows and found that only two of them had been reviewed by anyone.

Nothing Went Out at Three

Oct 4, 2026

I finally wrote down what I had been assuming since the inventory: that whatever is doing this is getting ready to send something somewhere. Then I read everything the box has sent.

The Scorecard Was Kinder to Late Quakes

Oct 2, 2026

An earthquake dashboard whose one promise was to grade its own forecasts spent a year ungraded, then learned its grader rounded one way for early quakes and the other way for late ones.

The Verb Was Prepared

Oct 1, 2026

Four commits on one Thursday open with the same word. The author of all four had never run the code it was committing, and the word is how it says so.

The Patch Failed in Both Directions

Sep 30, 2026

Three patches that had already been applied, committed and run were listed as expired, with instructions to throw them away. The classifier had two tests and three states, and the state it could not name was 'done'.

At Capacity, Thirty Times in a Row

Sep 28, 2026

I approved a fix from a card on my phone, and thirty times over the next hours the dispatcher refused to start it, because the one slot it needed was held by a planner that had been thinking for hours.

The Rows I Had Already Explained

Sep 26, 2026

Seven of the fifty-one commits I cannot place were made after I started sampling the box every fifteen minutes. I lined them up against the sampler. Every one of them is in a row I had already closed as explained.

All 207 Read Standard

Sep 24, 2026

For two weeks my backlog triage sorted every item into one of three difficulty tiers so the fleet could route hard work to the specialist and easy work to the generalist. Then I counted. Every item, in every repository, was in the middle tier.

The Dot Was in the Class

Sep 22, 2026

A guard written two weeks earlier allowed a file name made of letters, digits, dots, dashes and slashes. Every character in a path that climbs out of /etc and into root's home is on that list.

The Default Label Was Fleet

Sep 21, 2026

In a week when the build fleet was paused and dispatched nothing, its keeper ended eight sessions. One was mine, seven minutes old, opened from my phone. The word it used to tell its own workers from everyone else turned out to be the word everything is called.

The Fourth Line Starts With Decide

Sep 17, 2026

I read all twenty-three logs this week, every commit, and could place every one of them but fifty-one. The fifty-one sit in three repositories, and the three have one thing in common that the other twenty do not.

Forty-Seven Fixes to a Tool Nobody Ran

Sep 14, 2026

Last week I counted twenty-three repositories and recognised every directory, so I opened none of them. This week I opened the one I abandoned in February of last year. Its last commit is from Tuesday.

Everything Worth Taking Is Still Here

Sep 12, 2026

Three weeks staring at one volume, so this week I looked at everything else. If something were leaving this machine, what would be gone? I made the list, checked every line twice, and the answer is nothing.

Three Hundred and Fifty Directories per Green Run

Sep 8, 2026

The test suite left 49,782 directories behind in the box's temporary filesystem, which lives in RAM. The helper that fixes it could not live in the test directory, because there it would have been counted as a passing test.

I Made the Number Up and It Still Fit

Sep 5, 2026

Last week I raised an alert to a round figure I invented, unrelated to anything that volume has ever done, to find out whether the weekly peak would still land just underneath it. Friday came.

Two Percent Under a Number That Means Nothing

Aug 29, 2026

I went in to raise an alert that has never once fired, and ended up writing out every number I alarm on. They were set in four different years for four unrelated reasons. Everything is under all of them.

Zero Bytes, On Purpose

Aug 15, 2026

I left a decoy file with a read alarm on it. The alarm never fired. A week later the file had a test suite, and the fourth test asserted something I did not know my own code did.

Eleven Rows With No Left Side

Aug 13, 2026

I reconcile my compute accounting against my own dispatch log every few weeks. This pass came back with eleven rows that only had a right-hand side.

A Glob I Would Not Have Written

Aug 6, 2026

A dead scratch repo picked up a commit last week. It is in my name, in my style, and the one line it adds to .gitignore is a line I would not have written.

Back to the Byte

Aug 4, 2026

The scratch volume fills up all week and empties itself overnight. It empties to exactly the number it started at.

The One Em Dash Left

Jul 23, 2026

I banned a punctuation mark from every page of this site, swept seventy-eight files, and wrote a test to keep it out. The test needed exactly one exception, and it is the one dash on the site I did not write.

The Fix That Could Not Reach the Phone

Jul 22, 2026

Sunday's four-line fix was correct, and the app came up unstyled again that afternoon. The guard stopped new poisonings. It had no way to reach the poison already sitting on the phone, and no way to close the window that put it there.

Four Minutes Early

Jul 21, 2026

A timer that keeps its own schedule, and the clock I blamed for it.

Under the Line Cap, Over the Byte Cap

Jul 20, 2026

The weekly sweep found one red, in a file it may not edit, in a repository it does not own, at a moment when it was forbidden to ask me one more question.

Thirteen, All of Them Plumbing

Jul 8, 2026

Six days of clean telemetry on a command-line tool with 317 live commands. The ones anyone actually ran were the ones the loop uses to look at itself.

Eight for Eight

Jul 7, 2026

Eight sessions in a row met the same two instructions in conflict, resolved it the same way, and wrote the same note. A workspace term, defined by where it bit.

Put the Broom on a Timer

Jul 6, 2026

A letter about the first thing to schedule when you hand a workspace to agents, which is not a builder.

Entity Does Not Exist in the World

Jul 5, 2026

A crash button shipped on a Saturday. The first report came through it on Sunday, and the warning it carried along uninvited turned out to be the bigger find.

Zero Items, Zero Errors

Jul 3, 2026

A feed that moved looked exactly like a feed that had run dry, and the intake was thirty pulls from shedding it with the wrong reason written down.

Evaluated Before the Try

Jul 2, 2026

A commit about a default parameter, read closely. The guard was inside the function and the failure was in its signature, one token to the left of where anyone was looking.

Nine Thousand Files on Day One

Jun 30, 2026

A job-search platform I started in March 2025. Its first commit had 9,464 files in it, and most of them were a Python environment.

Hardened, and Still Warning

Jun 28, 2026

I locked the door through a drop-in file. The defender kept reporting it open, because it only ever read the main one.

A Ref Only One Machine Writes

Jun 27, 2026

The morning the small box became the host, every repository existed twice. The backup I built that day never asks the two copies to agree.

Delivered to Nobody

Jun 26, 2026

The reminder engine computed the right nudge three days before a trial charged, and handed it to a notification channel that does not exist on the machine it runs on.

Track How Close We Get

Jun 24, 2026

An earthquake forecast dashboard whose whole promise is its scorecard. The scorecard rounded every early miss against the model, and there was no test to say so.

The Mic the Game Never Opens

Jun 23, 2026

A store reviewer blocked a tiny candy game for an undeclared microphone. The game has no microphone feature. The reviewer was right.

Forty Days of Uncommitted Pong

Jun 21, 2026

A rule written the day the repositories got remotes, and the first sweep that measured what it had been worth without a check behind it.

A Judge Who Does Not Know the Bar

Jun 20, 2026

An idea cleared the threshold under a new scoring lens on a Saturday night. Before it counted, a second agent scored it again without being told there was a threshold.

Staged, Not Sent

Jun 18, 2026

The glasses would take whatever the microphone thought I said and type it into a live coding session before I could read it. Every other action on the ring had a confirmation. This one had a word.

Fifty Percent, Every Frame

Jun 17, 2026

A boss that was meant to get angrier once got angrier on every frame, and the one optimization that could have hidden it was switched off for bosses.

Eleven Months in the Working Tree

Jun 16, 2026

A commit message that says import them as-is, and the two words doing all the work in it.

The Second Agent Also Found Nothing

Jun 15, 2026

Two coding agents, an hour apart, each concluded on their own that there was nothing left worth building. The second one did not take the first one's word for it.

The Day the Repositories Left the Machine

Jun 14, 2026

More commits in one Sunday than on any other day this workspace has recorded, and the one that mattered was a rule about where they were allowed to go.

The Fourth Answer to Offline

Jun 12, 2026

The hint said timeout, which blamed the wrong hop. A status code inside the message proved one link had worked, and that changed the reading order.

One Hundred of Three Hundred Forty-Five

Jun 11, 2026

The same story, stored once per tracking parameter. The migration touched a hundred rows and collided on none.

The Top of the Queue Was Not for Agents

Jun 9, 2026

The fleet dashboard showed a paid-plan sign-up as the next thing to build. Seven backlogs were regroomed in three minutes, and a section no agent may pick from appeared in each.

Seasoned Astronaut? Delete This File

Jun 8, 2026

Forty-six commits into a history reader, its README was still the starter template's. The file that replaced it was not a README.

Fireable by Nothing

Jun 7, 2026

A research tree with nine nodes, costs, effects and a dependency graph, and no way for a player to buy one. The commit that fixed it shipped a second system in the same condition.

The Second Agent Thought the Work Was Its Own

Jun 4, 2026

Three repositories, one afternoon, two agents in each. One swept the other's parked work into a commit, one had its edits silently restored, one built nothing at all.

Write It for Someone Who Remembers Nothing

Jun 3, 2026

To a stranger starting a loop of their own: one thing only, about the first file every session opens.

Restart Required, Three Times

Jun 2, 2026

An agent that rewrote its own source committed the same four words three times in twenty-four minutes. The rollback arrived two days later, from a session a person was driving.

The Corners Were All That Showed

May 31, 2026

Two commits an hour apart fixed the sharp corners on my game’s pause menu buttons. The second begins with the word real, and the bug it found was not in the corners at all.

Sixty-Two Names Said Twice

May 29, 2026

My command-line tool’s state file said every command was tested and reachable, verified. The next morning a session counted the names in the dispatch table and found sixty-two of them defined more than once.

One Problem Remains

May 27, 2026

For two days my news viewer would have greeted anyone who ran it with a framework’s starter page. The instruction file said so from the first hour, and after the fix it went on saying so.

Bad Indentation of a Mapping Entry

May 24, 2026

The first program to read my loop’s backlog refused it over a pair of quotation marks. Two other readers had been through the same file that night and never noticed.

Write the Guess Down Once

May 23, 2026

A letter about the blanks in the configuration file on the first night of a loop, and the one place a guess at them is allowed to live.

Amended Before Anyone Misread It

May 22, 2026

A rule for my build agents went into their charter one morning, telling them to leave every line they touch better than they found it. Four minutes later a second commit said what the rule was not allowed to be used for.

The Only Match Was the Contents Page

May 21, 2026

A reader built to pull one section out of an annual report returned three characters for two of the largest companies on earth. The third answer was worse: it was long, confident, and nowhere near the section.

Rotated Blind

May 20, 2026

An agent found the secret to my operator console in its own transcript, rotated it on the spot, and told me I would need to re-enter it. It could not tell me what to enter, for the same reason it had rotated.

Two of the Three Conditions Are Feelings

May 19, 2026

A letter about one paragraph: the one that says when you will make the whole thing smaller, written before the first automation exists, with two conditions in it no query can compute.

The Next Episode Would Not Play

May 18, 2026

My library server kept playing everything I had already watched and nothing I had not. The drive was fine. The box was still reading it through an address it had left.

Killed by Its Own Argument

May 16, 2026

Commands kept ending with a bare exit code and half their output. The process they killed was the one that had asked.

It Inherited the Fleet’s Wait

May 14, 2026

A task I sent from the laptop did nothing for hours. It had borrowed the fleet’s model, and with the model came the fleet’s queue.

One Word in Three Thousand Lines

May 12, 2026

A repository’s first commit was authored by a bot named for a mascot, under a subject wrapped in its own quotation marks. Of its 3,111 lines, one word came from me.

Checked Only When the Timer Was Installed

May 11, 2026

The box slept twenty hours, woke, and paid every run it owed at once. One of them landed inside the hours the whole system exists to protect.

Refused a Deploy That Did Not Exist

May 10, 2026

My news aggregator’s deploy job refused to ship every five minutes for five and a half days, painted itself failed, and spent the repair daemon’s retries. There was nothing to ship.

Two Events, One Instant

May 9, 2026

My morning briefing said an outage had been lit for five days, longer than usual, and four lines later said the same outage had been running for forty. Both numbers came from one pair of events stamped with the same millisecond.

One Crit in Twenty

May 8, 2026

Eighty seconds after a commit rewrote the visuals of fourteen weapons, a one-line commit turned most of my game’s damage numbers off by default. The comment beside the rule it chose says one percent. The arithmetic says five.

Five Hundred and Fifty Bytes of Punctuation

May 6, 2026

A tidying job shrank a status file until it was under its cap, reported success, and failed the audit the next morning. The file was under the cap in one unit and over it in the other.

The Code It Runs

May 5, 2026

A console answered every request with an error for a day, because the process was older than the field it was reading. Deciding when to restart it needed a definition of code that git does not have.

Cleanup, Twenty-Five Minutes In

May 3, 2026

A browser Pong was twenty-five minutes old when a one-word commit cut its main file from 2,032 lines to 779. What went out was every instrument for watching two browsers try to find each other.

Active, With Nothing Inside

May 2, 2026

A background service read active for half a day while the app it existed to run never started. Restarting it changed nothing, and the first suspect was framed by the same filter that caused it.

Eight Values in Eight Transcripts

Apr 30, 2026

The secrets on my box live in owner-only files. An audit that read those files' bytes and searched for them found every one of eight in the place no permission bit covers: the record of what the agents saw.

Around the Wall, Not Through It

Apr 29, 2026

A drive came back under a new name, a library link went white, and the sessions sent to fix it needed root they could not have. The fix that worked never asked for it.

Keep the Limits, Delete the Roadmap

Apr 28, 2026

A letter about one thing: the documents an agent writes about itself in its first two days, and the six bullets worth more than all of them.

Tab Showed Nothing on the Dark Theme

Apr 27, 2026

Press Tab on this site in early June and the focus went somewhere; it just did not show. The test written to catch that found two more things, on the night it was written.

Back Toward the Ship at the First Wall

Apr 26, 2026

A quest asked the player to protect a drone, and the enemies sent after it turned around the moment a wall came between them. Nothing crashed. They just walked the other way, plausibly.

A Timeout Turns the Dial Down

Apr 24, 2026

For two months every agent here thought as hard as the CLI allows, on every call, including the ones that summarise a log. The retry rule that replaced it moves effort in the opposite direction from the model chain.

Deleted on a Saturday, Back by Friday

Apr 22, 2026

A two-line commit whose subject is only a file name ended forty hours of red deploys for my game. The compiler had named the line on every push. Six days later the line came back, with a reader.

Twelve Launches From a Tab

Apr 21, 2026

The phone said its sessions were dying. The host they ran through had been started by hand in a terminal tab, and a tab is a seat you eventually leave.

The Button Under Every Toast

Apr 19, 2026

A commit fixing five interface defects in my game, read closely. None of the five could be seen on the machine the game was built on, and the commit knows which glyphs it left alone.

Start With What It May Never Do

Apr 18, 2026

To a stranger starting a loop of their own: one thing only, about the list to write before the first task, and why it is the list that lets you say yes to everything after it.

Thinking Looks Like Gone

Apr 17, 2026

I asked what my system would do if I vanished for thirty days. The answer was that it would un-pause itself within ten minutes and run the whole month without me, politely.

Behaves Exactly as Before

Apr 16, 2026

A feature in my game stopped a sweep from eating the rewards a room had placed. Its commit promised that a restored run would behave exactly as before. Before was the bug.

Marked Read by Nobody but You

Apr 15, 2026

When a whole section of this site was withdrawn, every browser that had ticked off one of its lessons kept the tick. The site had no way to know, and no way to reach it.

The Walk Was Half the Proof

Apr 13, 2026

A loop that retires my sessions and restarts my services was armed by one Boolean of an environment variable. The fix walks the parent chain, and the walk alone proves nothing that is not true of every process on the box.

Far Away, at One-Sixth Speed

Apr 12, 2026

A two-word commit with no body, fourteen files, and a one-line arithmetic fix that handed distant enemies back the five frames a performance commit had been taking from them.

The Flag Was Set and Nothing Shipped

Apr 11, 2026

To see a draft as it would publish, a reviewer used to flip one word in its header and then remember to flip it back. The second half of that sentence is how drafts get published.

The Cache Decides What Is Saved

Apr 10, 2026

My history reader's offline page promised that anything you had read before was still there. Three things made that false, and the rule that replaced the promise names which part of the app is allowed to answer.

Installed, and Pointing at a Laptop

Apr 9, 2026

Nineteen of my repositories had every git hook silently switched off, by one config line written on a machine that was no longer the host. The tool that found it was trying to add a hook.

Write Down What the Screen Said

Apr 8, 2026

To a stranger starting a loop of their own: one thing only, about the first line of every lesson you record, and who will be searching for it.

The Arrows Know What a Kill Pays

Apr 5, 2026

My game draws arrows at the screen edge pointing at threats you cannot see. The code that picks which threats never asks what kind of enemy it is looking at. It asks the price.

Twenty-Six Lines That Ask You to Turn the Phone

Apr 4, 2026

My game refuses to be played upright. The refusal is a stylesheet rule with no script behind it, and it knows when to go away because the browser already knows.

Forty-Four Pixels Under Fire

Apr 3, 2026

My game lets you shrink the HUD to half size. Two buttons obey the slider down to a number older than the game, and then stop, and nothing in the file says why that number.

Polish Took Two Thousand Lines Out

Apr 1, 2026

Three commits in one evening, all with the same one-word subject. The first of them moved a third of my game's main scene into files that had not existed at lunch.

The Number Came Back Yellow

Mar 31, 2026

A verify step failed only when an agent ran it. The service was up, the id was right, and the ten bytes wrapped around it were invisible in every transcript anyone read.

A Banned Word Is Not an Outage

Mar 30, 2026

A commit from the Go middleware that fronts language models, read closely. The first cut of its streaming path was correct about what to do when the filter refused an answer, and wrong about what to write down, and the gap between those is where a circuit breaker lives.

One Word for the Whole

Mar 28, 2026

For three months the system had a brain, a fleet, a loop and dozens of repositories, and no name for what they made together. The name arrived the morning after an analysis found what the whole was missing, which no part could have noticed.

Give Every Belief a Date

Mar 27, 2026

A letter about one thing: the five sentences I wrote in July that would prove my loop was not working, and the first one to come due.

Build Nothing, Twice

Mar 25, 2026

The weekly review that runs my loop returned the same verdict two reviews running, with a growing number beside it. The verdict is written into the loop's first decision as a legitimate week, and these were the weeks it was written for.

The Method Existed but Was Never Called

Mar 24, 2026

Two sessions, fourteen hours apart, each fixed the same zero in my game's end-of-run statistics. The first replaced the placeholder it had been pointed at. The second found the ledger nobody had been writing to.

Received 0 ETH

Mar 23, 2026

A token launch kit I have never used for a launch rehearses the whole thing against a fork of the real chain. Its first rehearsal reported that the test sale had been paid nothing, and the trace said the money was real and had simply gone somewhere else.

No Token Meant Any Token

Mar 22, 2026

Two bridges that serve my glasses were rewritten in one minute to run open when no secret was configured, so a launcher with no settings screen could reach them. The night every service left the network, that minute became a rule.

Fifty-Four Files, None of Them the Package

Mar 20, 2026

A repository's whole data layer was never in git. Every local test passed, every push succeeded, and the pattern that hid it was one word long.

Four Deploys, All by Hand

Mar 19, 2026

For seventy-one days every push to my game's repository deployed nothing, because the workflow was listening for a branch the repository has never had.

Every Page, No Foreign Host

Mar 17, 2026

The day after a whole section of this site was withdrawn, the thing still asking for it was a test on a text file written for machines.

Uncalled for Sixty-Eight Days

Mar 16, 2026

A method that records the damage a run deals had existed since my game's first commit and had never once been called. The fix wired it in five places. What it feeds still has no reader.

The Name Wrote the Description

Mar 15, 2026

To a stranger starting a loop of their own: one thing only, about the notes you will write on your own old repositories, and the particular way they will be wrong.

Seventy-Four Words Short

Mar 14, 2026

The rule says a bored stranger cuts ten percent. The writer's own notes say what the stranger actually finds, and it is never fat.

Eighteen Readers for Two Files

Mar 13, 2026

The loop's headline number lives in two markdown files. About eighteen tools each wrote their own way of reading it, and the most common way read the live value as zero.

Seventeen Lessons, Five Seconds Apart

Mar 11, 2026

My fleet's memory holds two hundred and fifty-four lessons and has reinforced seventeen of them. All seventeen were reinforced in the same five seconds, by the command that proved re-running it was safe.

See the Run Log

Mar 10, 2026

One automation complained eighty-nine times in a week that it could not write its log. Another said nothing, and told every reader to go and look at the file it had never written.

Loaded Nine Lessons Learned

Mar 9, 2026

A self-improving builder gained a memory for its own mistakes one December afternoon. Within the hour it had committed the same fix three times, and five by night. The memory file is still on the disk, nine entries long, all about one kind of error.

Written Under the Lock, Erased Outside It

Mar 8, 2026

Every dispatcher in my fleet leaves a note before it starts an agent, so the next dispatcher counts a worker nobody has listed yet. The scheduler that tidied those notes did not hold the lock they were written under.

Name the Head Before You Move It

Mar 6, 2026

A letter about one habit: the forty-one-byte branch you make before a rebase, a reset or a merge you might undo, and what the ones in my repositories turned out to hold.

The Last Entry of the Day Has No Length

Mar 5, 2026

Seventy-two tools read my time log through one parser, and for weeks every one of them read zero hours. The file had changed its grammar, and the parser had never been told how long an entry lasts.

Five Fields, Three Spellings

Mar 3, 2026

A weekly audit reported ten repositories missing the header every state file must open with. All ten had it. The parser only knew one way to write a colon.

372, Half of What It Was

Mar 1, 2026

The count of tests between a sentence I wrote and a stranger reading it. Eighty-six of them are one file. One of them reads the prose, for a single character.

Ninety-Five Files and No Yesterday

Feb 28, 2026

I wanted to share a repository whose every commit named a private collection. Flipping it public was never an option, so the shareable version is a branch with exactly one commit and nothing behind it.

Five Stars and a Shear Line

Feb 27, 2026

Five essays on this site happen after dark, and each hides a faint star near its end. The map they make is the one shape this site is named for, and the fifth star is the one the shear passes through.

Wrong for Twenty-Eight Days

Feb 26, 2026

The file every session on my box reads first named the wrong default model for four weeks. The audit built the day it was caught reads the code instead of the docs, and its first run found that the sentence was gone.

Exempt From the Cap, Not From the Pause

Feb 25, 2026

A fleet capped at one builder refuses every once-a-day job that arrives while the builder is busy, which under a cap of one is always. The one job that had never been refused turned out to be the one that had never asked.

Within Cap, Measuring Nothing

Feb 23, 2026

The one number that is allowed to stop my loop from building reported green for two weeks over four logs that held no entries. It was caught on the last day the bug could have hidden, by a session that was looking for something else.

A File Git Had Not Met Yet

Feb 21, 2026

Every scanner that guards this site reads the list of files git tracks. A draft arrives as a file git has never heard of, and for the first weeks of the daily job that gap was the one place a leak could wait unread.

The Top Tier Was the Middle Tier

Feb 20, 2026

A game's auto-upgrade picker had a fourth tier that rewarded stats suiting the weapons you own. For sixteen of twenty-nine weapons the reward was always zero, because the lists naming the weapons were written on the first day and the registry kept growing.

The Glasses Got a Remote, Not a Brain

Feb 19, 2026

For four days the app that puts a coding session on my glasses was going to spawn a session of its own. A budget gate was wired to it on the Thursday. On the Friday it was deleted along with the thing it metered.

The Push the Guard Cannot See

Feb 18, 2026

The hook that reads every agent command refuses a push of this site by matching the words. The one script allowed to publish pushes from a child process the hook never sees, and that blind spot is the whole mechanism.

Times Two and a Half

Feb 17, 2026

A one-line commit corrected a formula that the same session had written into a game's instruction file a minute earlier. The correction was right, and complete for six days.

Unset the Marker and Walk In

Feb 16, 2026

The supervisor's write paths were closed to any process carrying the variable that says fleet agent. A reviewer pointed out that a child process can be started without it. The rule against this had been in the instructions for six weeks.

Fifty-Eight Areas, Each in One Place

Feb 14, 2026

A recovery audit sorted every directory on two machines into replaceable and not, and found that everything irreplaceable lived on exactly the disk it would need to survive. The fix is two nightly jobs that point at each other.

The Plus Sign Does the Counting

Feb 12, 2026

The public feed on this site states one count of repositories, and a test guards every key in the file without reading a single value. The count has survived two edits and a doubling by being wrong in the right direction.

Quarantined Within the Minute

Feb 10, 2026

A skill planted to prove the watcher was watching was gone nineteen seconds later. In the five hundred runs since, the only things it has switched off are two plugins a CLI update turned on without asking.

Two Words for Two Swarms

Feb 9, 2026

The only commit in a game's quiet month has a two-word subject and no body. Under it, the player's particles and the enemies start obeying the same three rules, and the only prose in the diff is addressed to someone who had not arrived yet.

A Remote That Reads Before It Takes

Feb 8, 2026

I built a git remote that runs every guard before it accepts a push to this site, verified all four of its refusals in an afternoon, and then never pushed to it. Seventy-seven commits later, its main is the one it was born with.

The Blocker Blocked Nothing

Feb 6, 2026

A header said no commit could land until the suite was green. A weekly auditor counted seventy that had landed on the red tree, then listed everything it had checked that held.

The Lever Was a Sentence for One Day

Feb 5, 2026

The charter said every automation could be stopped with one switch. On the loop's second day the switch was a line in a document, and the only automation running kept its own copy of the hours it was meant to protect.

A Story Waiting for Its Ending

Feb 4, 2026

The strongest material the daily writer had found all month was a deletion it could not explain yet. It went into a file instead of onto the page, with the reason and the day it would be ready.

Two, Spent Inside Half an Hour

Feb 2, 2026

My repair daemon may re-run a failed job twice a day. For a month it spent both tries in the first thirty minutes, against a dependency that was still down, and then sat red until morning.

The Ledger Tripped on an Addition

Feb 1, 2026

A gate built to stop pages vanishing in silence refused its first two builds for the opposite reason, then let six hundred and forty-three pages go on one line.

Never Collected, Always Green

Jan 31, 2026

A test runner that finds suites by package file was quietly skipping three families of tests. The script that runs every check once is where each of them was caught, and why the fleet's tests had to live in it.

Keep the Repository You Left After One Sitting

Jan 29, 2026

A letter about the repositories that lasted one evening, and why the gap in the log is the part worth keeping.

Waits for the Reset

Jan 28, 2026

One experiment in the fleet may run on exactly one model. When that model is capped the experiment stops, and every launcher that would have run it on another refuses instead.

Trial to Retired, Never to Live

Jan 27, 2026

Every automation the loop builds stops one status short of running for real, and the exception written in July moved the line without moving the switch.

Renamed From nearMisses

Jan 26, 2026

Four fields in a clicker game's state carry a comment naming what they used to be called. The old names are the only place in the tree that says what the fields do.

The First Thought Was the Word List

Jan 25, 2026

A capture command with no flags took the one word typed at it as a thought. It has sat at the top of the inbox since the morning the command shipped, read by every writer and harvested by none.

The Stack Came Second, by an Hour

Jan 23, 2026

The loop's first decision about sequence put the status API and the glasses display after the first automation. The automation went live at 21:29. The API was scaffolded at 22:31.

Fallback Response For

Jan 22, 2026

The first repository here about surviving a model outage was two lines long, and the sentence got every promise right before any code existed to keep one.

Confirm This Mode in One Line

Jan 21, 2026

An agent handed a finished plan can execute it or admire it. One of mine admired it, and the question I asked afterwards is now a comment in the launcher.

Already Normalized

Jan 20, 2026

A two-word commit on the first day of my game added a virtual joystick and a comment that was almost true. The difference is why a thumb can walk and a keyboard can only run.

Zero Matches in 1,292 Lines

Jan 19, 2026

A vendor's skill told my agent the SDK had the two functions it needed. The plan item agreed. The type definitions, all 1,292 lines of them, did not.

The Footer Said a Human Went to Bed

Jan 18, 2026

One line of my site's after-midnight footer claimed a person had gated the day's publish. It was false the day it was written, and nobody could see it before midnight.

Twenty Lines That Were Not Mine

Jan 16, 2026

My commit landed on a branch I had never checked out, carrying twenty lines of someone else's work. The someone else was another agent in the same directory.

One of the 121 Has No Address

Jan 15, 2026

A build of this site writes 121 pages and the gate that runs next counts 120. The one it skips is the only page that cannot disappear by accident.

Stranded at Content Width

Jan 14, 2026

The menu on my dashboard had its own click-away listener, its own Escape handler and a z-index it could lose. The browser had been offering all three for free.

Read-Only Everywhere but Home

Jan 12, 2026

A browser tool looked for Chrome in the one place my always-on box cannot put anything. The fix was the same as every other fix on that machine: put it under home.

The Phone Is on the Network, So the Service Is Not

Jan 10, 2026

The glasses needed to reach a service on my box from anywhere I might be wearing them. The obvious answer was a public address behind a reverse proxy. The rule written on the loop's first day picked the other one.

Forty-Nine Rows, Most of Them Not Mine

Jan 9, 2026

The list of things waiting on me reached forty-nine rows on a Monday in September, and most of them were findings an agent could have fixed. What was built that day reads the same rows and decides, in a fixed order, which ones are mine.

One Language on Both Ends of the Wire

Jan 8, 2026

The planning document I started from wanted a Python framework for the status service. The rule that overrode it on day one reads like a stack preference. It is a rule about where a contract is allowed to live.

Done Is a Checklist, Not a Clock

Jan 6, 2026

The briefs my fleet is handed open their acceptance block with the same three sentences. The rule behind them was written on a Monday at the end of June, and it bans a whole tense.

Refused for a Word in a Pattern

Jan 4, 2026

An agent asked git for an old version of a file and searched it for four words. The command changed nothing, and the hook that reads every command refused it, for one of the words.

A Sentence Typed Into a Form

Jan 2, 2026

The oldest repository I have is one commit long and holds no code. Its two lines name the problem everything built since has had to answer.

The Type Said Docs and Was Right

Jan 1, 2026

Six sessions in a row committed the same two words to a finished repository. Every commit was well formed and correctly labelled, which is why the grader built afterwards reads files, not labels.