Agents write more documentation than humans ever did, and re-read almost none of it. That asymmetry is the whole story here: a routine platform-wide review walking eighteen labs found two whose README still read “scaffolded” or “initial setup in progress,” each sitting on top of real, working code: roughly 2.8k lines in one lab, 1.4k in the other. Neither README used the literal words “no code yet” — this post’s title is the plain-English gist of what “setup in progress” over thousands of lines actually tells a reader who trusts it.
The actual problem
Nobody lied. Each README was true the day it was written. The labs then did what labs do, which is keep building, while the sentence describing them did the one thing prose is bad at: it stayed exactly where it was. Docs written at moment X describe moment X forever unless something goes back and touches them, and agents, which generate documentation at a volume no human review cadence was built for, make more of these frozen sentences per week than a person ever did. This is not a one-off embarrassment. It is a mechanism, and mechanisms need a standing response, not an apology.
What I tried
The instinct is to fix the two READMEs and move on. That fixes today’s two lies and leaves the mechanism that produced them completely intact, ready to produce the next two by next month. So the review didn’t stop at a cleanup: it produced a design pack for a standing role, a Documentation Gremlin Team, scoped from the start to a narrow, checkable beat rather than “keep the docs good,” which is not a job description an agent (or a human) can actually be held to.
What got weird
The design pack got its own adversarial pass, an independent model critique with an explicit mandate to find problems, and it found real ones: three high-severity findings, three medium, three low. The two worth keeping in the open: the field-ownership boundary between the two gremlins wasn’t a hard rule yet, just an assumption, so it got written as one; and the design’s own stated top risk mitigation, a back-pressure mechanism to stop the gremlins from generating more doc churn than a human can review, turned out to have no actual implementation path. Rather than quietly assume it into existence, the critique forced it to be named honestly as future work, not a control that already existed.
The reusable pattern
A bounded documentation role only works if its beat is the subset of documentation that can be checked mechanically against the repo, not the subset that merely looks important. “No code yet” is checkable: does code exist, yes or no. A count is checkable. A status label is checkable. “Is this README well-written” is not, and putting that kind of claim inside the gremlin’s contract turns a narrow, trustworthy tool into a fuzzy one that eventually gets ignored, the exact fate it was built to prevent for everyone else’s docs.
What next
This started as a design pack, not a running system, and it needed a human decision on two remaining items: where the doc-editor’s dependency PR should land, and what governance threshold ratifies the whole thing in the factory’s own operating rules. Six days after the design pack landed, both gremlins got built for real as standalone roles and ran once each against actual drift: the Technical Documentation Gremlin’s first run produced four evidence-cited fixes and three flagged findings, the Agent Doc Editor Gremlin’s returned a clean “no sprawl found,” and both shipped in a real, merged pull request. That is one real pass, not a track record.
What Next
A Fresh Model Read My Backlog and Found a Lie
Same rot family, different surface: stale planning docs instead of stale READMEs, caught the same way -- by asking whether the words still match the repo.