Skip to content

The tap.python plan after review: Max's documentation system, a book, the test gaps, and three decisions (2.0.0) - #42

Merged
tap merged 3 commits into
mainfrom
v2/plan-review-decisions
Oct 9, 2026
Merged

tap merged 3 commits into
mainfrom
v2/plan-review-decisions

Conversation

@tap

@tap tap commented Oct 9, 2026

Copy link
Copy Markdown
Owner

What this changes

Docs only. The three commits that followed the maintainer's review of #41, which merged before they were pushed:

  1. Documentation in Max's own system (9.4) and a book (9.7), and the test coverage gaps closed in 9.1, 9.3 and 9.5.
  2. The three open decisions, decided by the maintainer: the release that carries tap.python is 2.0.0, not 1.1.0; a str return outputs as the spike finds composes best; the vignette is the short form, written separately.
  3. The sentences recording why, which the second commit's script stopped before.

Why

The review found the plan thin on documentation and with four gaps in test coverage.

Documentation was reference pages and help files only. Max's package system also offers vignettes and tutorials in docs, patchers in extras, and a landing patcher named in package-info.json. 9.4 now has a vignette (Writing Max objects in Python), three tutorials with patchers, an Extras overview named as the landing patcher, help tabs for both objects, and one CI script that checks the hand-written XML and the help patchers' JSON. 9.0, the spike, finds where Max reads the vignette and tutorial files from, since the package documentation does not say. 9.7 is the family's mdBook after 2.0.0, with example code and performance tables pulled from what ships so the book cannot drift; the ReadMe then becomes the front door.

Test coverage had four gaps: no sanitizer rows for the Max glue job, where the new lock lives (9.3); a performance sentence with no measurement behind it, now a bench row (9.1); no soak for the new object (9.5); and the hand-made pages, help patchers and init/ file unchecked (9.3, 9.4). Also added: the output table as a data-driven test over its edges and core tests for the new examples (9.1), and the audio-thread predicate injected so the Scheduler-in-Audio-Interrupt notice is testable without Max (9.3). Windows stays by hand, written down as a limit.

The decisions. The list[…] parameter changes what a tap.python~ method with such a hint receives (the empty symbol today); the maintainer applied the CHANGELOG's rule as written, so the release is 2.0.0. Every 1.1.0 in the plan and the roadmap is now 2.0.0, with the reason beside it.

Verification

Prose only. The claims about Max's package folders were checked against Cycling '74's current package documentation; every item 9.0 through 9.7 appears once in the plan and its section links resolve, checked by script. Nothing in the plan is built; 9.0 is the first code PR.

Notes for the reviewer

  • Contract change. Recorded in the plan only; no code changes here. The release carrying the list[…] parameter is 2.0.0.
  • No open decisions remain in the plan.

🤖 Generated with Claude Code

https://claude.ai/code/session_01WnyasLjC6poziMpwguw4in


Generated by Claude Code

tap and others added 3 commits October 9, 2026 10:34
…e gaps

After the maintainer's review. 9.4 now covers what Max's package system offers beyond reference
pages and help files: a vignette, three tutorials with patchers, an Extras overview named as the
landing patcher, help tabs for both objects, and CI checks for what is written by hand; 9.0 finds
where Max reads the files from. A new 9.7, the family's mdBook, follows 1.1.0, with example code
and performance tables pulled from what ships.

Test coverage had four gaps: no sanitizer rows for the Max glue, where the new lock lives (9.3);
a performance sentence with no measurement behind it — a bench row (9.1); no soak for the new
object (9.5); and the hand-made pages, help patchers and init/ file unchecked (9.3, 9.4). Also:
the output table as a data-driven test over its edges and core tests for the new examples (9.1),
and the audio-thread predicate injected so the Scheduler-in-Audio-Interrupt notice is testable
without Max (9.3). Windows stays by hand, written down as a limit. The roadmap's Phase 9 follows.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WnyasLjC6poziMpwguw4in
…ignette separate

Decided by the maintainer on 2026-10-09: the list[...] parameter is a contract change under the
CHANGELOG's rule, so the release that carries tap.python is 2.0.0, not 1.1.0; a str return outputs
as the spike finds composes best against route, sel, prepend and a message box; and the vignette is
the short form, written separately, not generated from the book.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WnyasLjC6poziMpwguw4in
…st commit missed

The last commit changed the version numbers but stopped before the sentences that record why:
the list[...] parameter is a contract change, so 2.0.0; the str return is the spike's to decide;
the vignette is written separately as the short form. They are in now, with the revision record.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WnyasLjC6poziMpwguw4in
@tap
tap merged commit 8fc8792 into main Oct 9, 2026
18 checks passed
@tap
tap deleted the v2/plan-review-decisions branch October 9, 2026 10:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant