Running-example consistency: paths, tasks.json, command collisions (#7,#10,#11) (#57)

Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
This commit was merged in pull request #57.
This commit is contained in:
2026-06-22 15:35:51 -04:00
committed by Claude (agent)
parent 848ad14e3c
commit 06b9f8f308
14 changed files with 192 additions and 136 deletions
@@ -269,7 +269,11 @@ copy-paste loop back in Module 1, now done right.
CLI. Use the "How to choose" criteria above; any tool that shows diffs and has an approval mode is
fine.
- Your model/provider credentials for that tool.
- The verify script in this module's `lab/verify.sh`.
- The verify script in this module's `lab/verify.sh`. **Convention for every lab script from here on:**
the course's scripts live in the course repo under `modules/NN/lab/`, but your `tasks-app` is a
separate folder (Module 1) — so when a step runs one, **copy the script into `tasks-app` first, then
run it by name**. (Same copy-it-in move you used for the instructions file in Module 5; use the real
path to wherever you unzipped the course in place of `/path/to/`.)
### Part A — Wire it up and confirm it can read
@@ -322,10 +326,11 @@ copy-paste loop back in Module 1, now done right.
gone.
7. **Verify it runs.** Use the provided script, which exercises the new command end to end across
both files:
both files. Copy it into `tasks-app` first (see *You'll need*), then run it from there:
```bash
bash lab/verify.sh
cp /path/to/modules/04-getting-the-ai-out-of-the-browser/lab/verify.sh .
bash verify.sh
```
It should add tasks, delete one by index, and confirm the right task remains. If it fails, don't
@@ -357,7 +362,7 @@ copy-paste loop back in Module 1, now done right.
```bash
git restore .
git diff # empty — the AI's mess is gone, byte for byte
bash lab/verify.sh # still passes — you're back at your good state
bash verify.sh # still passes — you're back at your good state (you copied it in at step 7)
```
That's the Module 2 safety net catching a Module 4 mistake. Internalize how cheap that was.
@@ -413,7 +418,8 @@ Be honest about the limits of working this way:
- An agentic editor or CLI tool is wired to your `tasks-app` repo and correctly answers "what does
this project do and which files is it in?" from the actual files — no pasting.
- You have a committed `delete` command that you watched the AI write across **both** `tasks.py` and
`cli.py`, that you reviewed with `git diff` before committing, and that `bash lab/verify.sh` passes.
`cli.py`, that you reviewed with `git diff` before committing, and that `bash verify.sh` passes
(after copying `verify.sh` into `tasks-app`).
- You have, on purpose, let the AI make a change and then erased it with `git restore .`, watching
`git diff` go empty.
- You can explain, in one sentence, why letting an AI edit your files directly is safe — and your