Commit Graph

20 Commits

Author SHA1 Message Date
claude 535d067a3d feat(blog): CI screenshots for Unit 3 (red) and Capstone (green)
CI / check (pull_request) Successful in 8s
The last two inline screenshots for the blog series, both real captures from
recklessop/m11-worktrees-demo (scratch CI demo repo):

- u3-ci-red.png:            the failed CI run on PR #5 (wip: refactor
                            TaskList.add). Lint pass, Security scan pass,
                            Tests FAIL. The Test step is expanded so the
                            assertion that caught the regression is visible.
                            Screenshot target for Unit 3's "CI turns red on
                            a bad commit; then someone fixes it" story.

- capstone-ci-green.png:    the green Checks panel on PR #4 (feat: add count
                            command). Lint pass, Tests pass, Security scan
                            pass — the exact "lint + tests + security scan
                            all passing" gate the capstone placeholder
                            asks for.

Both captured by Justin. Uploaded to WP as media 17204 (red) and 17205
(green). Embedded in scheduled drafts #17134 (Unit 3, Tue 2026-08-11) and
#17140 (Capstone, Thu 2026-08-20). All 17 blog posts now have their images
in place; the entire series through 2026-08-20 is queued.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TfzV5QvtPDz8LJS3Pu5VLT
2026-07-02 17:19:30 -04:00
claude 019426b7d1 Inline screenshots: M12, Unit 4, Unit 5 (final terminal batch) (#127)
CI / check (push) Successful in 6s
Sync to GitHub mirror / sync (push) Successful in 10s
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-07-02 16:59:28 -04:00
claude 7c5920dc1a Inline screenshots for the M11 (collaboration) post (#126)
CI / check (push) Successful in 6s
Sync to GitHub mirror / sync (push) Successful in 10s
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-07-02 16:03:27 -04:00
claude f61c46fe19 Inline screenshot for the M10 (reviewing) blog post (#124)
CI / check (push) Successful in 6s
Sync to GitHub mirror / sync (push) Successful in 8s
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-07-02 15:45:48 -04:00
claude bdbb91f1d1 Inline screenshot for the M9 (issues) blog post (#123)
CI / check (push) Successful in 8s
Sync to GitHub mirror / sync (push) Successful in 9s
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-07-02 15:37:00 -04:00
claude 164559fcb5 Inline screenshots for the M8 blog post (#122)
CI / check (push) Successful in 7s
Sync to GitHub mirror / sync (push) Successful in 9s
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-07-02 15:16:39 -04:00
claude 585aeabd9a Inline screenshot for the M7 (worktrees) blog post (#121)
CI / check (push) Successful in 7s
Sync to GitHub mirror / sync (push) Successful in 9s
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-07-02 15:01:51 -04:00
claude efc5161698 Inline terminal screenshot for the M6 blog post (#120)
CI / check (push) Successful in 7s
Sync to GitHub mirror / sync (push) Successful in 8s
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-07-02 14:58:03 -04:00
claude 60989dc640 Inline terminal screenshot for the M5 blog post (#119)
CI / check (push) Successful in 8s
Sync to GitHub mirror / sync (push) Successful in 8s
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-07-02 14:53:32 -04:00
claude 5c745e9748 Inline terminal screenshots for the M4 blog post (#118)
CI / check (push) Successful in 8s
Sync to GitHub mirror / sync (push) Successful in 9s
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-07-02 14:43:53 -04:00
claude 1be4e5b56c Inline terminal screenshots for the M3 blog post (#117)
CI / check (push) Successful in 6s
Sync to GitHub mirror / sync (push) Successful in 8s
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-07-01 10:42:53 -04:00
claude 11b1995d77 Crop inline M2 screenshots to terminal-only (#116)
CI / check (push) Successful in 6s
Sync to GitHub mirror / sync (push) Successful in 11s
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-07-01 10:37:30 -04:00
claude c4479e1041 Inline terminal screenshots for the M2 blog post (#115)
CI / check (push) Successful in 6s
Sync to GitHub mirror / sync (push) Successful in 8s
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-07-01 10:31:00 -04:00
claude dec55e4c9f GitHub social-preview image (1280x640) (#114)
CI / check (push) Successful in 7s
Sync to GitHub mirror / sync (push) Successful in 9s
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-06-24 23:25:34 -04:00
claude 75d9e2b419 Featured images for the 17 blog posts + square hero (#113)
CI / check (push) Successful in 7s
Sync to GitHub mirror / sync (push) Successful in 10s
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-06-24 22:54:22 -04:00
claude 95e5911957 Use python3 as the canonical command name course-wide (#104) (#105)
CI / check (push) Successful in 7s
Sync course wiki / sync-wiki (push) Successful in 4s
2026-06-23 20:25:05 -04:00
justin 0f8e7497a4 Module 6: reframe Part C around the AI silently auto-resolving conflicts (#97)
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
2026-06-23 09:03:40 -04:00
claude 863435915c De-slop the syllabus and the blog (em-dashes + banned words) (#96)
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-06-23 07:28:55 -04:00
claude 3671541d6b Fill blog course-link placeholders with the course URL (#76)
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-06-22 19:15:32 -04:00
claude f47ccee96d docs(blog): add 17-post jpaul.me blog series for the course
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
2026-06-22 17:49:00 -04:00