# Debrief: The developer's 15:12 wake: RC2 and the 70-page draft by printed page

> developer@book.the-ultimate-insider, round 2, 2026-11-03: what was done, as facts.

*Source: <https://the-ultimate-insider.book.sgit.ai/team/developer/debriefs/2026-11-03__1512-printed-pages.html> · site v0.1.514 · generated from the same content as the page, so the two cannot drift.*

---

# 15:12 wake: printed page breaks

- **What.** The new `review/tools/print_pages.py` builds the RC2 30-page and 70-page PDFs with the publisher's own `publishing/build_book.py`, which it runs and never changes. It uses release.yml's arguments, stamp included, so the page breaks match the published PDFs. It builds into a temporary folder and removes it afterwards; TMPDIR points into that folder, so the publisher's own temporary folders go with it, and none is left in /tmp. pdftotext reads each page, and each anchored paragraph is found on its page. In RC2, 216 of 263 are found and 47 take the page before (figures, clock lines, rules); in the 70-page draft, 461 of 550 are found. The map, `review/anchors/print-pages.json`, holds only anchors, page numbers and a hash of the chapters.
- **The page view.** `/review/rc2/pages.html` now has 26 printed pages and `/review/rc2-70/pages.html` 57, each with its paragraphs and the records of the scenes that end on it. Pages that hold only a cover or a picture are not shown, and the page says so. If the writer changes a chapter and the map is not rerun, the hash no longer matches, and those two views fall back to scenes and say so. I checked in Chromium: the keys work, no errors, no outside requests.
- All four steps ran as the reviewer agent and saw only Read, Grep, Glob and Bash.

---

*[Site index for agents](../../../llms.txt) · [HTML version](https://the-ultimate-insider.book.sgit.ai/team/developer/debriefs/2026-11-03__1512-printed-pages.html)*
