1.5 KiB
Milestone Write-up — M:
Copy this file per milestone (e.g.
MILESTONE-M3.md) and fill it in. The flavor line below is required every milestone, not just the first.
Flavor
(contacts book | gradebook | expense tracker) — same flavor for every milestone
AI used
(none | Tier 2) — see AGENTS.md for what Tier 2 permits
What I built
Which common-interface functions are now implemented, in my own words
(e.g. "list_append/list_find/list_remove over a singly linked list, with
list_free walking and freeing every node and record"). Name the files.
Verification evidence
Paste the output of the gates for this milestone — and the CI report link from Forgejo Actions:
make
make test
make sanitize # ASan/UBSan (M5+)
make valgrind # 0 bytes lost (M5)
Pre-tool prediction
Before running the tool/CI: what did you predict would happen, and which test did you expect to fail? (If nothing failed — say what made you confident.)
Student-authored challenge case
A test or scenario you wrote that the starter didn't cover (e.g. remove the head node, a 10k-record list, empty fields in save/load). What does it check and why does it matter?
Novel transfer
A new use of what you built this milestone — apply the linked list / buffer / store to a different domain (e.g. "if the record were a todo item instead of a contact…") and sketch how your code would change.
Reflection
What broke, what you learned, what you'd do differently next milestone.