Add per-feast overrides to Prime/Terce/Sext/None; fill Lauds' own Lawrence office bundle
Deploy / deploy (push) Successful in 51s

Prime/Terce/Sext/None had no per-feast override mechanism at all before
this -- their psalm antiphon always fell back to the plain weekday
default and their chapter was always a single fixed per-annum/per-weekday
text, regardless of what was actually being celebrated, even on a
saint's own actual feast day (not just during an octave). Confirmed live
(Monastic Tridentinum 1617) that St. Lawrence has his own real antiphon
and chapter at every one of these hours, both on his own day and
throughout his octave.

New shared mechanism in hours/resolve-common.ts: getMinorHourOverrideId
(duplex-majus+ threshold, kept in sync with Lauds' own so it's one
shared backlog), resolveMinorHourAntiphon, resolveMinorHourChapter --
all resolveOfficeWinner-aware, so an octave day gets the same override
as the feast's own actual day. Prime additionally needed
isSundayOrFeastOffice (its capitulum/Preces Sunday-vs-ferial choice)
made octave-aware -- live-verified Prime's capitulum stays the
Sunday/feast form throughout the octave too, so no new file was needed
there, just reaching the existing one correctly.

Also fills in Lauds' own still-missing Lawrence office bundle
(capitulum/responsory/hymn/versicle) -- flagged in TODO.md as worth
fixing "even before tackling the other 32" and still not done until now.

Authored real content for St. Lawrence across all five hours from live
queries. The same ~31-saint backlog (TODO.md) now applies uniformly
across Lauds and the four hours fixed here.

