The figures
20 figures across 15 release tags, 9.2 MB. Every one was taken by checking out the tag its caption names into a temporary worktree, serving that checkout, and photographing the page as it actually was. None is a reconstruction, and this page is where that claim stops being a sentence in a colophon: click any figure for the tag it came from, the chapter and section that use it, and what shipped in the release it shows.
Three gates run on every release, and together they make the book's claim checkable: a figure whose tag is not in this repository fails the build, a figure no chapter uses fails the build, and a chapter referencing a figure that is not on disk fails the build. The machine surface is figures/index.json.
For an agent
figures/index.json holds one entry per image: tag and taken for provenance, width, height, bytes and sha256 for the file, used_by for the chapter, section and line that reference it, and release for what shipped in the version photographed. To re-take one, check out its tag into a worktree and follow Appendix C. Do not edit this file: it is regenerated by admin/build/gen_figures.py on every release and three gates check it.