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,93 @@
# Sourced from Divinum Officium's Monastic block ("[HymnusM Quad5
# Vespera]", Psalterium/Special/Major Special.txt) — "Vexílla Regis
# pródeunt", full separate Monastic text (not a substitution against the
# Roman version, which differs meaningfully in several stanzas — caught
# and fixed a first-pass transcription slip here where the second-to-last
# stanza's closing lines had been copied from the Roman text instead of
# the Monastic one actually being transcribed). The source marks that
# stanza's third line with a seasonal branch — "Hoc Passiónis témpore"
# (used here, for Passiontide proper) vs. "In hoc Pascháli gáudio"
# (Paschaltide, when this same hymn is reused for a Holy Cross feast
# falling then — not this app's concern). Also: real Passiontide practice
# omits the Gloria Patri from the last stanza — kept that way here,
# matching the source exactly (see vespers-responsory-passiontide.yml's
# own note). Not live-query-verified (see TODO.md).
id: vespers-hymn-passiontide
text:
la: |
Vexílla Regis pródeunt:
Fulget Crucis mystérium,
Quo carne carnis Cónditor
Suspénsus est patíbulo.
Quo vulnerátus ínsuper
Mucróne diro lánceæ,
Ut nos laváret crímine,
Manávit unda et sánguine.
Impléta sunt quæ cóncinit
David fidéli cármine,
Dicens: In natiónibus
Regnávit a ligno Deus.
Arbor decóra et fúlgida,
Ornáta Regis púrpura,
Elécta digno stípite
Tam sancta membra tángere.
Beáta, cujus bráchiis
Sæcli pepéndit prétium,
Statéra facta córporis,
Prædámque tulit tártari.
O Crux, ave, spes única,
In hac triúmphi glória
Hoc Passiónis témpore
Auge piis justítiam,
Reísque dona véniam.
Te summa, Deus, Trínitas,
Colláudet omnis spíritus:
Quos per Crucis mystérium
Salvas, rege per sǽcula.
Amen.
en: |
Abroad the regal banners fly,
Now shines the cross's mystery;
Upon it Life did death endure,
And yet by death did life procure.
Who, wounded with a direful spear,
Did, purposely to wash us clear
From stain of sin, pour out a flood
Of precious water mixed with blood.
That which the prophet-king of old
Hath in mysterious verse foretold,
Is now accomplished, whilst we see
God ruling nations from a tree.
O lovely and refulgent tree,
Adorned with purpled majesty;
Culled from a worthy stock, to bear
Those limbs which sanctified were.
Blest tree, whose happy branches bore
The wealth that did the world restore;
The beam that did that body weigh
Which raised up hell's expected prey.
O Cross, our one reliance, hail!
On this triumphant day avail,
This holy Passiontide,
To give fresh merit to the saint,
And pardon to the penitent.
Blest Trinity, salvation's spring,
May every soul thy praises sing;
To those thou grantest conquest by
The holy cross, rewards apply.
Amen.
status:
la: draft
en: draft