Also documents a real, found-not-fixed gap: when two octaves overlap
with no temporal standing to yield to (St. Lawrence's and the
Assumption's genuinely overlap every Aug 16-17), this app currently
picks whichever started first, which happens to match the live engine
on Aug 17 (Lawrence's own elevated final "Octave Day" outranks the
Assumption's ordinary octave-day strength) but only by coincidence, not
a real rank comparison -- proposed design written up in TODO.md pending
a decision on scope.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-12 08:05:08 -04:00
parent 143244203d
commit 5f4cf33776
21 changed files with 456 additions and 34 deletions
@@ -0,0 +1,16 @@
# Verified against Divinum Officium (Monastic Tridentinum 1617), Lauds
# live query, St. Lawrence's own day (2026-08-10) -- "Capitulum
# Responsorium Hymnus Versus {ex Commune aut Festo}". Was still falling
# back to the plain weekday default before this (see TODO.md) -- the
# concrete gap that also turned out to affect every day of his own octave
# too (see hours/resolve-common.ts's resolveOfficeWinner).
id: lauds-capitulum-st-lawrence
text:
la: "Fratres: Qui parce séminat, parce et metet; et qui séminat in benedictiónibus, de benedictiónibus et metet."
en: "Brethren: He which soweth sparingly shall reap also sparingly, and he which soweth bountifully shall reap also bountifully."
citation:
la: "2 Cor 9:6"
en: "2 Cor 9:6"
status:
la: verified
en: verified
@@ -0,0 +1,50 @@
# Verified against Divinum Officium (Monastic Tridentinum 1617), Lauds
# live query, St. Lawrence's own day (2026-08-10). "Martyr Dei" --
# self-contained, including its own final doxology stanza.
id: lauds-hymn-st-lawrence
text:
la: |
Martyr Dei, qui únicum
Patris sequéndo Fílium,
Victis triúmphas hóstibus,
Victor fruens cæléstibus.
Tui precátus múnere
Nostrum reátum dílue,
Arcens mali contágium,
Vitæ rémovens tǽdium.
Solúta sunt jam víncula
Tui sacráti córporis:
Nos solve vinclis sǽculi,
Amóre Fílii Dei.
Deo Patri sit glória,
Ejúsque soli Fílio,
Cum Spíritu Paráclito,
Et nunc, et in perpétuum
Amen.
en: |
Martyr of God, whose strength was steeled
To follow close God's only Son,
Well didst thou brave thy battlefield,
And well thy heavenly bliss was won!
Now join thy prayers with ours, who pray
That God may pardon us and bless;
For prayer keeps evil's plague away,
And draws from life its weariness.
Long, long ago, were loosed the chains
That held thy body once in thrall;
For us how many a bond remains!
O love of God release us all.
All praise to God the Father be,
All praise to thee, Eternal Son;
All praise, O Holy Ghost, to thee,
While never-ending ages run.
Amen.
status:
la: verified
en: verified
@@ -0,0 +1,21 @@
# Verified against Divinum Officium (Monastic Tridentinum 1617), Lauds
# live query, St. Lawrence's own day (2026-08-10).
id: lauds-responsory-st-lawrence
text:
la: |
R.br. Glória et honóre * Coronásti eum, Dómine.
R. Glória et honóre * Coronásti eum, Dómine.
V. Et constituísti eum super ópera mánuum tuárum.
R. Coronásti eum, Dómine.
V. Glória Patri, et Fílio, * et Spirítui Sancto.
R. Glória et honóre * Coronásti eum, Dómine.
en: |
R.br. Thou hast crowned him * with glory and honour, O Lord.
R. Thou hast crowned him * with glory and honour, O Lord.
V. And madest him to have dominion over the works of thy hands.
R. Thou hast crowned him.
V. Glory be to the Father, and to the Son, * and to the Holy Ghost.
R. Thou hast crowned him * with glory and honour, O Lord.
status:
la: verified
en: verified
@@ -0,0 +1,9 @@
# Verified against Divinum Officium (Monastic Tridentinum 1617), Lauds
# live query, St. Lawrence's own day (2026-08-10).
id: lauds-versicle-st-lawrence
text:
la: "V. Dispérsit, dedit paupéribus.\nR. Justítia ejus manet in sǽculum sǽculi."
en: "V. He hath dispersed, he hath given to the poor.\nR. His righteousness endureth for ever."
status:
la: verified
en: verified
@@ -0,0 +1,11 @@
# Verified against Divinum Officium (Monastic Tridentinum 1617), None
# live query, St. Lawrence's own day (2026-08-10), also shown on every
# day of his own octave (see hours/resolve-common.ts's
# resolveOfficeWinner).
id: none-antiphon-st-lawrence
text:
la: "Beátus Lauréntius * orábat, dicens: Grátias tibi ago, Dómine, quia jánuas tuas íngredi mérui."
en: "The blessed Lawrence prayed * and said: I give thee thanks, O Lord, that Thou hast made me worthy to enter within thy gates."
status:
la: verified
en: verified
@@ -0,0 +1,14 @@
# Verified against Divinum Officium (Monastic Tridentinum 1617), None
# live query, St. Lawrence's own day (2026-08-10) -- "Capitulum Versus
# {ex Proprio Sanctorum}", also shown on every day of his own octave, not
# just his own day (see hours/resolve-common.ts's resolveOfficeWinner).
id: none-capitulum-st-lawrence
text:
la: "Potens est autem Deus omnem grátiam abundáre fácere in vobis, ut, in ómnibus semper omnem sufficiéntiam habéntes, abundétis in omne opus bonum, sicut scriptum est: Dispérsit, dedit paupéribus: justítia ejus manet in sǽculum sǽculi. R. Deo grátias. V. Magna est glória ejus in salutári tuo. R. Glóriam et magnum decórem impónes super eum."
en: "And God is able to make all grace abound in you; that ye always, having all sufficiency in all things, may abound to every good work, As it is written: He hath dispersed abroad, he hath given to the poor: his justice remaineth for ever. R. Thanks be to God. V. His glory is great in thy salvation. R. Honour and great majesty shalt Thou lay upon him."
citation:
la: "2 Cor 9:8-9"
en: "2 Cor 9:8-9"
status:
la: verified
en: verified
@@ -0,0 +1,15 @@
# Verified against Divinum Officium (Monastic Tridentinum 1617), Prime
# live query, St. Lawrence's own day (2026-08-10), also shown on every
# day of his own octave (see hours/resolve-common.ts's
# resolveOfficeWinner). Prime's own chapter stays "ex Psalterio secundum
# diem" even on his own day -- live-verified it's the same text as the
# existing prime-capitulum-dominica.yml, so no separate override file was
# needed for that, just the Sunday/feast selection reaching this day too
# (see hours/resolve-common.ts's isSundayOrFeastOffice).
id: prime-antiphon-st-lawrence
text:
la: "Lauréntius * ingréssus est Martyr, et conféssus est nomen Dómini Jesu Christi."
en: "Lawrence * went in to be a martyr, and acknowledged the name of our Lord Jesus Christ."
status:
la: verified
en: verified
@@ -0,0 +1,11 @@
# Verified against Divinum Officium (Monastic Tridentinum 1617), Sext
# live query, St. Lawrence's own day (2026-08-10), also shown on every
# day of his own octave (see hours/resolve-common.ts's
# resolveOfficeWinner).
id: sext-antiphon-st-lawrence
text:
la: "Adhǽsit * ánima mea post te, quia caro mea igne cremáta est pro te, Deus meus."
en: "O my God, my soul cleaveth * fast after thee, for my flesh hath been burnt with fire for thy sake."
status:
la: verified
en: verified
@@ -0,0 +1,14 @@
# Verified against Divinum Officium (Monastic Tridentinum 1617), Sext
# live query, St. Lawrence's own day (2026-08-10) -- "Capitulum Versus
# {ex Proprio Sanctorum}", also shown on every day of his own octave, not
# just his own day (see hours/resolve-common.ts's resolveOfficeWinner).
id: sext-capitulum-st-lawrence
text:
la: "Unusquísque prout destinávit in corde suo, non ex tristítia aut ex necessitáte; hílarem enim datórem díligit Deus. R. Deo grátias. V. Posuísti, Dómine, super caput ejus. R. Corónam de lápide pretióso."
en: "Every one as he hath determined in his heart, not with sadness, or of necessity: for God loveth a cheerful giver. R. Thanks be to God. V. O Lord, Thou hast set a crown of precious stones. R. Upon his head."
citation:
la: "2 Cor 9:7"
en: "2 Cor 9:7"
status:
la: verified
en: verified
@@ -0,0 +1,11 @@
# Verified against Divinum Officium (Monastic Tridentinum 1617), Terce
# live query, St. Lawrence's own day (2026-08-10), also shown on every
# day of his own octave (see hours/resolve-common.ts's
# resolveOfficeWinner).
id: terce-antiphon-st-lawrence
text:
la: "Lauréntius * bonum opus operátus est, qui per signum crucis cæcos illuminávit."
en: "Lawrence wrought a good work, * in that with the sign of the Cross he gave sight to the blind."
status:
la: verified
en: verified
@@ -0,0 +1,14 @@
# Verified against Divinum Officium (Monastic Tridentinum 1617), Terce
# live query, St. Lawrence's own day (2026-08-10) -- "Capitulum Versus
# {ex Proprio Sanctorum}", also shown on every day of his own octave, not
# just his own day (see hours/resolve-common.ts's resolveOfficeWinner).
id: terce-capitulum-st-lawrence
text:
la: "Fratres: Qui parce séminat, parce et metet; et qui séminat in benedictiónibus, de benedictiónibus et metet. R. Deo grátias. V. Glória et honóre coronásti eum, Dómine. R. Et constituísti eum super ópera mánuum tuarum."
en: "Brethren: He which soweth sparingly shall reap also sparingly, and he which soweth bountifully shall reap also bountifully. R. Thanks be to God. V. Thou hast crowned him with glory and honour, O Lord. R. And madest him to have dominion over the works of thy hands."
citation:
la: "2 Cor 9:6"
en: "2 Cor 9:6"
status:
la: verified
en: verified