Fixed
- Summary page: project name heading is now editable inline — the element ID
collision with the nav span was causing
contentEditableto bind to the wrong element
Added
- Milestones inferred from tasks: when a task is saved with a
milestonefield, an empty milestone file is auto-created if one does not exist yet;GET /api/milestonesalso scans existing tasks on first load and creates any missing files, so older projects are migrated automatically