Expand description
Track H Story H3 — Port MeetingCompletionCheckerPort.
Construit la MeetingCompletionChecklist (cf. domain) à partir de l’état
DB courant (convocations, résolutions, présences, units, minutes). Une
seule query SQL agrégée fait le travail (cf. adapter sqlx
meeting_completion_checker_impl.rs).
Hexagonal : ce port permet à Meeting::assert_can_complete() de rester
pur (pas d’I/O). Le use-case complete_meeting() orchestre :
completion_checker.build_checklist(meeting_id)(DB)meeting.assert_can_complete(&checklist)(pure domain)meeting.complete_internal()(state machine)