Skip to content

docs: correct the same two claims where the README audit didn't reach - #7

Merged
rdtiv merged 2 commits into
mainfrom
docs/ungated-claims
Aug 15, 2026
Merged

docs: correct the same two claims where the README audit didn't reach#7
rdtiv merged 2 commits into
mainfrom
docs/ungated-claims

Conversation

@rdtiv

@rdtiv rdtiv commented Aug 15, 2026

Copy link
Copy Markdown
Owner

#5 audited README.md on 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

Claim Reality in the code
"the --env-file flag every script in this project uses" docs/setup-mac.md:92. package.json has 16 scripts; usage, typecheck, typecheck:py and verify:docs pass 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.
running the lessons from inside pyweather/ "would quietly create a SECOND usage.csv in there" pyproject.toml:4-8. pyweather/usage.py:67 is LEDGER = 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.
"runs the same lessons through uv, from the repo root, not from inside pyweather/" CLAUDE.md:64. Contradicted both the README as rewritten by #5 and CLAUDE.md:193, which already stated the correct rationale. Since CLAUDE.md is the file every agent loads, the stale half would have won by default.
verify:docs is "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 three NPM_ONLY exemptions are now named.

The blind spot this makes explicit

CLAUDE.md described 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 → 0
  • npm run typecheck:py → 0
  • npm run verify:docs → 0

All keyless. No API call was made, billed or otherwise.

Not included

docs/setup-windows.md was checked and needs nothing — its Node 20.6 note mentions --env-file only in a parenthetical and makes no claim about which scripts use it.

🤖 Generated with Claude Code

https://claude.ai/code/session_01NsAeobZPagwRXXXDzqE6bW

rdtiv and others added 2 commits August 14, 2026 20:40
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
@rdtiv
rdtiv merged commit 970190f into main Aug 15, 2026
2 checks passed
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