mirror of
https://github.com/harvard-edge/cs249r_book.git
synced 2026-05-07 10:08:50 -05:00
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/harvard-edge/cs249r_book/pull/1616
Author: @profvjreddi
Created: 4/30/2026
Status: ✅ Merged
Merged: 4/30/2026
Merged by: @profvjreddi
Base:
dev← Head:fix/tito-status-m3📝 Commits (2)
1fd623ffix(tinytorch): align tito module status milestone requirements with canonical list (#1612)881aa0afix(tinytorch): show all milestones in tito module status, not just first 3 (#1615)📊 Changes
1 file changed (+18 additions, -7 deletions)
View changed files
📝
tinytorch/tito/commands/module/workflow.py(+18 -7)📄 Description
Summary
Two related bugs in
tito module statusreported byandreagainst TinyTorch v0.1.10. Both live intinytorch/tito/commands/module/workflow.py.Issue #1612 — Milestone 03 advertised as ready after module 6
_check_milestone_readinesscarried its own copy of the milestone-to-modules mapping that had drifted from the canonicalMILESTONE_SCRIPTSdefinition intito/commands/milestone.py(and from_get_milestone_for_modulehigher up in the same file).The drifted list said milestone 03 (MLP Revival, 1986) needed only modules
[1, 2, 3, 4, 5, 6], so the dashboard told students it was ready to unlock as soon as module 6 was done. The milestone actually requires the full training stack through module 8. Milestones 04–06 had similar gaps that omitted modules 7 and/or 8.Fix: updated the list to match the canonical requirements, and added a docstring noting that this list mirrors
MILESTONE_SCRIPTSand must stay in sync.[1..6][1..8][1..6, 8, 9][1..9][1..6, 11..13][1..8, 11..13][1..6, 14..19][1..8, 14..19]Issue #1615 — Milestones after 03 disappear from status
The status display sliced the milestone list with
[:3], so once any three milestones appeared (unlocked or ready), every milestone after that vanished from the output. Once milestones 01, 02, 03 were unlocked, the student would no longer see that milestones 04, 05, 06 were ready to unlock — they appeared to drop off the dashboard entirely.Fix: iterate over the full readiness list. The list has at most six entries, so output stays compact and "ready" milestones beyond the third unlocked one are now visible.
Verification
Reproduced the readiness logic in isolation and confirmed:
[:3]slice would have hidden it).No existing pytest coverage exists for
_check_milestone_readinessorshow_status.python3 -m py_compileon the modified file passes.Test plan
tito module status; confirm milestone 03 is not listed as ready.tito milestone run 01/02/03) with all required modules done, then runtito module status; confirm milestone 04 is still visible as ready (and 01–03 still listed as unlocked).Relates to #1612
Relates to #1615
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.