[OCaml] High Intensity Training Online
chore Log iteration 2 of the boundary refactor
Record the Viewer and feedback view-model migrations and the remaining workout/routine tree still to move behind DTOs.
RAIL.org
@@ -13,6 +13,22 @@
13
13
:ID: FB3A953A-201F-42C6-84EE-A7BE54F7BF4B
14
14
:END:
15
15
:LOGBOOK:
16
Added:
- [2026-09-09 Wed 15:04] Iteration 2. Two more boundary crossings
17
Added:
removed from the presenter. (1) Viewer DTO: replaced
18
Added:
~trainee:Trainee.t on all 9 page signatures + html_page shell with
19
Added:
~viewer:View_model.Viewer.t {username}; handlers map once per handler
20
Added:
(commit 795f0ac). pages.ml/mli now name no Trainee. (2) Feedback DTO:
21
Added:
logbook feedback list + trend graph now take
22
Added:
View_model.Feedback.report {at_unix; signals: string list;
23
Added:
factor_scores} mapped in the controller; describe_signal/factor_score
24
Added:
moved to handlers (commit ff30e3b). pages.ml no longer names
25
Added:
Evidence.Feedback. 243 tests green; architecture guard green.
26
Added:
27
Added:
Remaining entity crossings in pages.ml (verified via grep): the workout/routine tree only —
28
Added:
- choose_routine/routine: Prescription.Routine.name/.workouts, Repository.routine_id (via id_string).
29
Added:
- home: Prescription.Workout.name, Recovery.readiness (Ready/Recovering/Recovered/Overridden, pp_duration), Repository.routine_id.
30
Added:
- workout (largest): Evidence.Workout (prescription/stimuli/outstanding/filled_slots/completeness/clearance/started_at/performed/Complete), Evidence.Stimulus (efforts/Effort.load/reps/outcome/exercise, extensions/Beyond_failure kinds, pp_extension), Prescription.Stimulus (Single/Pre_exhaust/delivery/rep_range), Prescription.Rep_range.bounds, Exercise.name; record list via Repository.workout/.id.
31
Added:
Next: migrate home+routine+choose_routine (moderate), then the workout view (build a Workout/Slot/Effort DTO tree; the deepest). Pattern proven: DTO in view_model.ml, map in handlers.ml, presenter names only the DTO. Build dir _build-agent.
16
32
- [2026-09-09 Wed 14:52] Iteration 1. Verified the Dependency Rule holds
17
33
at the library level and locked it with an executable guard
18
34
(test_architecture.ml, commit 2810dec): core names no outer