fix(running-example): consistent lab-script paths, tasks.json policy, no command collisions
- Lab-script path convention: course scripts live in modules/NN/lab/; copy the one a step needs into tasks-app, then run by bare name (M4/M6/M7/M26 + headers). - tasks.json stays gitignored: M20 verifies via `cli.py list`/`cat tasks.json` (not git diff) and frames runtime state as deliberately ignored; M22 cleanup uses `rm tasks.json`; M10 review-lab gets its own .gitignore. Module 21's lab deliberately ships NO .gitignore (teaching device) — untouched. - Stop running-example command collisions: M5 clear->search, M6 count/clear-> stats/purge, M7 clear/count->wipe/remaining (README + scripts + agent prompts + branch/worktree names). M6 conflict still reproduces on the carried usage line. Closes #7 Closes #10 Closes #11 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TfzV5QvtPDz8LJS3Pu5VLT
This commit is contained in:
@@ -273,7 +273,10 @@ thing you're waiting on.
|
||||
three. Browser-only still works; treat each worktree as a separate copy-paste context, but you'll
|
||||
feel the coordination cost more sharply (which is fine — that's the lesson).
|
||||
- The starter files in this module's `lab/` folder: `orchestration-plan.md`, `fan-out.sh`,
|
||||
`status.sh`, `cleanup.sh`, and three prompts under `lab/agent-prompts/`.
|
||||
`status.sh`, `cleanup.sh`, and three prompts under `lab/agent-prompts/`. As established back in
|
||||
Module 4, the course's lab scripts live in the course repo while `tasks-app` is a separate folder —
|
||||
so **copy the scripts into `tasks-app` and run them by name** (`bash fan-out.sh`), using your real
|
||||
course path in place of `/path/to/`.
|
||||
|
||||
### Part A — Plan the split before you launch anything (this is the lab)
|
||||
|
||||
@@ -294,10 +297,11 @@ thing you're waiting on.
|
||||
|
||||
### Part B — Fan out
|
||||
|
||||
3. From inside `tasks-app`, create a worktree per issue:
|
||||
3. From inside `tasks-app`, copy this module's lab scripts in and create a worktree per issue:
|
||||
|
||||
```bash
|
||||
bash modules/26-orchestrating-multiple-agents/lab/fan-out.sh
|
||||
cp /path/to/modules/26-orchestrating-multiple-agents/lab/*.sh . # fan-out.sh, status.sh, cleanup.sh
|
||||
bash fan-out.sh
|
||||
```
|
||||
|
||||
It runs, in effect:
|
||||
@@ -318,10 +322,11 @@ thing you're waiting on.
|
||||
- `tasks-app-43-docs` ← `lab/agent-prompts/agent-43-docs.md`
|
||||
- `tasks-app-44-clear` ← `lab/agent-prompts/agent-44-clear.md`
|
||||
|
||||
While they run, watch the fleet from a fourth terminal:
|
||||
While they run, watch the fleet from a fourth terminal (run from inside `tasks-app`, where you
|
||||
copied the scripts in step 3):
|
||||
|
||||
```bash
|
||||
bash modules/26-orchestrating-multiple-agents/lab/status.sh
|
||||
bash status.sh
|
||||
```
|
||||
|
||||
It prints each worktree, its branch, and how many commits/changes are in flight — your fleet
|
||||
@@ -369,7 +374,12 @@ thing you're waiting on.
|
||||
git add cli.py && git commit
|
||||
```
|
||||
|
||||
9. Close the issues (Module 11 closes them automatically if the PRs referenced them).
|
||||
9. Close the issues (Module 11 closes them automatically if the PRs referenced them). Then tear the
|
||||
fleet down (from inside `tasks-app`):
|
||||
|
||||
```bash
|
||||
bash cleanup.sh
|
||||
```
|
||||
|
||||
### Part D — Score the orchestration honestly
|
||||
|
||||
|
||||
Reference in New Issue
Block a user