[OCaml] High Intensity Training Online
chore Close the view-model boundary item
The presenter names no inner-circle module; every page crosses via a view model, enforced by the presenter-boundary guard. 245 tests pass.
RAIL.org
@@ -7,12 +7,13 @@
7
7
#+TAGS: [ Impact : minor major ]
8
8
#+TAGS: [ Misc : doctrine ]
9
9
10
Removed:
* IN-PROGRESS Pass view models across the web boundary, not entities :refactor:web:major:
11
Removed:
SCHEDULED: [2026-09-09 Wed 14:46]
10
Added:
* DONE Pass view models across the web boundary, not entities :refactor:web:major:
11
Added:
CLOSED: [2026-09-09 Wed 15:26] SCHEDULED: [2026-09-09 Wed 14:46]
12
12
:PROPERTIES:
13
13
:ID: FB3A953A-201F-42C6-84EE-A7BE54F7BF4B
14
14
:END:
15
15
:LOGBOOK:
16
Added:
- CLOSING NOTE [2026-09-09 Wed 15:26] :: model=kiro-cli commit=1bf2182 tests=245 pass; Presenter (pages.ml/mli) now names zero inner-circle modules; enforced by architecture.presenter_boundary guard. All pages cross via View_model DTOs (Viewer, App_feedback, Feedback, Home, Routine, Routine_choice, Workout, Logbook_entry); controllers map entities->DTOs. open Hito_app removed from the presenter.
16
17
- [2026-09-09 Wed 15:11] Iteration 3. Migrated home, choose_routine, and
17
18
routine to DTOs (View_model.Home/Routine/Routine_choice; commit
18
19
b045e35) — those three presenter fns now name no Prescription/Recovery