docs: state the cap as three counts, because one number hid a disagreement - #5
Merged
Conversation
…ement "Cap: 38 targets with every flag on" was not wrong so much as unfalsifiable, and it had already failed: the P0 prototype measured 38 too, and the two were different sets of 38. This plan counted the `lint-<tool>` dispatch rules and not the three enforcement gates; P0 counted the reverse. Two offsetting errors agreed on one number, which is how a cap stops being a check. Split into the three counts that scale differently — 35 user-facing, N dispatch (per-repo, one per configured tool), 3 enforcement (fixed) — and recorded where the 35 comes from, so it can be checked against the #555 group table target-for-target rather than in total. Summing to the right number is exactly what hid this. Found while reviewing just-buildit/just-makeit#636 (P0). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XLuSsmv88aheh7mNQgBDQK
just-buildit/just-makeit#636 merged. Noting the two faults the prototype surfaced — the GNU make 3.81 that macOS ships, and a `make -p` database whose wording changed in 3.82 — because both were in the file every adopter would have vendored, and they are the argument for the phase order. P1 therefore publishes the post-review file, not the one P0 opened with. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XLuSsmv88aheh7mNQgBDQK
hunterdsp
force-pushed
the
fix/cap-accounting
branch
from
July 31, 2026 01:45
ebdc523 to
9c01449
Compare
Contributor
Author
|
Ticked P0 — just-buildit/just-makeit#636 merged as Folded into this PR rather than a third one, since it is the same section. Also recorded the two faults the prototype caught before publication — the GNU make 3.81 macOS ships, and a P1 publishes the post-review file, not the one P0 opened with: it also carries |
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.
Taking the plan README correction, per the review thread on just-buildit/just-makeit#636. The matching fix to the #555 body is already done.
What was wrong
Cap: 38 targets with every flag onwas not wrong so much as unfalsifiable — and it had already failed silently. The P0 prototype also measured 38, and the two were different sets of 38:lint-<tool>dispatchstandard-check,help-check,ghost-checkTwo offsetting errors landing on one number is how a cap stops being a check. It agreed by coincidence, so it would have kept agreeing while both sides drifted.
What it says now
35 user-facing + N dispatch + 3 enforcement, as three counts, because they scale differently:
Nis per-repo (the tools that repo configures), the enforcement gates are fixed, and only the 35 is a property of the standard itself. Repo-local targets are outside the cap by definition — they are what criterion 1 bounds.The 35 is recorded as the #555 group table summed (9 universal + 2 aggregates + 24 across the nine groups), with the per-group breakdown inline, so a build can be checked against it target-for-target rather than in total. That matters: summing to the right number is precisely what hid this, and checking the table row-by-row is what caught
HAS_COVERAGEmissingcoverage-gateandHAS_EXAMPLEScarrying anexamples-cleanthat was never in it.Verification
The repo's own hooks (
mdformat1.0.0 + gfm/gfm-alerts/mkdocs, as pinned here) run clean overREADME.mdwith zero rewrites.profile/README.mdis untouched, socheck-readme.ymlis unaffected. No phase checkbox is ticked here — P0 is green but not yet merged; that tick belongs with the merge.