Capstone Exercises
Unlike earlier modules, the "exercise volume" here is your capstone itself. You do not need a separate problem platform. You need to deploy, break, and redeploy the real thing multiple times. The exercises below are organized as increasing-stakes passes over the same system.
How To Use This Page
- Do the concept-level practice pages first.
- Each exercise below targets a real, graded piece of the capstone.
- Log mistakes with tags:
state-drift,secret-in-repo,oidc-trust-too-broad,rollback-path-untested,migration-not-reversible,smoke-too-shallow,runbook-stale,release-note-missing.
Lane 1: First Deployable
Use this lane when nothing is deployed yet.
- Stand up the remote Terraform backend, confirm
terraform initworks. - Commit the first
deploy.ymlthat runsbuild-testsuccessfully. - Wire OIDC to your cloud and assume the deploy role from a workflow (no deploy yet).
- Commit
library/raw/decisions/001-platform.md,library/raw/decisions/002-topology.md,library/raw/decisions/003-environments.md.
Target outcomes:
terraform planruns on every PR- OIDC
aws sts get-caller-identity(or equivalent) succeeds in a workflow - three ADRs are committed and reviewable
Lane 2: First Real Deploy
Use this lane when Lane 1 is complete and the system is not yet in prod.
- Deploy to
prodfrommainvia the pipeline. - Add the three-check smoke script and wire it into the deploy step.
- Write the first release note in
CHANGELOG.md, authored by hand within an hour of deploy. - Write
RUNBOOK.mdv1 after the first deploy. Print and read aloud.
Target outcomes:
- a public URL serving the capstone
- a green pipeline run whose smoke step passed
CHANGELOG.mdwith at least one authored entryRUNBOOK.mdthat fits on one page
Lane 3: Rollback and Migration
Use this lane when Lane 2 is complete and you can deploy at will.
- Rehearse a rollback on staging or in a quiet prod window. Commit
library/raw/rollback-rehearsals/001.mdwith timestamps. - Ship one expand-contract migration. Commit the up/down pair and
library/raw/migrations/<id>.md. - Deliberately fail a smoke check in a PR; verify the pipeline blocks promotion.
- Introduce and retire one feature flag within the same semester.
Target outcomes:
- one rollback with a written timer under 10 minutes
- one expand-contract migration visible across two commits on
main - one CI run that correctly failed due to a smoke test
- one flag retired, both branches deleted in the retirement PR
Lane 4: Operational Polish
Use this lane once Lanes 1-3 are complete and you have roughly 10 days before capstone defense.
- Add preview environments, or add a staging promotion with manual approval -- whichever you do not already have working.
- Wire cost alerts on the cloud project (e.g., "email me if monthly spend > $X").
- Invite a peer to deploy using only
RUNBOOK.md. Record the minutes they paused on each line. Fix the top three. - Back-fill release notes for any deploys that shipped without one this semester.
Target outcomes:
- one preview or staging flow verified on one PR or one merge
- one cost alert visible in the cloud console
- one "stranger deploy" with recorded friction points
CHANGELOG.mdhas a coverage rate of ≥ 90% (entries per deploy)
Self-Curated Mistake Log
Build a log with these minimums:
- 8 mistakes that happened to you in your capstone, not hypothetical
- for each, the tag, the symptom, the fix, and a one-line rule for next time
- at least 2 mistakes per lane
Completion Checklist
- Completed at least Lanes 1-3 in full
- Logged at least 8 real mistakes and corrections
- Peer has successfully deployed from
RUNBOOK.mdalone at least once - Rollback rehearsal executed within two days of first prod deploy
- At least three release notes authored with the
WhyandRisksections