What problem does it solve? It standardizes how each fluidpy chapter notebook is generated from code, executed headlessly for verification, and published as three deliverables (GitHub notebook, Colab notebook, HTML page) without manual editing or public-repo leaks. ## Core Features & Use Cases - Code-driven notebook generation: notebooks/build_chNN.py uses tools/nbkit.py with a ChapterNotebook API (sections, derivations, worked examples, explainers) and save() refuses invalid notebooks. - Headless execution and verification: tools/run_notebook.py runs notebooks on the fluidpy-venv kernel with FAST mode, runtime budgets, and error reporting. - Publishing pipeline: tools/publish_notebook.py produces the executed .ipynb, outputs-stripped _colab.ipynb, and HTML page, then regenerates the site index and audits with check_public.py. - Use Case: When adding Chapter 7 on gravity waves, write build_ch07.py with derivations and explainers, run it headlessly, then publish all three deliverables in one verified pass. ## Quick Start Build and publish the chapter 7 notebook by running its build script, executing it headlessly with tools/run_notebook.py, and then publishing it with tools/publish_notebook.py.