docs: correct the same two claims where the README audit didn't reach - #7
Merged
Conversation
PR 5 audited README.md on the premise that it was the one document with claims no gate covers. Three other files carried the same two claims, so the corrected version was losing 3-to-1 across the repo. - docs/setup-mac.md: "the --env-file flag every script in this project uses". package.json has 16 scripts and 4 of them pass no --env-file. A beginner reads this document before the README, so it was the first place the overclaim was met. Now matches README.md's corrected wording exactly. - pyproject.toml: the header comment warned that running the Python lessons from inside pyweather/ "would quietly create a SECOND usage.csv". pyweather/usage.py resolves LEDGER from __file__, so it cannot. Rewritten to explain why that line exists rather than describing a hazard the code already prevents. - CLAUDE.md: still mandated the repo root for uv run, contradicting both the rewritten README and its own later paragraph, which already stated the correct rationale. It also described verify:docs as four gates when it runs six, and nothing anywhere warned that adding an npm script without a matching [project.scripts] entry fails the command-parity gate. Both fixed, with the three NPM_ONLY exemptions named. Gates: npm run typecheck 0, npm run typecheck:py 0, npm run verify:docs 0. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NsAeobZPagwRXXXDzqE6bW
The same correction as the README side, in the file every agent loads before touching this repo. CLAUDE.md already described the comment stripper as a mechanism; it did not say what the mechanism costs. Because comments are stripped from both sides before the diff gate compares them, a teaching comment can contradict its own listing indefinitely without any gate noticing — which is exactly what happened to the Part 7 timeout comment. Also reflows the pyproject.toml header paragraph, which was left with an orphaned line by the previous commit. Gates: npm run typecheck 0, npm run typecheck:py 0, npm run verify:docs 0. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NsAeobZPagwRXXXDzqE6bW
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.
#5 audited
README.mdon the premise that it was the one document carrying claims no gate covers. A review of that PR found the same two claims still standing in three files it did not touch — so the corrected version was losing 3-to-1 across the repo. This is the other three.What changed, and what it was checked against
--env-fileflag every script in this project uses"docs/setup-mac.md:92.package.jsonhas 16 scripts;usage,typecheck,typecheck:pyandverify:docspass no--env-file. This document is read before the README, so it was the first place a beginner met the overclaim. Now uses README's corrected wording verbatim.pyweather/"would quietly create a SECOND usage.csv in there"pyproject.toml:4-8.pyweather/usage.py:67isLEDGER = Path(__file__).resolve().parent.parent / "usage.csv"— it cannot, regardless of cwd. #5's own body verified this. Rewritten to explain why that line exists rather than describe a hazard the code already prevents.uv, from the repo root, not from insidepyweather/"CLAUDE.md:64. Contradicted both the README as rewritten by #5 andCLAUDE.md:193, which already stated the correct rationale. SinceCLAUDE.mdis the file every agent loads, the stale half would have won by default.verify:docsis "the four gates — compile, ordering, diff, coverage"CLAUDE.md:203. It runs six: structure and command parity repo-wide, then those four per document. Nothing warned that adding an npm script without a matching[project.scripts]entry fails the parity gate. The threeNPM_ONLYexemptions are now named.The blind spot this makes explicit
CLAUDE.mddescribed the comment stripper as a mechanism without saying what the mechanism costs. Because comments are stripped from both sides before the diff gate compares them, a teaching comment can contradict its own listing indefinitely while all six gates stay green.That is not hypothetical — it is exactly how the Part 7 timeout claim survived a passing CI in six places, corrected in #5. In this repo the comments are the teaching, so the hole is worth stating where agents will read it before they edit.
Gates
Run in a clean worktree off
origin/main, exit codes checked individually:npm run typecheck→ 0npm run typecheck:py→ 0npm run verify:docs→ 0All keyless. No API call was made, billed or otherwise.
Not included
docs/setup-windows.mdwas checked and needs nothing — its Node 20.6 note mentions--env-fileonly in a parenthetical and makes no claim about which scripts use it.🤖 Generated with Claude Code
https://claude.ai/code/session_01NsAeobZPagwRXXXDzqE6bW