Repository navigation
Conversation
…Pages The ReadMe's sections become the chapters of an mdBook under book/, in the family's shape (SampleRateTap's): installing, writing a class, audio, worker mode, objects without audio, performance, errors and limits; the examples and the notebook; building, testing and the design for contributors; and the CHANGELOG. Nothing that ships is copied into it: the examples and the CHANGELOG are included as they are, the notebook page is rendered from python/allpass-doc.ipynb as committed (scripts/notebook-to-book.py, at build time, gitignored), and the performance tables now live only in book/src/performance.md, where scripts/update-perf-docs.py writes them. The ReadMe shrinks to the front door: what it is, install, a quick start, and links. Everything that pointed at the ReadMe for a rule or a measurement — the guide, tutorial 3, the help file, the hand-written reference page, comments — points at the book. CI: build.yml's book job renders the notebook and builds the book with mdBook 0.4.40 (pinned by checksum), warnings as errors, and keeps it as an artifact; book-pages.yml publishes the same build to GitHub Pages from main. scripts/check-docs.py now checks the book and the ReadMe too — every chapter listed in SUMMARY.md, every include and relative link resolving, anchors included — since mdBook checks none of that. The favicons are TapHouse v7 copies, which the drift check already guards once book/book.toml exists. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019rVV9SkjkWmiBXFMT4whkz
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019rVV9SkjkWmiBXFMT4whkz
Links to book/src/notebook.md failed the check in CI, where the page is not rendered before it runs. The page is exempt, as it already was from the summary listing; the book job renders it and builds the book with warnings as errors. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019rVV9SkjkWmiBXFMT4whkz
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Plan item 9.7 (
docs/TAP-PYTHON-PLAN.md, Phase 9 ofdocs/PRODUCTION-PLAN.md): the book, after 2.0.0.What it is
An mdBook under
book/, in the family's shape (SampleRateTap's). The ReadMe's sections become its chapters:tap.python~), worker mode, objects without audio (tap.python), performance, errors and limits.python/*.py, andallpass-doc.ipynbrendered.Nothing that ships is copied into the book, so nothing can drift:
{{#include}}.scripts/notebook-to-book.pyrenders the notebook page at build time from the notebook as committed (executed). It uses only the standard library, and its output is gitignored.book/src/performance.md, whichscripts/update-perf-docs.pywrites. They were moved, not regenerated: they are still Sep 30's, as decided in 9.6.The ReadMe is the front door
It's down from 250 lines to 66: what it is, install, a quick start (a four-step
mygain.py), and links to the book. Everything that sent readers to the ReadMe for a rule or a measurement now points to the book: the guide, tutorial 3, thetap.python~help (its numpy-tab comment is now shorter than before, so it still fits its box), the hand-written reference page, and code comments. The vignette stays the short form, written separately, as decided on 2026-10-09.CI
build.yml→book: renders the notebook, builds with mdBook 0.4.40 (pinned by SHA256, as in SampleRateTap) with warnings as errors, and uploads the site as thebookartifact so it can be looked at before merging.book-pages.yml(new): the same build, deployed to Pages frommain. It is the one workflow withpages: writeandid-token: write. Theconfigure-pages/upload-pages-artifact/deploy-pagespins are SampleRateTap's, checked against their tags (v5.0.0, v3.0.1, v4.0.5).scripts/check-docs.py(already run by thelinux-max-gluerelease row) now checks the book and the ReadMe as well, since mdBook checks none of this:SUMMARY.md;{{#include}}names a file;I tested it with a broken link, a missing anchor, a bad include and an orphan chapter, and it caught all four.
Favicons:
book/theme/favicon.{svg,png}are TapHouse v7 copies (sync.sh --icon PythonTap). The drift check already guards them now thatbook/book.tomlexists.Checked locally
check-docs.pyis clean.🤖 Generated with Claude Code
https://claude.ai/code/session_019rVV9SkjkWmiBXFMT4whkz