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,63 @@
# Sourced from Divinum Officium's Monastic block ("[HymnusM Quad
# Vespera]", Psalterium/Special/Major Special.txt): two substitutions
# against the base "[Hymnus Quad Vespera]" text — a word-order swap in
# stanza 3 ("Ad nóminis laudem tui" -> "Ad laudem tui nóminis") and a full
# replacement of stanza 4 — applied by hand here. Not live-query-verified
# (see TODO.md). English has no separate Monastic variant in the source.
id: vespers-hymn-lent
text:
la: |
Audi, benígne Cónditor,
Nostras preces cum flétibus,
In hoc sacro jejúnio
Fusas quadragenário.
Scrutátor alme córdium,
Infírma tu scis vírium:
Ad te revérsis éxhibe
Remissiónis grátiam.
Multum quidem peccávimus,
Sed parce confiténtibus:
Ad laudem tui nóminis
Confer medélam lánguidis.
Sic corpus extra cónteri
Dona per abstinéntiam,
Jejúnet ut mens sóbria
A labe prorsus críminum.
Præsta, beáta Trínitas,
Concéde, simplex Únitas;
Ut fructuósa sint tuis
Jejuniórum múnera.
Amen.
en: |
O kind Creator, bow thine ear
To mark the cry, to know the tear
Before thy throne of mercy spent
In this thy holy fast of Lent.
Our hearts are open, Lord, to thee:
Thou knowest our infirmity;
Pour out on all who seek thy face
Abundance of thy pardoning grace.
Our sins are many, this we know;
Spare us, good Lord, thy mercy show;
And for the honour of thy name
Our fainting souls to life reclaim.
Give us the self-control that springs
From discipline of outward things,
That fasting inward secretly
The soul may purely dwell with thee.
We pray thee, Holy Trinity,
One God, unchanging Unity,
That we from this our abstinence
May reap the fruits of penitence.
Amen.
status:
la: draft
en: draft