Module Planner
Goal: turn a concept DAG into a teachable module sequence with clear objectives and outputs.
Inputs
- outline/concept_graph.yml
Outputs
- outline/module_plan.yml
Output schema (recommended)
-
modules : ordered list of modules
-
id , title
-
objectives (3–6 measurable bullets)
-
concepts (node ids from outline/concept_graph.yml )
-
outputs (what the learner produces)
-
running_example_steps (optional but recommended)
Workflow
-
Read outline/concept_graph.yml and topologically sort concepts.
-
Cluster concepts into modules (keep module scope coherent; avoid “misc”).
-
For each module:
-
write measurable objectives
-
define concrete outputs (code/artifact)
-
specify how the running example advances
-
Write outline/module_plan.yml .
Definition of Done
-
outline/module_plan.yml exists and modules are ordered by prerequisites.
-
Every module has objectives + outputs.
-
Every concept node from outline/concept_graph.yml is covered by at least one module.
Troubleshooting
Issue: modules are too many / too granular
Fix:
- Merge adjacent modules with shared prerequisites; target ~5–12 modules for most tutorials.
Issue: objectives are not verifiable
Fix:
- Rewrite objectives so exercise-builder can attach a concrete exercise for each module.