From 9ce89c0312705f4ed2def9b7bd4d8ec936efdd6d Mon Sep 17 00:00:00 2001 From: Will Estes Date: Wed, 26 Aug 2026 10:14:12 -0400 Subject: [PATCH] Import St. Agnes's own proper Lauds/Vespers chapter Live-verified against Divinum Officium (Monastic Tridentinum 1617), 2029-01-21: byte-identical to St. Agatha's own override (Sir 51:1-3). Confirmed a real, saint-specific shared override between these two ancient Roman virgin martyrs specifically, not a general Virgin-Martyr rank-tier variant -- St. Lucy (also a Canon-of-the-Mass virgin martyr) uses the plain Common chapter on her own clean day. Responsory, hymn, and versicle reuse Common-of-a-Virgin-Martyr's own content. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_014axryJBrRswYh2niA7WCUc --- .../common/lauds-capitulum-st-agnes.yml | 23 +++++ .../propers/common/lauds-hymn-st-agnes.yml | 99 +++++++++++++++++++ .../common/lauds-responsory-st-agnes.yml | 22 +++++ .../common/lauds-versicle-st-agnes.yml | 14 +++ .../propers/common/vespers-hymn-st-agnes.yml | 97 ++++++++++++++++++ .../common/vespers-responsory-st-agnes.yml | 22 +++++ .../common/vespers-versicle-st-agnes.yml | 14 +++ tests/hours/lauds.test.ts | 11 +++ 8 files changed, 302 insertions(+) create mode 100644 src/data/propers/common/lauds-capitulum-st-agnes.yml create mode 100644 src/data/propers/common/lauds-hymn-st-agnes.yml create mode 100644 src/data/propers/common/lauds-responsory-st-agnes.yml create mode 100644 src/data/propers/common/lauds-versicle-st-agnes.yml create mode 100644 src/data/propers/common/vespers-hymn-st-agnes.yml create mode 100644 src/data/propers/common/vespers-responsory-st-agnes.yml create mode 100644 src/data/propers/common/vespers-versicle-st-agnes.yml diff --git a/src/data/propers/common/lauds-capitulum-st-agnes.yml b/src/data/propers/common/lauds-capitulum-st-agnes.yml new file mode 100644 index 0000000..e3ee592 --- /dev/null +++ b/src/data/propers/common/lauds-capitulum-st-agnes.yml @@ -0,0 +1,23 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), Lauds +# live query, 2029-01-21 (clean year, per st-agnes.yml's own comment). +# Byte-identical to St. Agatha's own override (Sir 51:1-3, "Confitébor +# tibi, Dómine, Rex") -- confirmed a real, saint-specific shared +# override between these two ancient Roman virgin martyrs specifically, +# not the general Common-of-a-Virgin-Martyr default: St. Lucy (also one +# of the Canon-of-the-Mass virgin martyrs) uses the plain 2 Cor 10:17-18 +# Common chapter on her own clean day (2025-12-13), so this isn't a +# rank-tier variant of the Common either. Responsory, hymn, and versicle +# are the same Common-of-a-Virgin-Martyr content reused (byte-identical +# at both Agatha's and Agnes's own days). Same chapter reused for +# Vespers -- no separate vespers-capitulum- file authored, per +# vespers.ts's vespersCapitulumForOverride fallback. +id: lauds-capitulum-st-agnes +text: + la: "Confitébor tibi, Dómine, Rex, et collaudábo te Deum Salvatórem meum. Confitébor nómini tuo: quóniam adjútor et protéctor factus es mihi, et liberásti corpus meum a perditióne." + en: "I will give glory to thee, O Lord, O King, and I will praise thee, O God my Saviour. I will give glory to thy name: for thou hast been a helper and protector to me, and hast preserved my body from destruction." +citation: + la: "Eccli 51:1-3" + en: "Sir 51:1-3" +status: + la: verified + en: verified diff --git a/src/data/propers/common/lauds-hymn-st-agnes.yml b/src/data/propers/common/lauds-hymn-st-agnes.yml new file mode 100644 index 0000000..9161f99 --- /dev/null +++ b/src/data/propers/common/lauds-hymn-st-agnes.yml @@ -0,0 +1,99 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), Lauds +# `votive=C6` live query, 2026-08 -- see lauds-capitulum-common-of-a- +# virgin-martyr.yml's header for why the votive-office view was used. +# "Jesu, coróna Vírginum" -- the classic Common-of-Virgins Lauds/Vespers +# hymn (same text both hours here), a single genuine recension found in +# the reference engine. +id: lauds-hymn-st-agnes +text: + la: >- + Jesu, coróna Vírginum, + + Quem Mater illa cóncipit + + Quæ sola Virgo párturit, + + Hæc vota clemens áccipe: + + + Qui pascis inter lília + + Septus choréis Vírginum, + + Sponsus decórus glória + + Sponsísque reddens prǽmia. + + + Quocúmque pergis, Vírgines + + Sequúntur, atque láudibus + + Post te canéntes cúrsitant, + + Hymnósque dulces pérsonant; + + + Te deprecámur lárgius, + + Nostris adáuge sénsibus + + Nescíre prorsus ómnia + + Corruptiónis vúlnera. + + + Laus, honor, virtus, glória + + Deo Patri et Fílio, + + Sancto simul Paráclito, + + In sæculórum sǽcula. Amen. + en: >- + Jesu, the virgins' crown, do thou + + Accept us as in prayer we bow; + + Born of that Virgin, whom alone + + The mother and the maid we own. + + + Amongst the lilies thou dost feed, + + By virgin choirs accompanied; + + With glory decked, the spotless brides + + Whose bridal gifts thy love provides. + + + They, wheresoe'er thy footsteps bend, + + With hymns and praises still attend: + + In blessèd troops they follow thee, + + With dance, and song, and melody. + + + We pray thee therefore to bestow + + Upon our senses here below + + Thy grace, that so we may endure + + From taint of all corruption pure. + + + All laud to God the Father be, + + All praise, eternal Son, to thee; + + All glory as is ever meet, + + To God, the holy Paraclete. Amen. +status: + la: verified + en: verified diff --git a/src/data/propers/common/lauds-responsory-st-agnes.yml b/src/data/propers/common/lauds-responsory-st-agnes.yml new file mode 100644 index 0000000..cbee06d --- /dev/null +++ b/src/data/propers/common/lauds-responsory-st-agnes.yml @@ -0,0 +1,22 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), Lauds +# `votive=C6` live query, 2026-08 -- see lauds-capitulum-common-of-a- +# virgin-martyr.yml's header for why the votive-office view was used. +id: lauds-responsory-st-agnes +text: + la: | + R.br. Spécie tua * Et pulchritúdine tua. + ℟. Spécie tua * Et pulchritúdine tua. + ℣. Inténde, próspere procéde, et regna. + ℟. Et pulchritúdine tua. + ℣. Glória Patri, et Fílio, * et Spirítui Sancto. + ℟. Spécie tua * Et pulchritúdine tua. + en: | + R.br. In thy comeliness * and in thy beauty. + ℟. In thy comeliness * and in thy beauty. + ℣. Go forward, fare prosperously, and reign. + ℟. In thy beauty. + ℣. Glory be to the Father, and to the Son, * and to the Holy Ghost. + ℟. In thy comeliness * and in thy beauty. +status: + la: verified + en: verified diff --git a/src/data/propers/common/lauds-versicle-st-agnes.yml b/src/data/propers/common/lauds-versicle-st-agnes.yml new file mode 100644 index 0000000..21a0771 --- /dev/null +++ b/src/data/propers/common/lauds-versicle-st-agnes.yml @@ -0,0 +1,14 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), Lauds +# `votive=C6` live query, 2026-08 -- same versicle as Vespers -- see +# vespers-versicle-st-agnes.yml's header. +id: lauds-versicle-st-agnes +text: + la: | + ℣. Diffúsa est grátia in lábiis tuis. + ℟. Proptérea benedíxit te Deus in ætérnum. + en: | + ℣. Grace is poured into thy lips. + ℟. Therefore God hath blessed thee for ever. +status: + la: verified + en: verified diff --git a/src/data/propers/common/vespers-hymn-st-agnes.yml b/src/data/propers/common/vespers-hymn-st-agnes.yml new file mode 100644 index 0000000..78176e7 --- /dev/null +++ b/src/data/propers/common/vespers-hymn-st-agnes.yml @@ -0,0 +1,97 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), Vespers +# `votive=C6` live query, 2026-08 -- byte-identical to the Lauds hymn +# ("Jesu, coróna Vírginum") -- see lauds-capitulum-common-of-a-virgin- +# martyr.yml's header for the fuller gap/sourcing writeup. +id: vespers-hymn-st-agnes +text: + la: >- + Jesu, coróna Vírginum, + + Quem Mater illa cóncipit + + Quæ sola Virgo párturit, + + Hæc vota clemens áccipe: + + + Qui pascis inter lília + + Septus choréis Vírginum, + + Sponsus decórus glória + + Sponsísque reddens prǽmia. + + + Quocúmque pergis, Vírgines + + Sequúntur, atque láudibus + + Post te canéntes cúrsitant, + + Hymnósque dulces pérsonant; + + + Te deprecámur lárgius, + + Nostris adáuge sénsibus + + Nescíre prorsus ómnia + + Corruptiónis vúlnera. + + + Laus, honor, virtus, glória + + Deo Patri et Fílio, + + Sancto simul Paráclito, + + In sæculórum sǽcula. Amen. + en: >- + Jesu, the virgins' crown, do thou + + Accept us as in prayer we bow; + + Born of that Virgin, whom alone + + The mother and the maid we own. + + + Amongst the lilies thou dost feed, + + By virgin choirs accompanied; + + With glory decked, the spotless brides + + Whose bridal gifts thy love provides. + + + They, wheresoe'er thy footsteps bend, + + With hymns and praises still attend: + + In blessèd troops they follow thee, + + With dance, and song, and melody. + + + We pray thee therefore to bestow + + Upon our senses here below + + Thy grace, that so we may endure + + From taint of all corruption pure. + + + All laud to God the Father be, + + All praise, eternal Son, to thee; + + All glory as is ever meet, + + To God, the holy Paraclete. Amen. +status: + la: verified + en: verified diff --git a/src/data/propers/common/vespers-responsory-st-agnes.yml b/src/data/propers/common/vespers-responsory-st-agnes.yml new file mode 100644 index 0000000..d3b45cd --- /dev/null +++ b/src/data/propers/common/vespers-responsory-st-agnes.yml @@ -0,0 +1,22 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), Vespers +# `votive=C6` live query, 2026-08 -- see lauds-capitulum-common-of-a- +# virgin-martyr.yml's header for why the votive-office view was used. +id: vespers-responsory-st-agnes +text: + la: | + R.br. Adjuvábit eam * Deus vultu suo. + ℟. Adjuvábit eam * Deus vultu suo. + ℣. Deus in médio ejus, non commovébitur. + ℟. Deus vultu suo. + ℣. Glória Patri, et Fílio, * et Spirítui Sancto. + ℟. Adjuvábit eam * Deus vultu suo. + en: | + R.br. God shall help her * with His countenance. + ℟. God shall help her * with His countenance. + ℣. God is in the midst of her, she shall not be moved. + ℟. With His countenance. + ℣. Glory be to the Father, and to the Son, * and to the Holy Ghost. + ℟. God shall help her * with His countenance. +status: + la: verified + en: verified diff --git a/src/data/propers/common/vespers-versicle-st-agnes.yml b/src/data/propers/common/vespers-versicle-st-agnes.yml new file mode 100644 index 0000000..d928d8b --- /dev/null +++ b/src/data/propers/common/vespers-versicle-st-agnes.yml @@ -0,0 +1,14 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), Vespers +# `votive=C6` live query, 2026-08 -- same versicle as Lauds (see lauds- +# versicle-st-agnes.yml). +id: vespers-versicle-st-agnes +text: + la: | + ℣. Diffúsa est grátia in lábiis tuis. + ℟. Proptérea benedíxit te Deus in ætérnum. + en: | + ℣. Grace is poured into thy lips. + ℟. Therefore God hath blessed thee for ever. +status: + la: verified + en: verified diff --git a/tests/hours/lauds.test.ts b/tests/hours/lauds.test.ts index d1b8c5d..b992f3b 100644 --- a/tests/hours/lauds.test.ts +++ b/tests/hours/lauds.test.ts @@ -329,6 +329,17 @@ describe('resolveOrdo("lauds", ...)', () => { expect(hymn?.kind === 'hymn' ? hymn.text.text.la : undefined).toContain('Jesu, coróna Vírginum'); }); + it("resolves St. Agnes's own proper chapter (shared verbatim with St. Agatha's), with Common-of-a-Virgin-Martyr's hymn", () => { + // Live-verified against Divinum Officium (Monastic Tridentinum + // 1617), 2029-01-21 (clean year). See lauds-capitulum-st-agnes.yml's + // header. + const ordo = resolveOrdo('lauds', '2029-01-21'); + const chapter = ordo.parts.find((p) => p.kind === 'chapter'); + expect(chapter?.kind === 'chapter' ? chapter.text.citation?.en : undefined).toBe('Sir 51:1-3'); + const hymn = ordo.parts.find((p) => p.kind === 'hymn'); + expect(hymn?.kind === 'hymn' ? hymn.text.text.la : undefined).toContain('Jesu, coróna Vírginum'); + }); + it('includes the Kyrie + Our Father lead-in right after the Benedictus, before the day collect (either form)', () => { const ordo = resolveOrdo('lauds', FERIAL_TUESDAY); const litanyIndex = ordo.parts.findIndex((p) => p.kind === 'preces' && p.text.text.la?.includes('Kýrie, eléison'));