Repeat: Red → Green → Commit
Apply the same pattern for each module:
plotter.py: tests → implementation → commit
milestones.py: tests → implementation → commit
main.py: integration → commit
Each cycle produces two commits: tests first, then implementation. Each commit includes its corresponding diary entry.
Or with an agentic tool like Claude Code, you can compress the cycle:
"Implement data_fetcher with tests. If tests pass, commit and move to plotter."