Import the Purification's own proper Lauds/Vespers chapter
Deploy / deploy (push) Successful in 1m18s

Live-verified against Divinum Officium (Monastic Tridentinum 1617),
2026-02-02 (fixed date, always winnable): only the chapter is genuinely
her own (Mal 3:1, "Ecce ego mitto Angelum meum"). Responsory, both
hymns, and both versicles are all byte-identical to Common-of-the-BVM's
own already-authored content -- duplicated under her own id.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014axryJBrRswYh2niA7WCUc
This commit is contained in:
2026-08-26 10:20:13 -04:00
parent 545c11afe1
commit 5ec3394644
8 changed files with 322 additions and 0 deletions
+11
View File
@@ -351,6 +351,17 @@ describe('resolveOrdo("lauds", ...)', () => {
expect(hymn?.kind === 'hymn' ? hymn.text.text.la : undefined).toContain('O gloriósa Dómina');
});
it("resolves the Purification's own proper chapter, with Common-of-the-BVM's hymn", () => {
// Live-verified against Divinum Officium (Monastic Tridentinum
// 1617), 2026-02-02 (fixed date, always winnable). See lauds-
// capitulum-purification.yml's header.
const ordo = resolveOrdo('lauds', '2026-02-02');
const chapter = ordo.parts.find((p) => p.kind === 'chapter');
expect(chapter?.kind === 'chapter' ? chapter.text.citation?.en : undefined).toBe('Mal 3:1');
const hymn = ordo.parts.find((p) => p.kind === 'hymn');
expect(hymn?.kind === 'hymn' ? hymn.text.text.la : undefined).toContain('O gloriósa Dómina');
});
it('includes the Kyrie + Our Father lead-in right after the Benedictus, before the day collect (either form)', () => {
const ordo = resolveOrdo('lauds', FERIAL_TUESDAY);
const litanyIndex = ordo.parts.findIndex((p) => p.kind === 'preces' && p.text.text.la?.includes('Kýrie, eléison'));