Maintain the project roadmap at docs/roadmaps/$ARGUMENTS by moving tasks between sections based on completion status and blockers, and keeping mermaid diagrams in sync.
If $ARGUMENTS provided (e.g., "m1", "m2"), process only that milestone; otherwise process all milestones.
Steps
Read docs/roadmaps/mvp.md
For each milestone (or specified milestone):
Move completed tasks:
- Scan "In Progress" and "To Do" sections for tasks marked
- [x]
- Move completed tasks to "Completed" section
- Maintain chronological order (most recent completions at bottom)
Move unblocked tasks:
- Scan "Blocked" section for tasks that are no longer blocked
- Infer unblocked status from:
- Tasks they were waiting on are now complete
- Prerequisite features mentioned in description now exist
- External blockers no longer apply (use judgment)
- Move unblocked tasks to "To Do" section
Organize "In Progress":
- Suggest moving high-priority "To Do" tasks to "In Progress" if:
- They're logical next steps after current in-progress work
- They're blocking other tasks
- They're explicitly marked as urgent/priority
- Ask user to confirm moves to "In Progress"
Update Progress Map (single aggregated diagram at <a name="map"> section):
For completed tasks:
- Remove the node definition line entirely (e.g.,
1WA.12[...])
- Remove all edge relationships involving that task:
- As source:
1WA.12 --> X (remove entire line)
- As target:
X --> 1WA.12 (remove 1WA.12 from the line, keep other targets)
- In combined edges:
A --> B & 1WA.12 & C becomes A --> B & C
- If removal leaves a dangling
&, clean it up
For newly unblocked tasks:
- Add
:::open class to tasks that now have no incoming dependencies
- A task is unblocked when all its blockers are either completed or removed
Preserve task numbering:
- Never renumber existing tasks
- Task format:
{Milestone}{Category}.{Seq} (e.g., 1WA.12, 2TI.7)
- Sub-tasks: alpha suffix (e.g., 2TI.3a, 2TI.3b)
- New tasks: append with next number in category sequence
Report changes:
- List tasks moved (from β to, with task ID and description)
- Group by milestone
- Highlight any tasks suggested for "In Progress"
- List Progress Map modifications (nodes removed, edges updated, open classes added)
Notes
- Preserve all markdown structure, headings, and formatting
- Keep checkbox syntax:
- [ ] (open/in-progress/blocked), - [x] (completed)
- Maintain all section anchors:
#m1-doing, #m1-todo, #m1-blocked, #m1-done
- Use inference for unblocked detection, but be conservative (when uncertain, leave in Blocked)
- Mermaid class definitions at bottom of Progress Map diagram must remain:
classDef default,blocked fill:#f9f; etc.
1---2name: doc-update-roadmap-omega3description: {{ πππ }} Update project roadmap task organization4---5
6Maintain the project roadmap at docs/roadmaps/$ARGUMENTS by moving tasks between sections based on completion status and blockers, and keeping mermaid diagrams in sync.
7
8If $ARGUMENTS provided (e.g., "m1", "m2"), process only that milestone; otherwise process all milestones.
9
10## Steps
11
121. Read `docs/roadmaps/mvp.md`
132. For each milestone (or specified milestone):
14
15 **Move completed tasks:**
16 - Scan "In Progress" and "To Do" sections for tasks marked `- [x]`
17 - Move completed tasks to "Completed" section
18 - Maintain chronological order (most recent completions at bottom)
19
20 **Move unblocked tasks:**
21 - Scan "Blocked" section for tasks that are no longer blocked
22 - Infer unblocked status from:
23 - Tasks they were waiting on are now complete
24 - Prerequisite features mentioned in description now exist
25 - External blockers no longer apply (use judgment)
26 - Move unblocked tasks to "To Do" section
27
28 **Organize "In Progress":**
29 - Suggest moving high-priority "To Do" tasks to "In Progress" if:
30 - They're logical next steps after current in-progress work
31 - They're blocking other tasks
32 - They're explicitly marked as urgent/priority
33 - Ask user to confirm moves to "In Progress"
34
353. **Update Progress Map** (single aggregated diagram at `<a name="map">` section):
36
37 **For completed tasks:**
38 - Remove the node definition line entirely (e.g., `1WA.12[...]`)
39 - Remove all edge relationships involving that task:
40 - As source: `1WA.12 --> X` (remove entire line)
41 - As target: `X --> 1WA.12` (remove `1WA.12` from the line, keep other targets)
42 - In combined edges: `A --> B & 1WA.12 & C` becomes `A --> B & C`
43 - If removal leaves a dangling `&`, clean it up
44
45 **For newly unblocked tasks:**
46 - Add `:::open` class to tasks that now have no incoming dependencies
47 - A task is unblocked when all its blockers are either completed or removed
48
494. Preserve task numbering:
50 - Never renumber existing tasks
51 - Task format: `{Milestone}{Category}.{Seq}` (e.g., 1WA.12, 2TI.7)
52 - Sub-tasks: alpha suffix (e.g., 2TI.3a, 2TI.3b)
53 - New tasks: append with next number in category sequence
54
555. Report changes:
56 - List tasks moved (from β to, with task ID and description)
57 - Group by milestone
58 - Highlight any tasks suggested for "In Progress"
59 - List Progress Map modifications (nodes removed, edges updated, open classes added)
60
61## Notes
62
63- Preserve all markdown structure, headings, and formatting
64- Keep checkbox syntax: `- [ ]` (open/in-progress/blocked), `- [x]` (completed)
65- Maintain all section anchors: `#m1-doing`, `#m1-todo`, `#m1-blocked`, `#m1-done`
66- Use inference for unblocked detection, but be conservative (when uncertain, leave in Blocked)
67- Mermaid class definitions at bottom of Progress Map diagram must remain: `classDef default,blocked fill:#f9f;` etc.