-
effort: migration 003 splits sets by kind; add EffortKind discriminant
-
templates: Exercise.load_unit is a LoadUnit enum, not a raw string
-
values, heuristics: name the primitives and gather the magic numbers
-
templates screen: list, edit form, tag toggles