Commit Graph

52 Commits

Author SHA1 Message Date
claude edf2e03b01 fix(blog): crop inline M2 screenshots to the terminal panel only
CI / check (pull_request) Successful in 7s
Removed the dark canvas around the terminal panels so each inline screenshot
lands as just the terminal on the post's own background. Cropped tight with
PIL by finding the bbox of non-outer-canvas pixels + an 8px pad.

- m2-git-log.png:  1200x628 -> 1016x210
- m2-restore.png:  1200x628 -> 1016x278

Uploaded the cropped versions to WP as new media (17170, 17171), swapped them
into draft #17112, deleted the old un-cropped media (17167, 17168).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TfzV5QvtPDz8LJS3Pu5VLT
2026-07-01 10:37:28 -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 125802616d Drop the bad gh-mirror/ exclude (it blocked the auto-heal) (#112)
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 21:43:45 -04:00
claude c46715b811 Fix sync workflow self-include (polluted GitHub with gh-mirror/) (#111)
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 21:41:13 -04:00
claude 9b6658563b Auto-sync Gitea main to GitHub mirror on every push (#110)
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 21:38:40 -04:00
claude 556b5a7256 M15: change planted secret pattern + note hosted-forge push protection (#109)
Sync course wiki / sync-wiki (push) Successful in 5s
CI / check (push) Successful in 7s
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-06-24 21:12:57 -04:00
claude 70d91722b7 Prep docs/syllabus/README for github.com/recklessop public mirror (#108)
Sync course wiki / sync-wiki (push) Successful in 5s
CI / check (push) Successful in 7s
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-06-24 21:10:08 -04:00
justin 58f54ce745 Module 8: walk through GitHub PAT setup, link SSH as optional (#106) (#107)
Sync course wiki / sync-wiki (push) Successful in 4s
CI / check (push) Successful in 7s
Co-authored-by: Justin Paul <justin@jpaul.me>
Co-committed-by: Justin Paul <justin@jpaul.me>
2026-06-23 20:32:04 -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
claude 7f439212ac Self-contained, skip-friendly lab starting points (#103)
Sync course wiki / sync-wiki (push) Successful in 5s
CI / check (push) Successful in 6s
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-06-23 18:24:36 -04:00
justin 74f23534c0 Module prereqs: sort Prerequisites lists numerically ascending (#102)
CI / check (push) Successful in 5s
Sync course wiki / sync-wiki (push) Successful in 5s
2026-06-23 14:06:28 -04:00
claude edf3f34336 Add CI (build+test) and tools/check.sh (#101)
CI / check (push) Successful in 5s
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-06-23 09:48:32 -04:00
justin 8e0ae0d58a Merge pull request 'Module 6: reframe Part C around the AI silently auto-resolving conflicts' (#99) from claude/issue-97 into main
Sync course wiki / sync-wiki (push) Successful in 5s
Reviewed-on: #99
2026-06-23 09:07:34 -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 173f39ac44 De-slop internal docs + config (repo now fully em-dash-free) (#98)
Sync course wiki / sync-wiki (push) Successful in 4s
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-06-23 08:51:38 -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 66c15800c3 Remove em-dashes from the wiki generator + README (#95)
Sync course wiki / sync-wiki (push) Successful in 5s
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-06-22 23:25:31 -04:00
claude c098933f25 De-slop: remove every em-dash + banned words across all modules + capstone (#94)
Sync course wiki / sync-wiki (push) Successful in 4s
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-06-22 23:21:22 -04:00
claude 513d7e7ac8 Reframe sweep M7-27 + capstone (AI drives git, lesson=theory, de-slop) (#93)
Sync course wiki / sync-wiki (push) Successful in 11s
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-06-22 21:58:36 -04:00
claude a29823f4b3 Reframe M1-6: AI drives git, lesson=theory, de-slop + issue fixes (#92)
Sync course wiki / sync-wiki (push) Successful in 4s
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-06-22 21:41:31 -04:00
claude 2467f25901 Lock direction: AI-drives-git reframe + lesson=theory + Claude Code example (#91)
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-06-22 21:31:37 -04:00
claude 1522721a9a Add prev/next textbook nav to wiki pages (#77)
Sync course wiki / sync-wiki (push) Successful in 4s
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-06-22 19:22:00 -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 e5960c17ab Run wiki sync on docker runners (skip cleanly without token) (#75)
Sync course wiki / sync-wiki (push) Successful in 3s
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-06-22 19:02:47 -04:00
claude b0efe4912d Fix README wiki link (absolute URL; relative form 404s in Gitea) (#74)
Sync course wiki / sync-wiki (push) Has been cancelled
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-06-22 18:55:52 -04:00
claude a3ff56e570 Update learner working-dir path to ~/ai-workflow-course after rename (#73)
Sync course wiki / sync-wiki (push) Has been cancelled
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-06-22 18:54:23 -04:00
claude 3c1c94fb1a Generate the course textbook into the wiki from modules/ (CI sync) (#72)
Sync course wiki / sync-wiki (push) Has been cancelled
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-06-22 18:53:11 -04:00
claude b974dce5f8 Update in-repo references after rename to ai-workflow-course (#71)
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-06-22 18:35:55 -04:00
justin a4ea86fd23 Merge pull request 'docs(blog): jpaul.me blog series for the course (17 posts)' (#69) from claude/blog-posts into main
Reviewed-on: justin/the-workflow-course#69
2026-06-22 18:05:37 -04:00
claude ba66f8a622 Reframe Module 9 worked-examples off already-built features (#40) (#70)
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-06-22 17:51:57 -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
claude f743bb671b Voice + consistency: vary stock formulas, vendor-balance orient.py, unify loop (#48,#49,#51) (#68)
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-06-22 17:45:33 -04:00
claude f7011d4211 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>
2026-06-22 17:35:47 -04:00
claude 3f096c71ff Recovery editor note + refresh CI action pins + scaffold M15 merge (#43,#44,#50) (#66)
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-06-22 17:30:41 -04:00
claude 315cb2c190 Container/runner/MCP lab polish (#41,#42,#45,#46) (#65)
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-06-22 17:21:16 -04:00
claude 6691755060 Module 8 polish: backup check, credentials, forge, prices (#38,#39,#47,#52) (#64)
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-06-22 17:15:40 -04:00
claude 6d28567c12 Git-command chain hygiene (#33,#34,#35) (#63)
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-06-22 17:06:58 -04:00
claude c34052665f Portability: python/python3 note + cross-shell lab commands (#31,#32) (#62)
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-06-22 17:01:27 -04:00
claude 90012ca711 M10: gloss /path/to/, git apply, and review-lab as throwaway (#61) 2026-06-22 16:52:30 -04:00
claude 8830e91846 Capstone recovery + M11 lab honesty (#8,#14,#15,#30) (#60)
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-06-22 16:16:09 -04:00
claude 391df7fc6d Testing/CI/tooling consistency (#9,#20,#21,#22,#23,#28) (#59)
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-06-22 16:07:58 -04:00
claude a6a3cfdc50 Onboarding + make M15 gate catch the plant + M17 override (#6,#17,#18,#19,#29) (#58)
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-06-22 15:48:40 -04:00
claude 06b9f8f308 Running-example consistency: paths, tasks.json, command collisions (#7,#10,#11) (#57)
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-06-22 15:35:51 -04:00
claude 848ad14e3c Deterministic main branch + fix two claims (#5,#13,#16) (#56)
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-06-22 14:58:51 -04:00
claude e2a53c8259 Fix broken git demos/labs in Modules 4, 7, 14 (#2,#3,#4,#12) (#55)
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-06-22 14:52:31 -04:00
claude b061a9da14 Fix Module 25 command injection + lab integrity (#24–#27) (#54)
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-06-22 14:37:19 -04:00
claude 2684095e2f Build out all 27 modules + capstone (#1)
Co-authored-by: claude <claude@jpaul.io>
Co-committed-by: claude <claude@jpaul.io>
2026-06-22 12:19:01 -04:00
justin 4bd586bbd0 Delete HANDOFF.md 2026-06-22 10:07:56 -04:00