Flag the python/python3 command-name substitution once, prominently, in Module 1 #31
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
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.