Compare commits
3 Commits
8dd04ab318
...
cefff90a34
| Author | SHA1 | Date | |
|---|---|---|---|
| cefff90a34 | |||
| 30b3971190 | |||
| 98aa411a1b |
@@ -5525,3 +5525,44 @@ Ascension). `npm test` (2025 passed, no test changes needed) and `tsc --noEmit`
|
||||
|
||||
Corpus Christi and Sacred Heart remain the one still-open piece of this same-shape gap — not fixed
|
||||
this session, lower priority than Ascension/Pentecost per direct instruction.
|
||||
|
||||
**Follow-on, same day**: per direct instruction ("ascension's collect and the two octaves"), closed
|
||||
all 3 remaining pieces immediately.
|
||||
|
||||
Authored `ascension-collect.yml` (live-verified 2026-05-14) — a separate, pre-existing gap
|
||||
(`getDayCollect` already looked up `ascension-collect` via the same `resolveOfficeWinner` this
|
||||
session's mechanism fix already covers; the collect file itself just never existed).
|
||||
|
||||
Closed Corpus Christi's and Sacred Heart's own hymnody gaps the same way as Ascension/Pentecost:
|
||||
added `corpus-christi` and `sacred-heart` to `ALWAYS_OVERRIDE_TEMPORAL_IDS` (no further code change
|
||||
needed — the mechanism is generic) and authored `matins-hymn-{corpus-christi,sacred-heart}.yml`,
|
||||
`lauds-{capitulum,responsory,hymn,versicle}-corpus-christi.yml`,
|
||||
`vespers-{responsory,hymn,versicle}-corpus-christi.yml`, `lauds-{capitulum,hymn,versicle}-sacred-
|
||||
heart.yml`, and `vespers-{hymn,versicle}-sacred-heart.yml` — all live-verified against Divinum
|
||||
Officium, 2026-06-04 (Corpus Christi) and 2026-06-12 (Sacred Heart). Corpus Christi's own hymns are
|
||||
widely known outside this context too: Matins' own "Sacris solémniis", Lauds' own "Verbum supérnum
|
||||
pródiens" (whose final 2 stanzas are the separately-famous "O Salutaris Hostia"), and Vespers' own
|
||||
"Pange, lingua, gloriósi Córporis mystérium" (whose final 2 stanzas are the separately-famous
|
||||
"Tantum Ergo").
|
||||
|
||||
Sacred Heart needed one real source-track correction: the Monastic Tridentinum 1617 track doesn't
|
||||
observe this feast on this date at all (live-checked: shows St. Barnabas instead, a real 1617-era
|
||||
calendar gap, not a vu bug) — used Divino Afflatu 1954 instead, consistent with this project's own
|
||||
stated rubric/precedence track (see CLAUDE.md). Also live-verified a genuine, deliberate structural
|
||||
difference: Sacred Heart's own Lauds and Vespers have **no responsory at all** in the source
|
||||
(straight from chapter to hymn, "Capitulum Hymnus Versus" with no "Responsorium" between) — not an
|
||||
authoring gap, so no `lauds-responsory-sacred-heart.yml`/`vespers-responsory-sacred-heart.yml` were
|
||||
created. This exposed a real small UI gap: `hours/lauds.ts`'s and `hours/vespers.ts`'s own
|
||||
`resolveOffice` always pushed a `{kind:'responsory'}` part even when its own resolved text carried
|
||||
`status: missing` in both languages, rendering an empty section. Fixed both to omit the responsory
|
||||
part entirely when both languages are genuinely missing, rather than an empty box.
|
||||
|
||||
Confirmed both octaves end-to-end via `resolveOrdo` (feast days, plain octave days, and real winning
|
||||
saints within each window — St. Boniface/St. Barnabas within Corpus Christi's, unaffected). Found
|
||||
and fixed 2 pre-existing tests whose own dates now land inside these newly-modeled octaves and were
|
||||
asserting the old (buggy) fall-through behavior as if correct:
|
||||
`tests/hours/lauds.test.ts`'s `FERIAL_MONDAY` (was 2026-06-08, inside Corpus Christi's octave — moved
|
||||
to 2026-09-07) and `tests/hours/vespers.test.ts`'s own St. Margaret of Scotland test (2026-06-09,
|
||||
also inside Corpus Christi's octave — its own title already anticipated this exact fix; updated its
|
||||
assertions from the old "falls through to the plain ferial default" guess to the real, live-verified
|
||||
Corpus Christi content). `npm test` (2025 passed) and `tsc --noEmit` both pass.
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
# Corpus Christi's own Lauds chapter (1 Cor 11:23-24) — shared with
|
||||
# Vespers via vespersCapitulumForOverride's own cross-hour fallback (see
|
||||
# hours/vespers.ts), not duplicated into a separate vespers-capitulum-
|
||||
# corpus-christi.yml. Live-verified against Divinum Officium (Monastic
|
||||
# Tridentinum 1617), Lauds/Vespers live query, 2026-06-04 (Corpus Christi
|
||||
# itself).
|
||||
id: lauds-capitulum-corpus-christi
|
||||
text:
|
||||
la: "Fratres: Ego enim accépi a Dómino quod et trádidi vobis, quóniam Dóminus Jesus, in qua nocte tradebátur, accépit panem, et grátias agens fregit, et dixit: Accípite et manducáte: hoc est corpus meum, quod pro vobis tradétur: hoc fácite in meam commemoratiónem."
|
||||
en: "Brothers: For I have received of the Lord that which also I delivered unto you, that the Lord Jesus, the same night in which he was betrayed, took bread. And giving thanks, broke, and said: Take ye, and eat: this is my body, which shall be delivered for you: this do for the commemoration of me."
|
||||
citation:
|
||||
la: "1 Cor 11:23-24"
|
||||
en: "1 Cor 11:23-24"
|
||||
status:
|
||||
la: verified
|
||||
en: verified
|
||||
@@ -0,0 +1,17 @@
|
||||
# The Sacred Heart's own Lauds chapter (Eph 3:8-9) — shared with Vespers
|
||||
# via vespersCapitulumForOverride's own cross-hour fallback (see
|
||||
# hours/vespers.ts), not duplicated into a separate vespers-capitulum-
|
||||
# sacred-heart.yml. Live-verified against Divinum Officium (Divino
|
||||
# Afflatu - 1954), Lauds/Vespers live query, 2026-06-12 (the Sacred
|
||||
# Heart itself) — see matins-hymn-sacred-heart.yml's own header on why
|
||||
# this track, not Monastic Tridentinum 1617.
|
||||
id: lauds-capitulum-sacred-heart
|
||||
text:
|
||||
la: "Fratres: Mihi ómnium sanctórum mínimo data est grátia hæc, in géntibus evangelizáre investigábiles divítias Christi; et illumináre omnes, quæ sit dispensátio sacraménti abscónditi a sǽculis in Deo."
|
||||
en: "Brethren: Unto me, who am less than the least of all saints, is this grace given, that I should preach among the Gentiles the unsearchable riches of Christ; and to make all men see what is the fellowship of the Mystery, which from the beginning of the world hath been hid in God."
|
||||
citation:
|
||||
la: "Eph 3:8-9"
|
||||
en: "Eph 3:8-9"
|
||||
status:
|
||||
la: verified
|
||||
en: verified
|
||||
@@ -0,0 +1,120 @@
|
||||
# Corpus Christi's own Lauds hymn ("Verbum supérnum pródiens") — whose
|
||||
# final 2 stanzas ("O salutáris hóstia... Uni trinóque Dómino...") are
|
||||
# the separately-famous "O Salutaris Hostia" often sung on its own.
|
||||
# Distinct from Matins' own ("Sacris solémniis") and Vespers' own
|
||||
# ("Pange, lingua, gloriósi Córporis mystérium" — the "Tantum Ergo"
|
||||
# hymn). Live-verified against Divinum Officium (Monastic Tridentinum
|
||||
# 1617), Lauds live query, 2026-06-04 (Corpus Christi itself). Self-
|
||||
# contained — its own final stanza is the hymn's natural theological
|
||||
# close, not a separate swappable doxology.
|
||||
id: lauds-hymn-corpus-christi
|
||||
text:
|
||||
la: >-
|
||||
Verbum supérnum pródiens,
|
||||
|
||||
Nec Patris linquens déxteram,
|
||||
|
||||
Ad opus suum éxiens,
|
||||
|
||||
Venit ad vitæ vésperam.
|
||||
|
||||
|
||||
In mortem a discípulo
|
||||
|
||||
Suis tradéndus ǽmulis,
|
||||
|
||||
Prius in vitæ férculo
|
||||
|
||||
Se trádidit discípulis.
|
||||
|
||||
|
||||
Quibus sub bina spécie
|
||||
|
||||
Carnem dedit et sánguinem;
|
||||
|
||||
Ut dúplicis substántiæ
|
||||
|
||||
Totum cibáret hóminem.
|
||||
|
||||
|
||||
Se nascens dedit sócium,
|
||||
|
||||
Convéscens in edúlium,
|
||||
|
||||
Se móriens in prétium,
|
||||
|
||||
Se regnans dat in prǽmium.
|
||||
|
||||
|
||||
O salutáris hóstia,
|
||||
|
||||
Quæ cæli pandis óstium,
|
||||
|
||||
Bella premunt hostília;
|
||||
|
||||
Da robur, fer auxílium.
|
||||
|
||||
|
||||
Uni trinóque Dómino,
|
||||
|
||||
Sit sempitérna glória:
|
||||
|
||||
Qui vitam sine término
|
||||
|
||||
Nobis donet in pátria. Amen.
|
||||
en: >-
|
||||
The heav'nly Word proceeding forth,
|
||||
|
||||
Yet leaving not the Father's side,
|
||||
|
||||
And going to his work on earth
|
||||
|
||||
Had reached at length life's eventide.
|
||||
|
||||
|
||||
By false disciple to be given
|
||||
|
||||
To foemen for his blood athirst,
|
||||
|
||||
Himself, the living bread from heaven,
|
||||
|
||||
He gave to his disciples first.
|
||||
|
||||
|
||||
To them he gave, in twofold kind,
|
||||
|
||||
His very flesh, his very blood:
|
||||
|
||||
In love's own fullness thus designed
|
||||
|
||||
Of the whole man to be the food.
|
||||
|
||||
|
||||
By birth, our fellow-man was he;
|
||||
|
||||
Our meat, while sitting at the board;
|
||||
|
||||
He died, our ransomer to be;
|
||||
|
||||
He ever reigns, our great reward.
|
||||
|
||||
|
||||
O saving victim, opening wide
|
||||
|
||||
The gate of heaven to man below,
|
||||
|
||||
Our foes press on from every side,
|
||||
|
||||
Thine aid supply, thy strength bestow.
|
||||
|
||||
|
||||
To thy great name be endless praise,
|
||||
|
||||
Immortal Godhead, One in Three;
|
||||
|
||||
O grant us endless length of days
|
||||
|
||||
In our true native land, with thee. Amen.
|
||||
status:
|
||||
la: verified
|
||||
en: verified
|
||||
@@ -0,0 +1,123 @@
|
||||
# The Sacred Heart's own Lauds hymn ("Cor, arca legem cóntinens") —
|
||||
# distinct from Matins' own ("Auctor beáte sǽculi") and Vespers' own
|
||||
# ("En, ut supérba críminum"). Live-verified against Divinum Officium
|
||||
# (Divino Afflatu - 1954), Lauds live query, 2026-06-12 (the Sacred
|
||||
# Heart itself) — see matins-hymn-sacred-heart.yml's own header on why
|
||||
# this track. Self-contained — its own final stanza is the hymn's
|
||||
# natural theological close, not a separate swappable doxology.
|
||||
#
|
||||
# This day's own Lauds genuinely has no responsory in the source at all
|
||||
# (straight from chapter to hymn) — see lauds-capitulum-sacred-heart.yml
|
||||
# and hours/lauds.ts's own resolveOffice, which omits the responsory
|
||||
# part entirely rather than rendering an empty one.
|
||||
id: lauds-hymn-sacred-heart
|
||||
text:
|
||||
la: >-
|
||||
Cor, arca legem cóntinens
|
||||
|
||||
Non servitútis véteris,
|
||||
|
||||
Sed grátiæ, sed véniæ,
|
||||
|
||||
Sed et misericórdiæ.
|
||||
|
||||
|
||||
Cor, sanctuárium novi
|
||||
|
||||
Intemerátum fœ́deris,
|
||||
|
||||
Templum vetústo sánctius,
|
||||
|
||||
Velúmque scisso utílius.
|
||||
|
||||
|
||||
Te vulnerátum cáritas
|
||||
|
||||
Ictu paténti vóluit,
|
||||
|
||||
Amóris invisíbilis
|
||||
|
||||
Ut venerémur vúlnera.
|
||||
|
||||
|
||||
Hoc sub amóris sýmbolo
|
||||
|
||||
Passus cruénta et mýstica,
|
||||
|
||||
Utrúmque sacrifícium
|
||||
|
||||
Christus sacérdos óbtulit.
|
||||
|
||||
|
||||
Quis non amántem rédamet?
|
||||
|
||||
Quis non redémptus díligat,
|
||||
|
||||
Et Corde in isto séligat
|
||||
|
||||
Ætérna tabernácula?
|
||||
|
||||
|
||||
Jesu, tibi sit glória,
|
||||
|
||||
Qui Corde fundis grátiam,
|
||||
|
||||
Cum Patre, et almo Spíritu,
|
||||
|
||||
In sempitérna sǽcula. Amen.
|
||||
en: >-
|
||||
Jesus, behind thy temple's veil,
|
||||
|
||||
Hid in an ark of gold,
|
||||
|
||||
On stones engraven, lay the law
|
||||
|
||||
thy finger wrote of old.
|
||||
|
||||
|
||||
But in thy body's temple new,
|
||||
|
||||
thy life-blood's throbbing shrine,
|
||||
|
||||
Held, upon fleshly tables graved,
|
||||
|
||||
The law of love divine.
|
||||
|
||||
|
||||
And when that heart in death was stilled,
|
||||
|
||||
Each temple's veil was riven:
|
||||
|
||||
And lo, within thy love's red shrine,
|
||||
|
||||
To us to look was given.
|
||||
|
||||
|
||||
There make us gaze and see the love
|
||||
|
||||
Which drew thee, for our sake,
|
||||
|
||||
O great high-priest, thyself to God
|
||||
|
||||
A sacrifice to make.
|
||||
|
||||
|
||||
Thou, Saviour, cause that every soul
|
||||
|
||||
Which thou hast loved so well,
|
||||
|
||||
May will within thine open heart
|
||||
|
||||
In life and death to dwell.
|
||||
|
||||
|
||||
Grant it, O Father, only Son,
|
||||
|
||||
And Spirit, God of grace,
|
||||
|
||||
To whom all worship shall be done,
|
||||
|
||||
In every time and place. Amen.
|
||||
status:
|
||||
la: verified
|
||||
en: verified
|
||||
@@ -0,0 +1,24 @@
|
||||
# Corpus Christi's own Lauds responsory ("Panem cæli dedit eis") —
|
||||
# distinct from Vespers' own ("Cibávit illos ex ádipe fruménti", see
|
||||
# vespers-responsory-corpus-christi.yml). Live-verified against Divinum
|
||||
# Officium (Monastic Tridentinum 1617), Lauds live query, 2026-06-04
|
||||
# (Corpus Christi itself).
|
||||
id: lauds-responsory-corpus-christi
|
||||
text:
|
||||
la: |
|
||||
R.br. Panem cæli dedit eis, * Allelúja, allelúja.
|
||||
R. Panem cæli dedit eis, * Allelúja, allelúja.
|
||||
V. Panem Angelórum manducávit homo.
|
||||
R. Allelúja, allelúja.
|
||||
V. Glória Patri, et Fílio, * et Spirítui Sancto.
|
||||
R. Panem cæli dedit eis, * Allelúja, allelúja.
|
||||
en: |
|
||||
R.br. He gave them the bread of heaven. * Alleluia, Alleluia.
|
||||
R. He gave them the bread of heaven. * Alleluia, Alleluia.
|
||||
V. Man did eat Angels' bread.
|
||||
R. Alleluia, Alleluia.
|
||||
V. Glory be to the Father, and to the Son, * and to the Holy Ghost.
|
||||
R. He gave them the bread of heaven. * Alleluia, Alleluia.
|
||||
status:
|
||||
la: verified
|
||||
en: verified
|
||||
@@ -0,0 +1,12 @@
|
||||
# Corpus Christi's own Lauds versicle — distinct from Vespers' own
|
||||
# ("Panem de cælo præstitísti eis", see
|
||||
# vespers-versicle-corpus-christi.yml). Live-verified against Divinum
|
||||
# Officium (Monastic Tridentinum 1617), Lauds live query, 2026-06-04
|
||||
# (Corpus Christi itself).
|
||||
id: lauds-versicle-corpus-christi
|
||||
text:
|
||||
la: "V. Pósuit fines tuos pacem, allelúja.\nR. Et ádipe fruménti sátiat te, allelúja."
|
||||
en: "V. He maketh peace in thy borders, alleluia.\nR. And filleth thee with the finest of wheat, alleluia."
|
||||
status:
|
||||
la: verified
|
||||
en: verified
|
||||
@@ -0,0 +1,11 @@
|
||||
# The Sacred Heart's own versicle — identical at both Lauds and Vespers
|
||||
# (see vespers-versicle-sacred-heart.yml). Live-verified against Divinum
|
||||
# Officium (Divino Afflatu - 1954), Lauds/Vespers live query, 2026-06-12
|
||||
# (the Sacred Heart itself).
|
||||
id: lauds-versicle-sacred-heart
|
||||
text:
|
||||
la: "V. Hauriétis aquas in gáudio.\nR. De fóntibus Salvatóris."
|
||||
en: "V. With joy shall ye draw water.\nR. Out of the fountains of the Saviour."
|
||||
status:
|
||||
la: verified
|
||||
en: verified
|
||||
@@ -0,0 +1,183 @@
|
||||
# Corpus Christi's own Matins hymn ("Sacris solémniis"), St. Thomas
|
||||
# Aquinas's own composition for this feast. Live-verified against
|
||||
# Divinum Officium (Monastic Tridentinum 1617), Matins live query,
|
||||
# 2026-06-04 (Corpus Christi itself). Self-contained — its own final
|
||||
# stanza ("Te, trina Déitas...") is the hymn's natural theological
|
||||
# close, not a separate swappable doxology.
|
||||
#
|
||||
# Closes the same real mechanism gap already fixed for Ascension/
|
||||
# Pentecost (`corpus-christi` is a temporal-feast id, not a saint
|
||||
# record, so `resolveOfficeWinner`'s octave-synthesis needed the same
|
||||
# fix already in place — see hours/resolve-common.ts's
|
||||
# `ALWAYS_OVERRIDE_TEMPORAL_IDS`).
|
||||
id: matins-hymn-corpus-christi
|
||||
text:
|
||||
la: >-
|
||||
Sacris solémniis juncta sint gáudia,
|
||||
|
||||
Et ex præcórdiis sonent præcónia;
|
||||
|
||||
Recédant vétera, nova sint ómnia,
|
||||
|
||||
Corda, voces, et ópera.
|
||||
|
||||
|
||||
Noctis recólitur cœna novíssima,
|
||||
|
||||
Qua Christus créditur agnum et ázyma
|
||||
|
||||
Dedísse frátribus, juxta legítima
|
||||
|
||||
Priscis indúlta pátribus.
|
||||
|
||||
|
||||
Post agnum týpicum, explétis épulis,
|
||||
|
||||
Corpus Domínicum datum discípulis,
|
||||
|
||||
Sic totum ómnibus, quod totum síngulis,
|
||||
|
||||
Ejus fatémur mánibus.
|
||||
|
||||
|
||||
Dedit fragílibus córporis férculum,
|
||||
|
||||
Dedit et trístibus sánguinis póculum,
|
||||
|
||||
Dicens: Accípite quod trado vásculum;
|
||||
|
||||
Omnes ex eo bíbite.
|
||||
|
||||
|
||||
Sic sacrifícium istud instítuit,
|
||||
|
||||
Cujus offícium commítti vóluit
|
||||
|
||||
Solis presbýteris, quibus sic cóngruit,
|
||||
|
||||
Ut sumant, et dent céteris.
|
||||
|
||||
|
||||
Panis angélicus fit panis hóminum;
|
||||
|
||||
Dat panis cǽlicus figúris términum;
|
||||
|
||||
O res mirábilis: mandúcat Dóminum
|
||||
|
||||
Pauper, servus et húmilis.
|
||||
|
||||
|
||||
Te, trina Déitas únaque, póscimus;
|
||||
|
||||
Sic nos tu vísita, sicut te cólimus:
|
||||
|
||||
Per tuas sémitas duc nos quo téndimus,
|
||||
|
||||
Ad lucem quam inhábitas. Amen.
|
||||
en: >-
|
||||
At this our solemn feast,
|
||||
|
||||
Let holy joys abound,
|
||||
|
||||
And from the inmost breast
|
||||
|
||||
Let songs of praise resound;
|
||||
|
||||
Let ancient rites depart,
|
||||
|
||||
And all be new around,
|
||||
|
||||
In ev'ry act and voice and heart.
|
||||
|
||||
|
||||
Remember we that eve,
|
||||
|
||||
When, the last supper spread,
|
||||
|
||||
Christ, as we all believe,
|
||||
|
||||
The lamb, with leavenless bread,
|
||||
|
||||
Among his brethren shared,
|
||||
|
||||
And thus the law obeyed,
|
||||
|
||||
Of old unto their sires declared.
|
||||
|
||||
|
||||
The typic lamb consumed,
|
||||
|
||||
The legal feast complete,
|
||||
|
||||
The Lord unto the twelve
|
||||
|
||||
His body gave to eat;
|
||||
|
||||
The whole to all, no less
|
||||
|
||||
The whole to each, did mete
|
||||
|
||||
With his own hands, as we confess.
|
||||
|
||||
|
||||
He gave them, weak and frail,
|
||||
|
||||
His flesh, their food to be;
|
||||
|
||||
On them, downcast and sad,
|
||||
|
||||
His blood bestowèd he:
|
||||
|
||||
And thus to them he spake,
|
||||
|
||||
"Receive this cup from me,
|
||||
|
||||
And all of you of this partake."
|
||||
|
||||
|
||||
So he this sacrifice
|
||||
|
||||
To institute did will,
|
||||
|
||||
And charged his priests alone
|
||||
|
||||
That office to fulfil:
|
||||
|
||||
In them he did confide:
|
||||
|
||||
To whom pertaineth still
|
||||
|
||||
To take, and to the rest divide.
|
||||
|
||||
|
||||
Thus angels' bread is made
|
||||
|
||||
The bread of man today:
|
||||
|
||||
The living bread from heaven
|
||||
|
||||
With figures doth away:
|
||||
|
||||
O wondrous gift indeed!
|
||||
|
||||
The poor and lowly may
|
||||
|
||||
Upon their Lord and Master feed.
|
||||
|
||||
|
||||
O Triune Deity,
|
||||
|
||||
To thee we meekly pray,
|
||||
|
||||
So mayst thou visit us,
|
||||
|
||||
As we our homage pay;
|
||||
|
||||
And in thy footsteps bright
|
||||
|
||||
Conduct us on our way
|
||||
|
||||
To where thou dwell'st in cloudless light. Amen.
|
||||
status:
|
||||
la: verified
|
||||
en: verified
|
||||
@@ -0,0 +1,125 @@
|
||||
# The Sacred Heart's own Matins hymn ("Auctor beáte sǽculi"). Live-
|
||||
# verified against Divinum Officium (Divino Afflatu - 1954, 2026-06-12,
|
||||
# the Sacred Heart itself) — not the Monastic Tridentinum 1617 track,
|
||||
# which doesn't observe this feast on the same date at all (live-
|
||||
# checked: shows St. Barnabas instead, unaffected). This project's own
|
||||
# rubric/precedence track is Divino Afflatu anyway (see the repo's
|
||||
# CLAUDE.md), so this is a real, consistent source choice, not a
|
||||
# deviation. Self-contained — its own final stanza is the hymn's natural
|
||||
# theological close, not a separate swappable doxology.
|
||||
#
|
||||
# Closes the same real mechanism gap already fixed for Ascension/
|
||||
# Pentecost/Corpus Christi (`sacred-heart` is a temporal-feast id, not a
|
||||
# saint record — see hours/resolve-common.ts's
|
||||
# `ALWAYS_OVERRIDE_TEMPORAL_IDS`).
|
||||
id: matins-hymn-sacred-heart
|
||||
text:
|
||||
la: >-
|
||||
Auctor beáte sǽculi,
|
||||
|
||||
Christe, Redémptor ómnium,
|
||||
|
||||
Lumen Patris de lúmine,
|
||||
|
||||
Deúsque verus de Deo.
|
||||
|
||||
|
||||
Amor coégit te tuus
|
||||
|
||||
Mortále corpus súmere,
|
||||
|
||||
Ut novus Adam rédderes,
|
||||
|
||||
Quod vetus ille abstúlerat.
|
||||
|
||||
|
||||
Ille amor, almus ártifex
|
||||
|
||||
Terræ marísque, et síderum,
|
||||
|
||||
Erráta patrum míserans,
|
||||
|
||||
Et nostra rumpens víncula.
|
||||
|
||||
|
||||
Non Corde discédat tuo
|
||||
|
||||
Vis illa amóris íncliti:
|
||||
|
||||
Hoc fonte gentes háuriant
|
||||
|
||||
Remissiónis grátiam.
|
||||
|
||||
|
||||
Percússum ad hoc est láncea,
|
||||
|
||||
Passúmque ad hoc est vúlnera:
|
||||
|
||||
Ut nos laváret sórdibus,
|
||||
|
||||
Unda fluénte, et sánguine.
|
||||
|
||||
|
||||
Jesu, tibi sit glória,
|
||||
|
||||
Qui Corde fundis grátiam,
|
||||
|
||||
Cum Patre, et almo Spíritu,
|
||||
|
||||
In sempitérna sǽcula. Amen.
|
||||
en: >-
|
||||
O Christ, the world's Creator bright,
|
||||
|
||||
Who didst mankind from sin redeem,
|
||||
|
||||
Light from the Father's glorious light,
|
||||
|
||||
True God of God, in bliss supreme.
|
||||
|
||||
|
||||
Thy love compelled thee to assume
|
||||
|
||||
A mortal body, man to save;
|
||||
|
||||
Reversing the old Adam's doom;
|
||||
|
||||
Our ransom the new Adam gave.
|
||||
|
||||
|
||||
That love which gloriously framed all
|
||||
|
||||
The earth, the stars, and wondrous sea
|
||||
|
||||
Took pity on our parents' fall,
|
||||
|
||||
Broke all our bonds and set us free.
|
||||
|
||||
|
||||
O Saviour, let thy potent love
|
||||
|
||||
Flow ever from thy bounteous heart;
|
||||
|
||||
To nations that pure fount above
|
||||
|
||||
The grace of pardon will impart.
|
||||
|
||||
|
||||
His heart for this was opened wide,
|
||||
|
||||
And wounded by the soldier's spear,
|
||||
|
||||
That freely from his sacred side
|
||||
|
||||
Might flow the streams our souls to clear.
|
||||
|
||||
|
||||
Glory to Father and to Son,
|
||||
|
||||
And to the Holy Ghost the same,
|
||||
|
||||
To whom all power, when time is done,
|
||||
|
||||
And endless rule, in endless fame. Amen.
|
||||
status:
|
||||
la: verified
|
||||
en: verified
|
||||
@@ -0,0 +1,169 @@
|
||||
# Corpus Christi's own Vespers hymn ("Pange, lingua, gloriósi Córporis
|
||||
# mystérium") — St. Thomas Aquinas's own Eucharistic hymn, whose final 2
|
||||
# stanzas ("Tantum ergo Sacraméntum..." — sung genuflecting per the
|
||||
# source's own rubric, not modeled here) are the separately-famous
|
||||
# "Tantum Ergo" sung constantly at Benediction. Distinct from Matins'
|
||||
# own ("Sacris solémniis") and Lauds' own ("Verbum supérnum pródiens").
|
||||
# Live-verified against Divinum Officium (Monastic Tridentinum 1617),
|
||||
# Vespers live query, 2026-06-04 (Corpus Christi itself). Self-contained
|
||||
# — its own final stanza is the hymn's natural theological close, not a
|
||||
# separate swappable doxology.
|
||||
id: vespers-hymn-corpus-christi
|
||||
text:
|
||||
la: >-
|
||||
Pange, lingua, gloriósi
|
||||
|
||||
Córporis mystérium,
|
||||
|
||||
Sanguinísque pretiósi,
|
||||
|
||||
Quem in mundi prétium
|
||||
|
||||
Fructus ventris generósi
|
||||
|
||||
Rex effúdit géntium.
|
||||
|
||||
|
||||
Nobis datus, nobis natus
|
||||
|
||||
Ex intácta Vírgine,
|
||||
|
||||
Et in mundo conversátus,
|
||||
|
||||
Sparso verbi sémine,
|
||||
|
||||
Sui moras incolátus
|
||||
|
||||
Miro clausit órdine.
|
||||
|
||||
|
||||
In suprémæ nocte cenæ
|
||||
|
||||
Recúmbens cum frátribus,
|
||||
|
||||
Observáta lege plene
|
||||
|
||||
Cibis in legálibus,
|
||||
|
||||
Cibum turbæ duodénæ
|
||||
|
||||
Se dat suis mánibus.
|
||||
|
||||
|
||||
Verbum caro, panem verum
|
||||
|
||||
Verbo carnem éfficit;
|
||||
|
||||
Fitque sanguis Christi merum:
|
||||
|
||||
Et si sensus déficit,
|
||||
|
||||
Ad firmándum cor sincérum
|
||||
|
||||
Sola fides súfficit.
|
||||
|
||||
|
||||
Tantum ergo Sacraméntum
|
||||
|
||||
Venerémur cérnui:
|
||||
|
||||
Et antíquum documéntum
|
||||
|
||||
Novo cedat rítui:
|
||||
|
||||
Præstet fides suppleméntum
|
||||
|
||||
Sénsuum deféctui.
|
||||
|
||||
|
||||
Genitóri, Genitóque
|
||||
|
||||
Laus et jubilátio,
|
||||
|
||||
Salus, honor, virtus quoque
|
||||
|
||||
Sit et benedíctio:
|
||||
|
||||
Procedénti ab utróque
|
||||
|
||||
Compar sit laudátio. Amen.
|
||||
en: >-
|
||||
Sing, my tongue, the Saviour's glory,
|
||||
|
||||
Of his flesh the mystery sing;
|
||||
|
||||
Of the blood, all price exceeding,
|
||||
|
||||
Shed by our immortal King,
|
||||
|
||||
Destined, for the world's redemption,
|
||||
|
||||
From a noble womb to spring.
|
||||
|
||||
|
||||
Of a pure and spotless Virgin
|
||||
|
||||
Born for us on earth below,
|
||||
|
||||
He, as man, with man conversing,
|
||||
|
||||
Stayed, the seeds of truth to sow;
|
||||
|
||||
Then he closed in solemn order
|
||||
|
||||
Wondrously his life of woe.
|
||||
|
||||
|
||||
On the night of that last supper
|
||||
|
||||
Seated with his chosen band,
|
||||
|
||||
He, the paschal victim eating,
|
||||
|
||||
First fulfills the law's command:
|
||||
|
||||
Then as food to all his brethren
|
||||
|
||||
Gives himself with his own hand.
|
||||
|
||||
|
||||
Word made flesh, the bread of nature
|
||||
|
||||
By his word to flesh he turns;
|
||||
|
||||
Wine into his blood he changes:
|
||||
|
||||
What though sense no change discerns?
|
||||
|
||||
Only be the heart in earnest,
|
||||
|
||||
Faith her lesson quickly learns.
|
||||
|
||||
|
||||
Down in adoration falling,
|
||||
|
||||
Lo! the sacred Host we hail;
|
||||
|
||||
Lo! o'er ancient forms departing,
|
||||
|
||||
Newer rites of grace prevail;
|
||||
|
||||
Faith for all defects supplying,
|
||||
|
||||
Where the feeble senses fail.
|
||||
|
||||
|
||||
To the everlasting Father,
|
||||
|
||||
And the Son who reigns on high,
|
||||
|
||||
With the Holy Ghost proceeding
|
||||
|
||||
Forth from each eternally,
|
||||
|
||||
Be salvation, honour, blessing,
|
||||
|
||||
Might, and endless majesty. Amen.
|
||||
status:
|
||||
la: verified
|
||||
en: verified
|
||||
@@ -0,0 +1,123 @@
|
||||
# The Sacred Heart's own Vespers hymn ("En, ut supérba críminum") —
|
||||
# distinct from Matins' own ("Auctor beáte sǽculi") and Lauds' own
|
||||
# ("Cor, arca legem cóntinens"). Live-verified against Divinum Officium
|
||||
# (Divino Afflatu - 1954), Vespers live query, 2026-06-12 (the Sacred
|
||||
# Heart itself) — see matins-hymn-sacred-heart.yml's own header on why
|
||||
# this track. Self-contained — its own final stanza is the hymn's
|
||||
# natural theological close, not a separate swappable doxology.
|
||||
#
|
||||
# This day's own Vespers genuinely has no responsory in the source at
|
||||
# all (straight from chapter to hymn), same as its own Lauds — see
|
||||
# hours/vespers.ts's own resolveOffice, which omits the responsory part
|
||||
# entirely rather than rendering an empty one.
|
||||
id: vespers-hymn-sacred-heart
|
||||
text:
|
||||
la: >-
|
||||
En, ut supérba críminum
|
||||
|
||||
Et sæva nostrórum cohors
|
||||
|
||||
Cor sauciávit ínnocens
|
||||
|
||||
Meréntis haud tale Dei!
|
||||
|
||||
|
||||
Vibrántis hastam mílitis
|
||||
|
||||
Peccáta nostra dírigunt,
|
||||
|
||||
Ferrúmque diræ cúspidis
|
||||
|
||||
Mortále crimen ácuit.
|
||||
|
||||
|
||||
Ex Corde scisso Ecclésia,
|
||||
|
||||
Christo jugáta, náscitur:
|
||||
|
||||
Hoc óstium arcæ in látere est
|
||||
|
||||
Genti ad salútem pósitum.
|
||||
|
||||
|
||||
Ex hoc perénnis grátia,
|
||||
|
||||
Ceu septifórmis flúvius,
|
||||
|
||||
Stolas ut illic sórdidas
|
||||
|
||||
Lavémus Agni in sánguine.
|
||||
|
||||
|
||||
Turpe est redíre ad crímina,
|
||||
|
||||
Quæ Cor beátum lácerent:
|
||||
|
||||
Sed æmulémur córdibus
|
||||
|
||||
Flammas amóris índices.
|
||||
|
||||
|
||||
Jesu, tibi sit glória,
|
||||
|
||||
Qui Corde fundis grátiam,
|
||||
|
||||
Cum Patre, et almo Spíritu,
|
||||
|
||||
In sempitérna sǽcula. Amen.
|
||||
en: >-
|
||||
Lo, how the savage crew
|
||||
|
||||
Of our proud sins hath rent
|
||||
|
||||
The heart of our all-gracious God,
|
||||
|
||||
That heart so innocent.
|
||||
|
||||
|
||||
The soldier's quivering lance
|
||||
|
||||
Our guilt it was that drave,
|
||||
|
||||
Our wicked deeds that to its point
|
||||
|
||||
Such cruel sharpness gave.
|
||||
|
||||
|
||||
O wounded heart, whence sprang
|
||||
|
||||
The Church, the Saviour's bride;
|
||||
|
||||
Thou door of our salvation's ark
|
||||
|
||||
Set in its mystic side.
|
||||
|
||||
|
||||
Thou holy fount, whence flows
|
||||
|
||||
The sacred sevenfold flood,
|
||||
|
||||
Where we our filthy robes may cleanse
|
||||
|
||||
In the Lamb's saving blood:
|
||||
|
||||
|
||||
By sorrowful relapse,
|
||||
|
||||
thee will we rend no more;
|
||||
|
||||
But like the flames, those types of love,
|
||||
|
||||
Strive heavenward to soar.
|
||||
|
||||
|
||||
Father and Son supreme
|
||||
|
||||
And Spirit, hear our cry;
|
||||
|
||||
Whose is the kingdom, praise and power,
|
||||
|
||||
Through all eternity. Amen.
|
||||
status:
|
||||
la: verified
|
||||
en: verified
|
||||
@@ -0,0 +1,24 @@
|
||||
# Corpus Christi's own Vespers responsory ("Cibávit illos ex ádipe
|
||||
# fruménti") — distinct from Lauds' own ("Panem cæli dedit eis", see
|
||||
# lauds-responsory-corpus-christi.yml). Live-verified against Divinum
|
||||
# Officium (Monastic Tridentinum 1617), Vespers live query, 2026-06-04
|
||||
# (Corpus Christi itself).
|
||||
id: vespers-responsory-corpus-christi
|
||||
text:
|
||||
la: |
|
||||
R.br. Cibávit illos ex ádipe fruménti, * Allelúja, allelúja.
|
||||
R. Cibávit illos ex ádipe fruménti, * Allelúja, allelúja.
|
||||
V. Et de petra, melle saturávit eos.
|
||||
R. Allelúja, allelúja.
|
||||
V. Glória Patri, et Fílio, * et Spirítui Sancto.
|
||||
R. Cibávit illos ex ádipe fruménti, * Allelúja, allelúja.
|
||||
en: |
|
||||
R.br. He fed them with the finest of the wheat. * Alleluia, Alleluia.
|
||||
R. He fed them with the finest of the wheat. * Alleluia, Alleluia.
|
||||
V. And with honey out of the rock did He satisfy them.
|
||||
R. Alleluia, Alleluia.
|
||||
V. Glory be to the Father, and to the Son, * and to the Holy Ghost.
|
||||
R. He fed them with the finest of the wheat. * Alleluia, Alleluia.
|
||||
status:
|
||||
la: verified
|
||||
en: verified
|
||||
@@ -0,0 +1,11 @@
|
||||
# Corpus Christi's own Vespers versicle — distinct from Lauds' own
|
||||
# ("Pósuit fines tuos pacem", see lauds-versicle-corpus-christi.yml).
|
||||
# Live-verified against Divinum Officium (Monastic Tridentinum 1617),
|
||||
# Vespers live query, 2026-06-04 (Corpus Christi itself).
|
||||
id: vespers-versicle-corpus-christi
|
||||
text:
|
||||
la: "V. Panem de cælo præstitísti eis, allelúja.\nR. Omne delectaméntum in se habéntem, allelúja."
|
||||
en: "V. Thou didst send them from heaven, alleluia.\nR. Bread able to content every man's delight, alleluia."
|
||||
status:
|
||||
la: verified
|
||||
en: verified
|
||||
@@ -0,0 +1,11 @@
|
||||
# The Sacred Heart's own versicle — identical at both Vespers and Lauds
|
||||
# (see lauds-versicle-sacred-heart.yml). Live-verified against Divinum
|
||||
# Officium (Divino Afflatu - 1954), Vespers live query, 2026-06-12 (the
|
||||
# Sacred Heart itself).
|
||||
id: vespers-versicle-sacred-heart
|
||||
text:
|
||||
la: "V. Hauriétis aquas in gáudio.\nR. De fóntibus Salvatóris."
|
||||
en: "V. With joy shall ye draw water.\nR. Out of the fountains of the Saviour."
|
||||
status:
|
||||
la: verified
|
||||
en: verified
|
||||
@@ -0,0 +1,21 @@
|
||||
# Verified against Divinum Officium (Monastic Tridentinum 1617) -- read
|
||||
# directly from the reference engine's own real-date output, 2026-05-14
|
||||
# (Ascension Day itself). A real, pre-existing content gap:
|
||||
# `getDayCollect` already looked up `${winner.id}-collect` for Ascension
|
||||
# unconditionally (it's the day's own kind:'temporal' winner regardless
|
||||
# of the hymnody-mechanism fix elsewhere), but this file never existed.
|
||||
id: ascension-collect
|
||||
text:
|
||||
la: |
|
||||
Orémus.
|
||||
Concéde, quǽsumus, omnípotens Deus: ut, qui hodiérna die Unigénitum tuum, Redemptórem nostrum, ad cælos ascendísse crédimus; ipsi quoque mente in cæléstibus habitémus.
|
||||
Per eúmdem Dóminum nostrum Jesum Christum Fílium tuum, qui tecum vivit et regnat in unitáte Spíritus Sancti, Deus, per ómnia sǽcula sæculórum.
|
||||
R. Amen.
|
||||
en: |
|
||||
Let us pray.
|
||||
Grant, we beseech thee, Almighty God, that just as we do believe thine Only-Begotten Son, our Saviour, to have this day ascended into the heavens, so we may also in heart and mind thither ascend, and with Him continually dwell.
|
||||
Through the same Jesus Christ, thy Son, Our Lord, Who liveth and reigneth with thee in the unity of the Holy Ghost, God, world without end.
|
||||
R. Amen.
|
||||
status:
|
||||
la: verified
|
||||
en: verified
|
||||
+12
-6
@@ -321,12 +321,18 @@ function resolveLaudsHymn(day: LiturgicalDay, key: string): ResolvedText {
|
||||
function resolveOffice(day: LiturgicalDay): ResolvedPart[] {
|
||||
const bundle = resolveOfficeBundle('lauds', day);
|
||||
if (bundle) {
|
||||
return [
|
||||
{ kind: 'chapter', text: bundle.chapter },
|
||||
{ kind: 'responsory', text: bundle.responsory },
|
||||
{ kind: 'hymn', text: bundle.hymn },
|
||||
{ kind: 'versicle', text: bundle.versicle },
|
||||
];
|
||||
const parts: ResolvedPart[] = [{ kind: 'chapter', text: bundle.chapter }];
|
||||
// The Sacred Heart's own Lauds genuinely has no responsory at all in
|
||||
// the source (live-verified, Divino Afflatu 1954, 2026-06-12: straight
|
||||
// from chapter to hymn, "Capitulum Hymnus Versus" with no
|
||||
// "Responsorium" in between) — an intentionally missing part, not an
|
||||
// unauthored one, so omitted from the page entirely rather than
|
||||
// rendering an empty section.
|
||||
if (bundle.responsory.status.la !== 'missing' || bundle.responsory.status.en !== 'missing') {
|
||||
parts.push({ kind: 'responsory', text: bundle.responsory });
|
||||
}
|
||||
parts.push({ kind: 'hymn', text: bundle.hymn }, { kind: 'versicle', text: bundle.versicle });
|
||||
return parts;
|
||||
}
|
||||
const seasonSuffix = seasonalOfficeSuffix(day.season);
|
||||
const key = seasonSuffix ?? day.weekday;
|
||||
|
||||
@@ -62,6 +62,8 @@ export const ALWAYS_OVERRIDE_TEMPORAL_IDS = new Set([
|
||||
'immaculate-heart-of-mary',
|
||||
'ascension',
|
||||
'pentecost-sunday',
|
||||
'corpus-christi',
|
||||
'sacred-heart',
|
||||
'circumcision',
|
||||
'holy-name-of-jesus',
|
||||
'vigil-of-christmas',
|
||||
|
||||
@@ -229,12 +229,14 @@ function resolveVespersHymn(day: LiturgicalDay, key: string): ResolvedText {
|
||||
function resolveOffice(day: LiturgicalDay): ResolvedPart[] {
|
||||
const bundle = resolveOfficeBundle('vespers', day, vespersCapitulumForOverride);
|
||||
if (bundle) {
|
||||
return [
|
||||
{ kind: 'chapter', text: bundle.chapter },
|
||||
{ kind: 'responsory', text: bundle.responsory },
|
||||
{ kind: 'hymn', text: bundle.hymn },
|
||||
{ kind: 'versicle', text: bundle.versicle },
|
||||
];
|
||||
const parts: ResolvedPart[] = [{ kind: 'chapter', text: bundle.chapter }];
|
||||
// The Sacred Heart's own Vespers genuinely has no responsory at all in
|
||||
// the source, same as its own Lauds — see lauds.ts's identical check.
|
||||
if (bundle.responsory.status.la !== 'missing' || bundle.responsory.status.en !== 'missing') {
|
||||
parts.push({ kind: 'responsory', text: bundle.responsory });
|
||||
}
|
||||
parts.push({ kind: 'hymn', text: bundle.hymn }, { kind: 'versicle', text: bundle.versicle });
|
||||
return parts;
|
||||
}
|
||||
const seasonSuffix = seasonalOfficeSuffix(day.season);
|
||||
const key = seasonSuffix ?? day.weekday;
|
||||
|
||||
@@ -6,7 +6,7 @@ import { getLaudsCommonOverride } from '../../src/hours/lauds-psalmody-overrides
|
||||
// and src/hours/lauds.ts's own generation-script provenance comments for
|
||||
// why these particular dates.
|
||||
const FERIAL_SUNDAY = '2026-06-21';
|
||||
const FERIAL_MONDAY = '2026-06-08'; // not 08-31 -- St. Raymond Nonnatus's own day (common-of-a-confessor)
|
||||
const FERIAL_MONDAY = '2026-09-07'; // not 2026-06-08 -- that fell inside Corpus Christi's own octave once its own hymnody was modeled 2026-09-04, see TODO.md; not 08-31 either -- St. Raymond Nonnatus's own day (common-of-a-confessor)
|
||||
const FERIAL_TUESDAY = '2033-09-06'; // not 2026-06-16 -- that fell inside Sacred Heart's own octave once modeled 2026-08-26, see TODO.md
|
||||
const LAWRENCE_OCTAVE_DAY = '2026-08-11'; // Semiduplex -- exercises isDoubleOrHigher's false branch differently than a plain feria only in rank, not in psalms (Commune override not modeled, see below)
|
||||
|
||||
|
||||
@@ -524,15 +524,23 @@ describe('resolveOrdo("vespers", ...)', () => {
|
||||
// to the octave -- and Jun 9 itself is *also* inside the same
|
||||
// octave, already having lost its own Simplex saint (Ss. Primus and
|
||||
// Felicianus) to it, so neither day has any sanctoral winner left to
|
||||
// anticipate. Jun 9's evening falls all the way through to the plain
|
||||
// ferial Vespers default (Trinity week's own governing chapter/hymn),
|
||||
// with both Primus & Felicianus and Corpus Christi's octave merely
|
||||
// commemorated, not any widow-specific content at all.
|
||||
// anticipate.
|
||||
//
|
||||
// Corrected 2026-09-04: Jun 9's evening does NOT fall through to the
|
||||
// plain ferial Vespers default -- that was this test's own original,
|
||||
// never-actually-verified guess, documenting the same real
|
||||
// resolveOfficeWinner gap already fixed for Ascension/Pentecost (see
|
||||
// TODO.md): a temporal-feast octave (Corpus Christi, no saint
|
||||
// record) wasn't being recognized on ordinary-feria days within it.
|
||||
// Live-verified against Divinum Officium (Monastic Tridentinum 1617,
|
||||
// 2026-06-09, "Feria Tertia infra Octavam Corporis Christi"): the
|
||||
// real content is Corpus Christi's own chapter/hymn ("ex Commune aut
|
||||
// Festo" in the source), not Trinity week's own governing default.
|
||||
const ordo = resolveOrdo('vespers', '2026-06-09');
|
||||
const chapter = ordo.parts.find((p) => p.kind === 'chapter');
|
||||
expect(chapter?.kind === 'chapter' ? chapter.text.citation?.en : undefined).toBe('2 Cor 1:3-4');
|
||||
expect(chapter?.kind === 'chapter' ? chapter.text.citation?.en : undefined).toBe('1 Cor 11:23-24');
|
||||
const hymn = ordo.parts.find((p) => p.kind === 'hymn');
|
||||
expect(hymn?.kind === 'hymn' ? hymn.text.text.la : undefined).toContain('Tellúris ingens Cónditor');
|
||||
expect(hymn?.kind === 'hymn' ? hymn.text.text.la : undefined).toContain('Pange, lingua, gloriósi');
|
||||
});
|
||||
|
||||
it("uses common-of-the-bvm's real office bundle for Our Lady of Mount Carmel's First Vespers", () => {
|
||||
|
||||
Reference in New Issue
Block a user