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.

Commit
34f7c3cc4ae6f56fa8475b93c02cd8adb44c4bd7
Author
Marius Peter <dev@marius-peter.com>
Author date
Committer
Marius Peter <dev@marius-peter.com>
Committer date
RAIL.org
index b0870e40..68d7a6fb 100644..100644
@@ -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