docs(readme): make its claims true, and pin them to the code (3.6.2) - #14
Conversation
Running /readme found the README promising something the code did not do. - "It stops with a clear message on anything older" than Python 3.9 was false. No version guard existed anywhere. On 3.8 the reader got "TypeError: 'type' object is not subscriptable" from an import. The audience here is often on the macOS system python3. There is now a guard, above the imports that would crash first, naming the version you have, the version you need, and two ways to fix it. Exits 2, the documented code for "could not run". - Four tests pin the README to the code: the guard must sit above the imports or it can never fire; the version the README states must be the version the code enforces; the skill and command counts must match disk; every relative link must resolve. - Exit codes and the CI gating command are now in the README, not only in --help and SKILL.md. - docs/decisions is linked and appears in the repository layout. Nine decisions were written and nothing pointed at them. 122 tests.
|
Warning Review limit reached
Next review available in: 15 minutes Limit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?Wait for the limit to reset, then comment An organization admin can change what happens after included review limits in Billing. How do review limits work?CodeRabbit enforces per-developer PR review limits within each organization. For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (6)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Ran
/readmeagainst the current codebase. The README is deliberately voiced for its audience, so this updates what today's four releases made stale rather than regenerating it. One of those updates is a real defect.The README promised something the code did not do
There was no guard. On Python 3.8 the reader gets this, from an import, before any code of ours runs:
That is not a message. And the audience for this toolkit is frequently on the macOS system
python3, which is exactly the case the sentence was written for.A promise in a document that the software does not keep is the same defect this toolkit exists to find. So the guard now exists rather than the sentence being deleted:
Exits
2, the code documented in 3.6.1 for "could not run". It sits above thefrom audit.imports, because below them it could never fire.Four tests so this cannot drift again
MIN_PYTHONThe third and fourth are the general form of the bug: a number in a document that nothing checks.
Also updated
--helpand SKILL.md, neither of which is where someone wiring a pipeline looks.docs/decisionsis linked, and appears in the repository layout. Nine decisions have been written and nothing pointed at them.What I deliberately did not change
The README's voice, structure, the week-with-the-toolkit narrative, the CI explainer, the waivers section, and the four rules. It is written for vibe coders, not for the generic tech-stack template, and replacing it would have been a downgrade.
Test plan
./scripts/validate-toolkit.shgreencoverage_grid.py --fail-under 100exits 0--fail-on criticalon this repo, exit 0plugin.jsonandmarketplace.json(x2), CHANGELOG entry