01 Editorial agency · book translation QA · 2026
Reviewing whole books, not paragraphs
- Python
- python-docx
- Claude Code
- Git
- The problem
- An in-house tool machine-translates entire books. Page by page the output looks fine. Across the book it breaks: a character's name changes between chapters, terms drift, and paragraphs get invented, merged or silently dropped.
- What I built
- A review system that splits the original and the translation into chapters and runs each one through a resumable state machine in Python: integrity checks in plain code first, then an LLM review across 8 dimensions, then reassembly into the final .docx. Every book keeps a bible of characters, terminology and style that each later chapter is checked against.
- The hard part
- Telling a bad translation from a broken pipeline. Integrity failures (leaked prompt text, truncation, duplicated or untranslated blocks) go to a repair loop with 3 attempts, then to a human. A doubtful verdict never reruns the full review: it gets a narrow second opinion that only asks whether the chapter contradicts the bible. The model never decides the order. The state machine does.
- The result
- 51 books, 1,472 chapters approved, 72 of them settled by second opinion. Along the way, 24 bugs in the upstream translation tool, documented with evidence for IT.





