The plan stands, the tag final-start is in place, and now you build. This lesson is the longest of the course and the one with the
least new text. It gives you a loop that you run through for every seam of your plan, and a script that checks the history.
How each individual step works is in lessons M2 to M6; here it says when to open them.
The loop per seam
Every seam from seams.csv goes through the same six steps, in this order:
| Step | What you do | Where it is |
|---|---|---|
| 1. Safety net | record the current behavior before anything is changed: test, copy of the database | lesson M2.1 |
| 2. Change | implement the seam, so small that it fits into one commit | the lesson in the table below |
| 3. Test | a test that records the new version, and a counter-check that turns it red | lesson M2.1, M4.3 (comparison of old and new) |
| 4. Commit | one step, one commit, title in Conventional Commits form | house rules, lesson M1.2 |
| 5. Evidence | a command or test with an exit code that the reviewer can repeat | the house rules: the exit code counts |
| 6. Plan | tick off or change the seam in plan.md, with one sentence |
lesson M1.4: the plan is a working document |
The order is intentional. Whoever changes first and writes a test afterward has only recorded what the new code does, not what the old one did. If you find nothing in step 1 that can be recorded, that is a finding: Then this seam is not yet ready and moves back in the order.