From 15929a6e50b69dd9535b2bc573ce81cce557c0fb Mon Sep 17 00:00:00 2001 From: Will Estes Date: Wed, 19 Aug 2026 09:24:54 -0400 Subject: [PATCH] Add Matins' missing closing (Benedicamus Domino / Fidelium animae) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Matins is hand-assembled in TS rather than driven by a data/hours/*.yml parts list, so it never got the closing wired in that every other hour has. Live-verified against the reference engine's Monastic Tridentinum 1617 Matutinum "Conclusio" block that Matins' closing text is byte-identical to lauds-conclusio — reusing it the same way Vespers already does. Co-Authored-By: Claude Sonnet 5 --- src/hours/matins.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/hours/matins.ts b/src/hours/matins.ts index 1033ec3..5ebdfb4 100644 --- a/src/hours/matins.ts +++ b/src/hours/matins.ts @@ -371,5 +371,12 @@ export function resolveOrdo(date: string): ResolvedOrdo { parts.push({ kind: 'prayer', text: getDayCollect(day) }); + // Conclusio: live-verified against Divinum Officium (Monastic Tridentinum + // 1617) to be byte-identical to `lauds-conclusio` (Domine exaudi / Benedicamus + // Domino / Fidelium animae) — same reuse Vespers already makes (see + // data/hours/vespers.yml's own header). Not dropped in the Triduum: the + // Triduum only omits the opening block (see isInTriduum comment above). + parts.push({ kind: 'preces', text: resolveCommon('lauds-conclusio') }); + return { hourId: 'matins', date, parts, dayLabel: getDayLabel(day) }; }