-
pdf: extend e2e test to cover a mixed-kind session
-
generate: dispatch on effort_kind via compute_prescription_any
-
effort: migration 003 splits sets by kind; add EffortKind discriminant
-
templates: Exercise.load_unit is a LoadUnit enum, not a raw string
-
progression: Prescription carries Load and Reps newtypes
-
pdf: redesign as a technical session sheet
-
pdf: end-to-end test + relative data path
-
pdf export via typst subprocess