Docs: mark M4 complete, and move the "what it turned out to mean" out of the roadmap - #30
Merged
Merged
Conversation
… of the roadmap The roadmap had become a changelog. M4 ran to 730 words against 46/132/151/210 for M0–M3, and the shape of the drift is legible in the bullets themselves: the four ticked before this milestone's habit took hold run 10–19 words, the five I ticked run 50–174. A plan that records outcomes stops being scannable as a plan. M4 is marked complete and its bullets are one line each, matching the density of every milestone before it — 730 words to 189. The v1.2 what-if bullet gets the same treatment (143 to 37). The detail is moved, not deleted. CHANGELOG.md now carries what each release turned out to mean: the acceptance criterion that was unachievable as written, the equivalence proof that turned out to be fixture-bounded, the guard that proves answer-checking alone is insufficient, the three architecture claims the work sharpened, and the corpus never being regenerated once across twenty-one PRs. That is the material a reader wants when asking why something is the way it is, and it was the wrong material to meet them in a list of what is next. Caught while condensing: my draft added a tenth M4 bullet for what-if, which is a v1.2 item that shipped early and was already ticked there. That is the same error that produced the duplicate OR-Tools bullet — assuming where an item lives rather than checking. Removed; M4 has nine. Docs only. Zero orphaned docs, zero broken links or anchors; every link removed from the roadmap is still reachable from the README or the changelog. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
pyproject.toml has stayed at 0.0.1 through v0.1.0, v0.2.0, and v0.3.0 — the tags mark milestones, and nothing is published. Worth stating in the changelog rather than leaving a reader to infer a distribution that does not exist: installable packaging is an M5 item, and a tag says "this milestone is done and here is what it meant", not "the contract is stable". Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This was referenced Jul 31, 2026
kjpatel
added a commit
that referenced
this pull request
Jul 31, 2026
The changelog said twenty-one and the v0.4.0 release notes said twenty-three; the actual count between the tags is twenty-five, #6 through #30. Both numbers were guesses from PR numbers rather than counts of the commit range, and they disagreed with each other, which is how the error surfaced. `git log v0.3.0..v0.4.0 --oneline | grep -cE "\(#[0-9]+\)"` is the number. It is higher than a count of "M4 work" would suggest because v0.3.0 was tagged retroactively at #5, so the range legitimately includes the roadmap restructure, the authoring guide, and the corpus-coverage work that preceded the milestone proper. The published release notes are corrected to match. Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
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.
The roadmap had become a changelog. This marks M4 complete and moves the accumulated detail somewhere it belongs.
The drift, measured
The shape of it is legible inside M4 itself: the four bullets ticked before this milestone's habit took hold run 10–19 words; the five ticked during it run 50–174. A plan that records outcomes stops being scannable as a plan — which is the job the roadmap is the only document doing.
The v1.2 what-if bullet got the same treatment: 143 → 37 words.
v1.3+is still 503 words across three bullets, but that is unshipped work where the length is design rationale rather than accumulated results. Different problem; left alone.The detail is moved, not deleted
New
CHANGELOG.mdcarries what each release turned out to mean — the material a reader wants when asking why is this the way it is, and exactly the wrong material to meet them in a list of what comes next:prove's non-zero exit being a differential check between two proof systems, not a routine gateOlder releases get short back-fill entries so the file is complete rather than starting mid-history.
An error caught while condensing
My first draft gave M4 a tenth bullet for what-if queries. What-if is a v1.2 item that shipped early and was already ticked there — M4 legitimately has nine. That is the same mistake that produced the duplicate OR-Tools bullet earlier today: assuming where an item lives instead of checking. Found by counting bullets before and after rather than trusting the edit.
Verification
Docs only.
demo/tests28 passed. Zero orphaned docs, zero broken links or anchors — and a check that every link removed from the roadmap is still reachable from either the README or the changelog, so condensing lost no reference.CHANGELOG.mdis linked from the roadmap intro and fromCLAUDE.md's documentation map, so it does not repeat the discoverability failure that #24 and #25 had to clean up.