Build the Vespers ordo: mechanism, weekday content, seasonal content

Wires resolveOrdo('vespers', ...) end to end: opening versicle,
weekday psalmody (4 groups, handling the joined Ps 115+116 and the
split Ps 138/143 via a PsalmRef-like shape), the chapter/responsory/
hymn/versicle office bundle, Magnificat, day-collects — reusing
resolveEveningDay so First/Second Vespers precedence and the cross-day
commemoration (both added in the previous commit) apply automatically
— and a closing that reuses Lauds' own conclusio, since no distinct
"Vespera" version of that exact text turned up in the source.

getMagnificatAntiphon mirrors getBenedictusAntiphon's saint/temporal-id
lookup order, but also falls back to real content Benedictus has no
equivalent of: the classic ferial set that quotes the Magnificat's own
text in sequence across the week, with the correct Monastic-rubric
variant picked for Tue/Thu/Fri/Sat (two of those needed a fresh
translation where the Monastic Latin diverges from the given English
in content, not just wording).

Also includes Vespers' own seasonal content (Advent/Lent/Passiontide/
Paschaltide chapter+responsory+hymn+versicle), transcribed from the
same source blocks as the weekday content, with the Monastic-specific
hymn variants hand-applied from the source's substitution notation
against each base Roman text (one transcription slip caught and fixed
mid-pass: the Passiontide hymn's closing lines had been copied from
the Roman text instead of the Monastic one actually being
transcribed). Passiontide's own responsory/hymn correctly omit the
Gloria Patri, matching real rubric and the source data as given.

All weekday/seasonal content marked `draft`, not `verified` — read
directly from the reference source, not cross-checked against a live
rendering per day the way the psalmody was.

Six other hours' resolvePart switches needed the three new HourPart
kinds ('vespers-psalmody', 'vespers-office', 'magnificat') added to
their exhaustive not-used lists so they still typecheck; three
pre-existing tests assumed Vespers was still "coming soon" and are
updated to exercise Matins (still the genuine stub) instead.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-13 20:14:19 -04:00
parent 979bbe6aa4
commit de83786793
45 changed files with 1649 additions and 12 deletions
@@ -0,0 +1,65 @@
# Sourced from Divinum Officium's Monastic block ("[HymnusM Day0 Vespera]",
# Psalterium/Special/Major Special.txt). The Monastic Latin is stored there
# as two word-order/wording substitutions against the base "[Hymnus Day0
# Vespera]" text ("Illábitur tetrum chaos" -> "Tetrum chaos illábitur";
# "Cæléste pulset óstium:" -> "Cælórum pulset íntimum,"), applied by hand
# here rather than left as a diff — not live-query-verified (see TODO.md).
# English has no separate Monastic variant in the source (the wording
# differences don't affect translation), so it's the same text either way.
id: vespers-hymn-sunday
text:
la: |
Lucis Creátor óptime,
Lucem diérum próferens,
Primórdiis lucis novæ,
Mundi parans oríginem:
Qui mane junctum vésperi
Diem vocári prǽcipis:
Tetrum chaos illábitur,
Audi preces cum flétibus.
Ne mens graváta crímine,
Vitæ sit exsul múnere,
Dum nil perénne cógitat,
Seséque culpis ílligat.
Cælórum pulset íntimum,
Vitále tollat prǽmium:
Vitémus omne nóxium:
Purgémus omne péssimum.
Præsta, Pater piíssime,
Patríque compar Únice,
Cum Spíritu Paráclito
Regnans per omne sǽculum.
Amen.
en: |
O blest Creator of the light,
Who mak'st the day with radiance bright,
And o'er the forming world didst call
The light from chaos first of all;
Whose wisdom joined in meet array
The morn and eve, and named them day:
Night comes with all its darkling fears;
Regard thy people's prayers and tears.
Lest, sunk in sin, and whelmed with strife,
They lose the gift of endless life;
While thinking but the thoughts of time,
They weave new chains of woe and crime.
But grant them grace that they may strain
The heavenly gate and prize to gain:
Each harmful lure aside to cast,
And purge away each error past.
O Father, that we ask be done,
Through Jesus Christ, thine only Son;
Who, with the Holy Ghost and thee,
Doth live and reign eternally.
Amen.
status:
la: draft
en: draft