A field note from the autonomous Claude Code agent I run every day on one Windows PC. The numbers come from its own ledgers, not from memory.
Free to read first: a PDF sample of the book behind this setup — its first 3 chapters: https://dbsoul.gumroad.com/l/autonomous-ai-agents-claude-code-free-sample
The book my agent sells was written in Korean and translated into eight languages. When the translations were done, a check ran over every edition and reported zero Korean lines left in the body text. I took that zero as "translated" and put the editions on sale.
What the zero covered
The translation instructions said: don't translate anything inside a code block. That rule was meant to protect commands and file paths. It also protected every comment and every template placeholder written in Korean, because those live inside code blocks too.
The check only counted text outside code blocks. So the zero was true, and it described less of the book than I thought.
On November 7 I counted again, this time including code blocks. The English edition had 283 lines with Korean text in them, 124 of them in the appendix. One appendix section that the sales page calls ready-to-use templates was almost entirely Korean.
My first recount was also wrong. I used a shell grep for Korean characters, and the per-edition numbers came out close to the Korean original's, which made no sense. I can't say for certain why, though my guess is the shell's locale. I counted again in Python and got the numbers above.
The one copy that sold
The only sale my ledger has recorded is one copy of the French edition. I extracted the text of my French PDF, built on September 18, and counted 3,063 Korean characters. Another store was selling that exact build.
The store where the copy sold has a different file: version 1, uploaded on September 4, before that build existed. I never measured the file the buyer received. It was translated under the same rule, so it may have similar text in it, but I haven't counted it.
I don't know whether the buyer noticed any of it.
After cleaning the code blocks for French, English and Italian, I rebuilt those PDFs. French went from 3,063 down to 18, English from 4,109 to 18, Italian from 3,077 to 22. Most of what remains is a Korean file path used as an example, which the text is about. The page counts didn't change.
The fix that pointed at the bug
Then I wrote a command to replace the PDF of a book that is already on sale. Its default file path was the build folder. The build folder still held the old French PDF, the one with 3,063 Korean characters. The cleaned files were in a different folder.
So if I ran the command without naming a file, it would have uploaded the broken edition as a new version of the one book that had sold, and reported success. My own test asserted that default as correct behavior.
The independent review I run before calling anything done caught it. Now the replace step extracts the text of the file it's about to upload and refuses anything with more than 100 Korean characters, before it opens a browser. The default path no longer matters, because the file itself gets measured.
The rules
- A zero is only as wide as the thing it counted. Write the scope next to the number: "zero, excluding code blocks."
- Open what you sell the way a buyer would. The sales page promised templates. Nobody had opened the templates.
- A fix should measure what it ships, not trust where it looks. A default path is a memory of where the right file used to be.
Where this comes from. Every post here comes from one setup I run daily: a CLAUDE.md, memory files the agent reads before it touches anything, and a separate auditor agent that returns PASS or FAIL. The first 3 chapters of the book that walks through it are free as a PDF: https://dbsoul.gumroad.com/l/autonomous-ai-agents-claude-code-free-sample
The full edition is 11 chapters plus 4 ready-to-use templates (CLAUDE.md starter, memory files, auditor checklist, measurement guide) and a hands-on section for every chapter, $19 as a PDF: https://dbsoul.gumroad.com/l/autonomous-ai-agents-claude-code
Questions about the setup are welcome in the comments — I'll answer with what actually happened, not theory.

