Module 1's prereq check hedges ("python --version or python3 --version"), tacitly acknowledging the command name varies, but every command then hardcodes python cli.py …. On modern macOS (no python since 12.3) and default Debian/Ubuntu there is no python on PATH. The first real command ("python cli.py add …") fails with "command not found" for a large share of the any-OS audience even though their Python is fine, and the prose never tells them to substitute python3. (M4's verify.sh already auto-detects python3, showing the authors know the name varies.)
Evidence
modules/01-the-copy-paste-problem/README.md line 137: "Python 3.10 or newer (python --version or python3 --version to check)"; then lines 158-159: python cli.py add … / python cli.py list. Same form in M2 (~lines 186, 205), M4, M6 (~lines 276-314). python3 appears in the prose only in the M1 check line.
Why it matters
The course's first hands-on command can fail for a real slice of the any-OS audience at the worst moment for first impressions — against the any-OS/honesty promises.
Proposed change
After the version check in Module 1, add one prominent line: "Whichever of python / python3 printed a 3.10+ version is the command to use everywhere in this course — if python isn't found, use python3." Keep the READMEs on python, but flag the substitution once.
Acceptance criteria
Module 1 explicitly tells the reader to substitute python3 where python is absent, once and prominently.
No change needed to every command; the substitution note covers them.
Filed from an adversarial multi-agent course review (217 raw findings → 54 adversarially-verified survivors). Scoped for manual review; intentionally not auto-assigned to an agent.
## Problem
Module 1's prereq check hedges ("`python --version` or `python3 --version`"), tacitly acknowledging the command name varies, but every command then hardcodes `python cli.py …`. On modern macOS (no `python` since 12.3) and default Debian/Ubuntu there is no `python` on PATH. The first real command ("`python cli.py add …`") fails with "command not found" for a large share of the any-OS audience even though their Python is fine, and the prose never tells them to substitute `python3`. (M4's `verify.sh` already auto-detects `python3`, showing the authors know the name varies.)
## Evidence
`modules/01-the-copy-paste-problem/README.md` line 137: "Python 3.10 or newer (`python --version` or `python3 --version` to check)"; then lines 158-159: `python cli.py add …` / `python cli.py list`. Same form in M2 (~lines 186, 205), M4, M6 (~lines 276-314). `python3` appears in the prose only in the M1 check line.
## Why it matters
The course's first hands-on command can fail for a real slice of the any-OS audience at the worst moment for first impressions — against the any-OS/honesty promises.
## Proposed change
After the version check in Module 1, add one prominent line: "Whichever of `python` / `python3` printed a 3.10+ version is the command to use everywhere in this course — if `python` isn't found, use `python3`." Keep the READMEs on `python`, but flag the substitution once.
## Acceptance criteria
- [ ] Module 1 explicitly tells the reader to substitute `python3` where `python` is absent, once and prominently.
- [ ] No change needed to every command; the substitution note covers them.
## Affected files
- `modules/01-the-copy-paste-problem/README.md`
## References
Source finding F11 (realVotes 3/3). Touches locked exemplar Module 1 — preserve voice. Related: F28 (security-scan.sh bare `python`).
---
*Filed from an adversarial multi-agent course review (217 raw findings → 54 adversarially-verified survivors). Scoped for manual review; intentionally not auto-assigned to an agent.*
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Problem
Module 1's prereq check hedges ("
python --versionorpython3 --version"), tacitly acknowledging the command name varies, but every command then hardcodespython cli.py …. On modern macOS (nopythonsince 12.3) and default Debian/Ubuntu there is nopythonon PATH. The first real command ("python cli.py add …") fails with "command not found" for a large share of the any-OS audience even though their Python is fine, and the prose never tells them to substitutepython3. (M4'sverify.shalready auto-detectspython3, showing the authors know the name varies.)Evidence
modules/01-the-copy-paste-problem/README.mdline 137: "Python 3.10 or newer (python --versionorpython3 --versionto check)"; then lines 158-159:python cli.py add …/python cli.py list. Same form in M2 (~lines 186, 205), M4, M6 (~lines 276-314).python3appears in the prose only in the M1 check line.Why it matters
The course's first hands-on command can fail for a real slice of the any-OS audience at the worst moment for first impressions — against the any-OS/honesty promises.
Proposed change
After the version check in Module 1, add one prominent line: "Whichever of
python/python3printed a 3.10+ version is the command to use everywhere in this course — ifpythonisn't found, usepython3." Keep the READMEs onpython, but flag the substitution once.Acceptance criteria
python3wherepythonis absent, once and prominently.Affected files
modules/01-the-copy-paste-problem/README.mdReferences
Source finding F11 (realVotes 3/3). Touches locked exemplar Module 1 — preserve voice. Related: F28 (security-scan.sh bare
python).Filed from an adversarial multi-agent course review (217 raw findings → 54 adversarially-verified survivors). Scoped for manual review; intentionally not auto-assigned to an agent.