Repository navigation
docs: replace PROVENANCE.md with CSwFP.yaml and slim DEVIATIONS.md - #32
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
Copilot review overview
🟢 Approval recommended
No unresolved review comments were identified.
Review effort: Lite
Findings: None
What changed in this PR
Replaces the manually maintained provenance exercise count with an executable consistency check and documents its use.
Changes:
- Adds
scripts/check-provenance.sh. - Updates
PROVENANCE.mdwith the provenance invariant. - Documents the checker in
CONTRIBUTING.md.
| File | Description |
|---|---|
scripts/check-provenance.sh |
Checks exercise and provenance ID consistency. |
PROVENANCE.md |
Replaces the dated count with the invariant. |
CONTRIBUTING.md |
Adds contributor guidance for running the checker. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
The count of exercises and the list of known exceptions had to be edited by hand for every new exercise, and had drifted. State only the invariant, and add `scripts/check-provenance.sh`, which checks it. Mention the script in CONTRIBUTING.md. -- AI-usage disclosure: the script and the text were drafted with the assistance of Claude Opus 5.5 (Anthropic, September 2026, via Claude Code). The author reviewed the changes and takes full responsibility for the final content.
List every CSwFP/1–6 exercise with the CSwL exercise it became or the reason it was not ported, and map every CSwFP section to where it went. Keep in DEVIATIONS.md only the design decisions, as they stand now. Move the rules it stated into STYLE-CODE.md and STYLE-WRITING.md. Replace check-provenance.sh with check-cswfp.py, which also checks that the prose does not cite CSwFP. Closes #31 Refs #6 -- AI-usage disclosure: the inventory, the script and the text were drafted with the assistance of Claude Opus 5.5 (Anthropic, September 2026, via Claude Code). The author reviewed the changes and takes full responsibility for the final content.
arademaker
force-pushed
the
docs/provenance-check
branch
from
September 26, 2026 22:32
9a9742a to
9f8bab7
Compare
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.
PROVENANCE.mdandDEVIATIONS.mdhad grown long, kept a history of past decisions, and had drifted from the book. This replaces them with a record of the current state only.CSwFP.yaml(new, replacesPROVENANCE.md):exercises: every exercise of CSwFP/1–6 (102), with the CSwL exercise it became or the reason it was not ported;original: CSwL exercises with no CSwFP counterpart;depends: exercises whose solution another one uses;sections: where each CSwFP section went, and why when not obvious.DEVIATIONS.md: only the chapter order, the Mathlib/CSLib reuse decisions and the design decisions inside chapters, as they stand now. History lives in git.DEVIATIONS.mdused to state move toSTYLE-CODE.md(nothing is used before it is presented, its loosening and theIntroCSexception) andSTYLE-WRITING.md(technical consequence vs editorial preference, keeping the original's structure).scripts/check-cswfp.py(needs PyYAML) replacescheck-provenance.sh. It checks the inventory against the:::exerciseblocks, and that no prose outside:::devcites CSwFP, a page, a section or an exercise number.SeaBattle.lean: drop a mention of an earlier version of the chapter.IntroCS.lean: simplify thepossibilitiesexercise.The script currently reports six exercises that exist only on
feat/english-chapter(#29), and 14 CSwFP exercises markedTODO, which are decisions still to be made and not failures.Closes #31. Refs #6: the criterion now lives in
STYLE-WRITING.mdand the mechanical check is scripted; the reading pass over the prose is still to do.AI-usage disclosure: the inventory, the script and the text were drafted with the assistance of Claude Opus 5.5 (Anthropic, September 2026, via Claude Code). The author reviewed the changes and takes full responsibility for the final content.