De-slop: remove every em-dash + banned words across all modules + capstone (#94)
Sync course wiki / sync-wiki (push) Successful in 4s
Sync course wiki / sync-wiki (push) Successful in 4s
Co-authored-by: claude <claude@jpaul.io> Co-committed-by: claude <claude@jpaul.io>
This commit was merged in pull request #94.
This commit is contained in:
+10
-10
@@ -1,4 +1,4 @@
|
||||
# Capstone — The Full Loop
|
||||
# Capstone: The Full Loop
|
||||
|
||||
> **One feature, taken end to end, with every module doing its job in sequence.** This is the finale:
|
||||
> not new material, but proof that the twenty-seven pieces you learned separately are actually one
|
||||
@@ -127,13 +127,13 @@ swappable part; the workflow is the durable skill*), and you just lived it inste
|
||||
|
||||
## Hands-on lab
|
||||
|
||||
**Lab language:** shell + Python, on the `tasks-app` repo. You'll direct Claude Code (`claude` — sub
|
||||
**Lab language:** shell + Python, on the `tasks-app` repo. You'll direct Claude Code (`claude`; sub
|
||||
your own agent) to do the git and the edits (M4); you make the calls and verify each result.
|
||||
|
||||
**You'll need:** the `tasks-app` repo in the prerequisite state above, Claude Code (or your own
|
||||
agent), your forge account, and a working Docker install.
|
||||
|
||||
### Part A — Issue and branch (M9, M6, M11)
|
||||
### Part A: Issue and branch (M9, M6, M11)
|
||||
|
||||
1. File the issue on your forge. Title: *"Task due dates + `overdue` command + `/overdue` endpoint."*
|
||||
In the body, write the acceptance criteria as you'd hand them to a contributor you don't trust to
|
||||
@@ -157,7 +157,7 @@ agent), your forge account, and a working Docker install.
|
||||
git branch # the new branch exists and is checked out
|
||||
```
|
||||
|
||||
### Part B — Implement with the AI (M4, M5)
|
||||
### Part B: Implement with the AI (M4, M5)
|
||||
|
||||
3. Give Claude Code the issue, not a vague wish:
|
||||
|
||||
@@ -179,9 +179,9 @@ agent), your forge account, and a working Docker install.
|
||||
```
|
||||
|
||||
> *Verify-before-publish: refresh the example due dates so the "future" one is still in the future
|
||||
> at publish time — a hardcoded near-future date silently inverts this assertion once it passes.*
|
||||
> at publish time; a hardcoded near-future date silently inverts this assertion once it passes.*
|
||||
|
||||
### Part C — Tests (M13)
|
||||
### Part C: Tests (M13)
|
||||
|
||||
5. Have the AI extend `test_tasks.py`, then **read the test names** and confirm the boundaries are
|
||||
actually covered. If "due today" and "no due date" aren't each their own test, tell the AI to add
|
||||
@@ -198,7 +198,7 @@ agent), your forge account, and a working Docker install.
|
||||
git status # nothing stray left uncommitted
|
||||
```
|
||||
|
||||
### Part D — PR, CI, security, review (M10, M11, M14, M15, M19)
|
||||
### Part D: PR, CI, security, review (M10, M11, M14, M15, M19)
|
||||
|
||||
6. Tell the AI to push the branch and open the PR, with `Closes #47` in the description. Then verify
|
||||
on the forge that the PR exists, targets `main`, and carries the closing keyword:
|
||||
@@ -220,7 +220,7 @@ agent), your forge account, and a working Docker install.
|
||||
AI fix it on the branch, let CI re-run, and review again. Catching this *here*, before merge, is the
|
||||
entire point of the gate.
|
||||
|
||||
### Part E — Merge and deploy (M11, M16, M18, M17)
|
||||
### Part E: Merge and deploy (M11, M16, M18, M17)
|
||||
|
||||
9. With CI green and the diff honest, squash-merge. Issue #47 closes itself.
|
||||
|
||||
@@ -235,7 +235,7 @@ agent), your forge account, and a working Docker install.
|
||||
reproducible artifact (M16), configured from the environment (M17), behind a self-rolling-back
|
||||
health check (M18).
|
||||
|
||||
### Part F — Rehearse recovery (M12)
|
||||
### Part F: Rehearse recovery (M12)
|
||||
|
||||
11. **Have the AI sync local `main` first.** The squash-merge in step 9 happened on the forge, so the
|
||||
new commit lives only on the remote and your local `main` is one behind. Tell the AI to pull
|
||||
@@ -264,7 +264,7 @@ agent), your forge account, and a working Docker install.
|
||||
|
||||
---
|
||||
|
||||
## Stretch variant — run the same feature the Unit 5 way (optional)
|
||||
## Stretch variant: run the same feature the Unit 5 way (optional)
|
||||
|
||||
The main loop kept you in the driver's seat, directing each step. Now run the **identical** feature
|
||||
with autonomous agents *inside* the pipeline and watch how much of the loop keeps running when you
|
||||
|
||||
Reference in New Issue
Block a user