Four real-capture terminal screenshots covering the last of the automatable
blog placeholders:
- m12-reflog.png: real git reflog on a demo repo where an agent's
reset --hard lost a "6h of work" commit. The lost
commit line (HEAD@{2}, feat: add count command) is
highlighted amber so the reader's eye lands on the
recovery target.
- u4-mcp.png: the tasks MCP server actually queried via stdio
JSON-RPC (real tools/list response). Shows the
project's .mcp.json, then claude mcp list marking
tasks as Connected, then a tool list with the real
tool signatures (list_tasks() and add_task(title:
string)) with their live descriptions from the server.
- u4-orient-diff.png: two side-by-side terminals. Left: real head -18 of
ORIENT.md produced by the M23 lab's orient.py against
a small quotient demo project. Right: a real, tightly
scoped git diff on src/quotient.py adding a
divide-by-zero guard. Facts first, then one small
change, exactly M23's teaching.
- u5-reviewer.png: real python3 reviewer.py apply ai-review.sample.json
from the M24 lab. Shows the reviewer's output: summary,
three findings sorted by severity (BLOCKER in red,
SUGGESTION in amber, NIT dim), the agent's
recommendation (request_changes), and the explicit
"human decides" gate section.
Uploaded to WP as media 17197 (M12), 17198+17199 (Unit 4), 17200 (Unit 5).
Embedded in drafts #17132 (M12), #17136 (Unit 4), #17138 (Unit 5), all
scheduled: M12 Thu 2026-08-06, Unit 4 Thu 2026-08-13, Unit 5 Tue 2026-08-18.
Unit 3 (#17134, Tue 2026-08-11) and Capstone (#17140, Thu 2026-08-20) are
scheduled and awaiting Justin's screenshots of a real red-CI PR (recklessop/
m11-worktrees-demo#5) and a real green-CI PR (recklessop/m11-worktrees-demo#4)
respectively, both set up by this batch.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TfzV5QvtPDz8LJS3Pu5VLT
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
A standalone blog/ folder (not course content) with drafts for jpaul.me:
an announcement, a getting-started piece, then a hybrid weekly series —
one post per module for Units 1-2 (posts 03-13) and one per unit for the
back half (14-16) plus a capstone finale (17). Each post carries WordPress
metadata, a [COURSE LINK] placeholder, and [insert screenshot] blocks for
Justin to fill before publishing. README.md holds the manifest + checklist.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015EghAChc9UbcF78t55mfdf