Strengthen M1 Seam 1; fix M6 conflict labels (#36,#37) (#67)

Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
This commit was merged in pull request #67.
This commit is contained in:
2026-06-22 17:35:47 -04:00
committed by Claude (agent)
parent 3f096c71ff
commit f7011d4211
2 changed files with 12 additions and 7 deletions
+10 -5
View File
@@ -197,11 +197,16 @@ You now have every module's files locally, including this one's under
Now reproduce each failure deliberately. Keep the AI strictly in the **browser chat** — no Now reproduce each failure deliberately. Keep the AI strictly in the **browser chat** — no
editor-integrated tools yet (those arrive in Module 4). This is the "before" picture on purpose. editor-integrated tools yet (those arrive in Module 4). This is the "before" picture on purpose.
1. **Seam 1 (multiple files).** Paste *only* `cli.py` into your chat and ask: *"Add a `clear` 1. **Seam 1 (multiple files).** First mark a task done so there's something to hide — `python cli.py
command that removes all tasks."* Apply whatever it gives you. Now run `python cli.py clear`. done 0`, then `python cli.py list` shows it as `[x]`. Now paste *only* `cli.py` into your chat and
Notice what the AI didn't know: it couldn't see `tasks.py`, so if a clean implementation belonged ask: *"Make the `list` command hide tasks that are already done."* Apply whatever it gives you and
there, it had to guess or cram it into the file it could see. Feel how *you* had to be the one to run `python cli.py list`. The clean version of this change lives in `tasks.py` — the file you
know which files were involved. *didn't* paste: open it and you'll see `render()` already owns the `[x]`/`[ ]` box-and-index
formatting, and a `pending()` helper already returns exactly the not-done tasks. But the chat
never saw that file, so it had to either guess at methods it couldn't see (and `python cli.py
list` errors out) or reach into the raw task list and *re-create* that box-and-index formatting
inside `cli.py` — duplicating logic that already existed one file over. Either way, *you* had to
be the one who knew the change really belonged in the other file.
2. **Seam 2 (across time).** Close the chat tab. Open a new one. Ask it to *"continue where we left 2. **Seam 2 (across time).** Close the chat tab. Open a new one. Ask it to *"continue where we left
off."* Watch it have no idea what you were doing. The project's real state is sitting right there off."* Watch it have no idea what you were doing. The project's real state is sitting right there
@@ -47,14 +47,14 @@ git branch -D "$BRANCH_B" >/dev/null 2>&1 || true
# 5. Branch A: append one version of a line, commit. # 5. Branch A: append one version of a line, commit.
git switch -c "$BRANCH_A" >/dev/null git switch -c "$BRANCH_A" >/dev/null
printf '\n<!-- practice line: KEEP THE LEFT VERSION -->\n' >> "$FILE" printf '\n<!-- practice line added on branch A -->\n' >> "$FILE"
git add "$FILE" git add "$FILE"
git commit -q -m "practice: append line (branch A)" git commit -q -m "practice: append line (branch A)"
# 6. Branch B (off the original branch): append a DIFFERENT version to the same spot, commit. # 6. Branch B (off the original branch): append a DIFFERENT version to the same spot, commit.
git switch "$START_BRANCH" >/dev/null git switch "$START_BRANCH" >/dev/null
git switch -c "$BRANCH_B" >/dev/null git switch -c "$BRANCH_B" >/dev/null
printf '\n<!-- practice line: KEEP THE RIGHT VERSION -->\n' >> "$FILE" printf '\n<!-- practice line added on branch B -->\n' >> "$FILE"
git add "$FILE" git add "$FILE"
git commit -q -m "practice: append line (branch B)" git commit -q -m "practice: append line (branch B)"