Add December Matins readings for SanctiM-track saints, completing the pass
Deploy / deploy (push) Successful in 1m7s

13 of December's 15 SanctiM-track saints authored (st-bibiana, st-nicholas,
st-ambrose, immaculate-conception, st-damasus, st-lucy, st-thomas-apostle,
st-stephen-protomartyr, st-john-apostle, holy-innocents, st-thomas-becket,
st-silvester-i, st-eusebius-of-vercelli); st-barbara and st-melchiades left
unauthored as Common-only. This is the twelfth and final month of the
SanctiM (Monastic 1617)-track saints' Matins readings pass — 129 saints
authored across the whole year.

Adding St. Eusebius of Vercelli's content surfaces a 3rd Matins lesson on
the existing Advent III Tuesday proof date (Dec 15 falls under his
commemoration); updated matins.test.ts accordingly — the "commemorations
get their own reading" design working as intended, not a regression.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-17 07:14:31 -04:00
parent 42ee9f816a
commit 58816a7d15
15 changed files with 1631 additions and 7 deletions
+7 -2
View File
@@ -38,9 +38,14 @@ describe('resolveOrdo("matins", ...) ferial (1-nocturn) branch', () => {
it("resolves the user's own bible-plan readings for Advent III Tuesday, not the historical lectionary", () => {
const lessons = ordo.parts.filter((p) => p.kind === 'lesson');
expect(lessons).toHaveLength(2);
// 2 bible-plan readings, plus a 3rd: St. Eusebius of Vercelli's own
// commemoration reading, generously surfaced per the "commemorations
// get their own reading" design (see hours/matins.ts's own header) —
// vu places him Dec 15 (a Monastic 1617 same-day redirect), commemorated
// under this Advent III Tuesday ferial.
expect(lessons).toHaveLength(3);
const citations = lessons.map((l) => (l as { text: { citation?: { en?: string } } }).text.citation?.en);
expect(citations).toEqual(['Isa 36; Isa 37', 'Sap 14']);
expect(citations).toEqual(['Isa 36; Isa 37', 'Sap 14', undefined]);
// Real content isn't imported yet (Vulgate/Douay-Rheims bulk import is
// a deferred follow-on) — honest `missing`, not fabricated text.
expect((lessons[0] as { text: { status: { en?: string } } }).text.status.en).toBe('missing');