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,62 @@
# Sourced from Divinum Officium's Monastic block ("[HymnusM Day1 Vespera]",
# Psalterium/Special/Major Special.txt): two word substitutions against the
# base "[Hymnus Day1 Vespera]" text ("adáugeat" -> "invéniat"; "Hæc" ->
# "Ut", in the 4th stanza), applied by hand here — not live-query-verified
# (see TODO.md). English has no separate Monastic variant in the source.
id: vespers-hymn-monday
text:
la: |
Imménse cæli Cónditor,
Qui mixta ne confúnderent,
Aquæ fluénta dívidens,
Cælum dedísti límitem.
Firmans locum cæléstibus,
Simúlque terræ rívulis;
Ut unda flammas témperet,
Terræ solum ne díssipent.
Infúnde nunc, piíssime,
Donum perénnis grátiæ:
Fraudis novæ ne cásibus
Nos error átterat vetus.
Lucem fides invéniat:
Sic lúminis jubar ferat:
Ut vana cuncta próterat:
Hanc falsa nulla cómprimant.
Præsta, Pater piíssime,
Patríque compar Únice,
Cum Spíritu Paráclito
Regnans per omne sǽculum.
Amen.
en: |
O great Creator of the sky,
Who wouldest not the floods on high
With earthly waters to confound,
But mad'st the firmament their bound;
The floods above thou didst ordain;
The floods below thou didst restrain:
That moisture might attemper heat,
Lest the parched earth should ruin meet.
Upon our souls, good Lord, bestow
Thy gift of grace in endless flow:
Lest some renewed deceit or wile
Of former sin should us beguile.
Let faith discover heav'nly light;
So shall its rays direct us right:
And let this faith each error chase,
And never give to falsehood place.
Grant this, O Father, ever One
With Christ, thy sole-begotten Son,
And Holy Ghost, whom all adore,
Reigning and blest forevermore.
Amen.
status:
la: draft
en: draft