Module 6: reframe Part C around the AI silently auto-resolving conflicts #99

Merged
justin merged 1 commits from claude/issue-97 into main 2026-06-23 09:07:34 -04:00
Owner

A current frontier editor-agent told to "merge X into Y" resolves the conflict and completes the merge in one turn, so the learner never sees a <<<<<<</=======/>>>>>>> marker. Module 6's old Part C assumed Git would stop and ask, teaching a skill (edit the markers by hand) the AI now performs before you can blink.

This reworks Part C into a three-beat sequence:

  1. Witness the conflict once by directing the agent to stop on conflict and show it (the stop-on-conflict idiom already proven in Module 26), so the learner sees one real conflict and recognizes the shape.
  2. Undo it with git merge --abort.
  3. Let the AI merge for real and auto-resolve silently, then make the punchline the verify: git diff after every merge is the only thing standing between you and a silently-bad resolution that left no error behind.

The takeaway lands in prose: the skill is no longer "resolve markers by hand," it's "know a conflict can happen and check the AI's invisible resolution."

Matching surfaces updated (so the module tells one story)

  • Learning objective Fix Module 14 Part C recovery: `git restore` is a no-op on the committed bad change, so CI never goes green (#4)
  • Key concept "Merge conflicts: when two changes collide" (adds the auto-resolution reality)
  • "The AI angle" conflict bullet
  • "Where it breaks" plausible-and-wrong bullet (the post-merge git diff is the safeguard because the conflict was invisible)
  • "Check for understanding"
  • blog/07-branches-sandboxes.md conflict section (sibling surface kept in sync)
  • lab/make-conflict.sh on-screen guidance ("read the markers yourself first"); mechanic unchanged

Verification

  • De-slop gate: grep -n '—' clean and no banned words in all changed files.
  • make-conflict.sh smoke-tested in a throwaway repo: still manufactures a real conflict (3 marker lines), fallback intact.
  • tools/build_wiki.py renders all 27 modules without error.
  • Stop-lines honored: AI-drives-git reframe preserved (the by-hand git status/git diff are verification, not git-by-hand norm), no tasks-app code changed, Module 26 untouched, stats/purge stay fictional.

Closes #97

🤖 Generated with Claude Code

https://claude.ai/code/session_01KCv6VTpBG6Zo4xR4AvUQpj

A current frontier editor-agent told to "merge X into Y" resolves the conflict and completes the merge in one turn, so the learner never sees a `<<<<<<<`/`=======`/`>>>>>>>` marker. Module 6's old Part C assumed Git would stop and ask, teaching a skill (edit the markers by hand) the AI now performs before you can blink. This reworks Part C into a three-beat sequence: 1. **Witness the conflict once** by directing the agent to stop on conflict and show it (the stop-on-conflict idiom already proven in Module 26), so the learner sees one real conflict and recognizes the shape. 2. **Undo it** with `git merge --abort`. 3. **Let the AI merge for real and auto-resolve silently**, then make the punchline the verify: `git diff` after every merge is the only thing standing between you and a silently-bad resolution that left no error behind. The takeaway lands in prose: the skill is no longer "resolve markers by hand," it's "know a conflict can happen and check the AI's invisible resolution." ### Matching surfaces updated (so the module tells one story) - Learning objective #4 - Key concept "Merge conflicts: when two changes collide" (adds the auto-resolution reality) - "The AI angle" conflict bullet - "Where it breaks" plausible-and-wrong bullet (the post-merge `git diff` is the safeguard *because* the conflict was invisible) - "Check for understanding" - `blog/07-branches-sandboxes.md` conflict section (sibling surface kept in sync) - `lab/make-conflict.sh` on-screen guidance ("read the markers yourself first"); mechanic unchanged ### Verification - De-slop gate: `grep -n '—'` clean and no banned words in all changed files. - `make-conflict.sh` smoke-tested in a throwaway repo: still manufactures a real conflict (3 marker lines), fallback intact. - `tools/build_wiki.py` renders all 27 modules without error. - Stop-lines honored: AI-drives-git reframe preserved (the by-hand `git status`/`git diff` are verification, not git-by-hand norm), no `tasks-app` code changed, Module 26 untouched, `stats`/`purge` stay fictional. Closes #97 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01KCv6VTpBG6Zo4xR4AvUQpj
justin added 1 commit 2026-06-23 09:04:15 -04:00
A current frontier editor-agent told to "merge X into Y" resolves the
conflict and completes the merge in one turn, so the learner never sees a
marker. The old Part C assumed Git would stop and ask. Rework the lab into
a three-beat sequence: witness the conflict once (agent stop-on-conflict
idiom, as in Module 26), undo it with `git merge --abort`, then let the AI
merge for real and auto-resolve while the learner does the one job still
theirs: verify with `git diff` after every merge.

Updates the matching surfaces so they tell one story: learning objective
#4, the Merge-conflicts key concept, the AI-angle bullet, the
Where-it-breaks bullet, Check-for-understanding, the blog mirror, and the
make-conflict.sh on-screen guidance (read the markers yourself first).

Closes #97

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KCv6VTpBG6Zo4xR4AvUQpj
justin merged commit 8e0ae0d58a into main 2026-06-23 09:07:34 -04:00
Sign in to join this conversation.