Model Trinity Sunday as a real feast, not just a cosmetic label

Trinity Sunday wasn't modeled at all: getDayLabel had a purely
cosmetic "Trinity Sunday" label overlay for the Sunday after
Pentecost, but resolveTemporalId just fell back to post-pentecost-01
(ordinary-sunday category), so any Duplex+ saint assigned that date
(e.g. the Queenship of the BVM, fixed May 31) won outright, real
Trinity Sunday content never appearing anywhere.

Added a real temporal-feasts/trinity-sunday.yml record (Easter+56,
Duplex II. classis, live-verified). Per direct instruction,
unconditional: true (same shape as christ-the-king.yml) -- a
principal Sunday shouldn't lose a same-rank fixed-date collision, and
the one real collision case (Queenship of the BVM) isn't
independently verifiable against Monastic 1617 at all (that calendar
doesn't carry the Queenship feast -- May 31 there is St. Petronilla
instead).

Authored the full office and registered trinity-sunday in
ALWAYS_OVERRIDE_TEMPORAL_IDS -- the same generic mechanism already
built for the Pentecost-cluster fix, no new code needed: collect,
Benedictus/Magnificat antiphons, Matins hymn ("Summæ Deus cleméntiæ"),
Lauds/Vespers chapter (shared, Rom 11:33) and hymn (shared, "O lux
beáta Trínitas", already the pre-Urban VIII text), each hour's own
distinct responsory/versicle -- all live-verified 2026-05-31.

Fixed 3 pre-existing tests written around the old cosmetic-label
behavior, two of which had never-verified guesses baked in as if
correct: day-label.test.ts's "names the anchor day itself" test and
its "outranks an active octave" test (was asserting "Duplex I Class",
a guess -- the real live-verified rank is Duplex II);
transfer.test.ts's St. Felix I test.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AGjUyhUZJaSjiniEmnLdak
This commit is contained in:
2026-09-04 14:50:31 -04:00
parent 2a611cc17b
commit aba89dc250
15 changed files with 387 additions and 32 deletions
@@ -0,0 +1,16 @@
# Trinity Sunday's own Lauds chapter (Rom 11:33) — shared with Vespers
# via vespersCapitulumForOverride's own cross-hour fallback (see
# hours/vespers.ts), not duplicated into a separate vespers-capitulum-
# trinity-sunday.yml. Live-verified against Divinum Officium (Monastic
# Tridentinum 1617), Lauds/Vespers live query, 2026-05-31 (Trinity Sunday
# itself).
id: lauds-capitulum-trinity-sunday
text:
la: "O Altitúdo divitiárum sapiéntiæ, et sciéntiæ Dei, quam incomprehensibília sunt judícia ejus, et investigábiles viæ ejus!"
en: "O the depth of the riches of the wisdom and of the knowledge of God! How incomprehensible are his judgments, and how unsearchable his ways!"
citation:
la: "Rom 11:33"
en: "Rom 11:33"
status:
la: verified
en: verified
@@ -0,0 +1,65 @@
# Trinity Sunday's own Lauds hymn ("O lux beáta Trínitas") — identical
# text to Vespers' own (vespers-hymn-trinity-sunday.yml). Already the
# pre-Urban VIII text (this project's own standing preference — see
# CLAUDE.md) as the reference source's own default, not a separate
# choice made here. Live-verified against Divinum Officium (Monastic
# Tridentinum 1617), Lauds live query, 2026-05-31 (Trinity Sunday
# itself). Self-contained — its own final stanza is a fixed, unique
# doxology, not the shared weekday one.
id: lauds-hymn-trinity-sunday
text:
la: >-
O lux beáta Trínitas,
Et principális Únitas,
Jam sol recédit ígneus,
Infúnde lumen córdibus.
Te mane laudum cármine,
Te deprecémur véspere:
Te nostra supplex glória
Per cuncta laudet sǽcula.
Deo Patri sit glória,
Ejúsque soli Fílio,
Cum Spíritu Paráclito,
Et nunc, et in perpétuum. Amen.
en: >-
O Trinity of blessed Light,
O Unity of sovereign might,
as now the fiery sun departs,
shed Thou Thy beams within our hearts.
To Thee our morning song of praise,
to Thee our evening prayer we raise;
Thee may our glory evermore
in lowly reverence adore.
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
@@ -0,0 +1,25 @@
# Trinity Sunday's own Lauds responsory ("Benedíctus es, Dómine, in
# firmaménto cæli") — distinct from Vespers' own ("Benedicámus Patrem et
# Fílium cum Sancto Spíritu", see
# vespers-responsory-trinity-sunday.yml). Live-verified against Divinum
# Officium (Monastic Tridentinum 1617), Lauds live query, 2026-05-31
# (Trinity Sunday itself).
id: lauds-responsory-trinity-sunday
text:
la: |
R.br. Benedíctus es, Dómine, * In firmaménto cæli.
R. Benedíctus es, Dómine, * In firmaménto cæli.
V. Et laudábilis et gloriósus in sǽcula.
R. In firmaménto cæli.
V. Glória Patri, et Fílio, * et Spirítui Sancto.
R. Benedíctus es, Dómine, * In firmaménto cæli.
en: |
R.br. Blessed art Thou, O Lord, * In the firmament of heaven.
R. Blessed art Thou, O Lord, * In the firmament of heaven.
V. And to be praised and glorified for ever.
R. In the firmament of heaven.
V. Glory be to the Father, and to the Son, * and to the Holy Ghost.
R. Blessed art Thou, O Lord, * In the firmament of heaven.
status:
la: verified
en: verified
@@ -0,0 +1,12 @@
# Trinity Sunday's own Lauds versicle — distinct from Vespers' own
# ("Benedíctus es, Dómine, in firmaménto cæli", see
# vespers-versicle-trinity-sunday.yml). Live-verified against Divinum
# Officium (Monastic Tridentinum 1617), Lauds live query, 2026-05-31
# (Trinity Sunday itself).
id: lauds-versicle-trinity-sunday
text:
la: "V. Benedicámus Patrem et Fílium cum Sancto Spíritu.\nR. Laudémus et superexaltémus eum in sǽcula."
en: "V. Bless we the Father, and the Son, and the Holy Ghost.\nR. Let us praise Him and exalt Him above all for ever."
status:
la: verified
en: verified
@@ -0,0 +1,67 @@
# Trinity Sunday's own Matins hymn ("Summæ Deus cleméntiæ") — shares its
# opening stanza with the plain ferial Saturday hymn
# (matins-hymn-ferial-saturday.yml's "Summæ Deus cleméntiæ, Mundíque
# Factor máchinæ..."), but diverges completely from its second stanza
# onward and is shorter overall (2 body stanzas + its own doxology,
# not 4 + the shared weekday doxology) — a genuinely different hymn, not
# a mislabeled duplicate. Live-verified against Divinum Officium
# (Monastic Tridentinum 1617), Matins live query, 2026-05-31 (Trinity
# Sunday itself). Self-contained — its own final stanza is a fixed,
# unique doxology, not the shared weekday one.
id: matins-hymn-trinity-sunday
text:
la: >-
Summæ Deus cleméntiæ,
Mundíque Factor máchinæ,
Unus potentiáliter,
Trinúsque personáliter.
Da déxteram surgéntibus,
Exsúrgat ut mens sóbria,
Flagrans et in laudem Dei,
Grates repéndet débitas.
Glória Patri Dómino,
Glória Unigénito,
Una cum Sancto Spíritu,
In sempitérna sǽcula. Amen.
en: >-
O God, by whose command is swayed
This ordered world which thou hast made;
Parent of heavenly clemency,
In nature One, in persons Three;
Assist us while our minds we raise,
Inflamed with thy immortal praise;
That with our sober thoughts, we may
Forever our thanksgiving pay.
May age by age thy wonders tell,
Eternal praise thy works reveal,
And sing with the celestial host
The Father, Son, and Holy Ghost. Amen.
status:
la: verified
en: verified
@@ -0,0 +1,61 @@
# Trinity Sunday's own Vespers hymn ("O lux beáta Trínitas") — identical
# text to Lauds' own (lauds-hymn-trinity-sunday.yml). Live-verified
# against Divinum Officium (Monastic Tridentinum 1617), Vespers live
# query, 2026-05-31 (Trinity Sunday itself).
id: vespers-hymn-trinity-sunday
text:
la: >-
O lux beáta Trínitas,
Et principális Únitas,
Jam sol recédit ígneus,
Infúnde lumen córdibus.
Te mane laudum cármine,
Te deprecémur véspere:
Te nostra supplex glória
Per cuncta laudet sǽcula.
Deo Patri sit glória,
Ejúsque soli Fílio,
Cum Spíritu Paráclito,
Et nunc, et in perpétuum. Amen.
en: >-
O Trinity of blessed Light,
O Unity of sovereign might,
as now the fiery sun departs,
shed Thou Thy beams within our hearts.
To Thee our morning song of praise,
to Thee our evening prayer we raise;
Thee may our glory evermore
in lowly reverence adore.
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
@@ -0,0 +1,25 @@
# Trinity Sunday's own Vespers responsory ("Benedicámus Patrem et
# Fílium cum Sancto Spíritu") — distinct from Lauds' own ("Benedíctus
# es, Dómine, in firmaménto cæli", see
# lauds-responsory-trinity-sunday.yml). Live-verified against Divinum
# Officium (Monastic Tridentinum 1617), Vespers live query, 2026-05-31
# (Trinity Sunday itself).
id: vespers-responsory-trinity-sunday
text:
la: |
R.br. Benedicámus Patrem et Fílium * Cum Sancto Spíritu.
R. Benedicámus Patrem et Fílium * Cum Sancto Spíritu.
V. Laudémus et superexaltémus eum in sǽcula.
R. Cum Sancto Spíritu.
V. Glória Patri, et Fílio, * et Spirítui Sancto.
R. Benedicámus Patrem et Fílium * Cum Sancto Spíritu.
en: |
R.br. Bless we the Father, and the Son, * And the Holy Ghost.
R. Bless we the Father, and the Son, * And the Holy Ghost.
V. Let us praise and exalt Him above all for ever.
R. And the Holy Ghost.
V. Glory be to the Father, and to the Son, * and to the Holy Ghost.
R. Bless we the Father, and the Son, * And the Holy Ghost.
status:
la: verified
en: verified
@@ -0,0 +1,12 @@
# Trinity Sunday's own Vespers versicle — distinct from Lauds' own
# ("Benedicámus Patrem et Fílium cum Sancto Spíritu", see
# lauds-versicle-trinity-sunday.yml). Live-verified against Divinum
# Officium (Monastic Tridentinum 1617), Vespers live query, 2026-05-31
# (Trinity Sunday itself).
id: vespers-versicle-trinity-sunday
text:
la: "V. Benedíctus es, Dómine, in firmaménto cæli.\nR. Et laudábilis et gloriósus in sǽcula."
en: "V. Blessed art Thou, O Lord, in the firmament of heaven.\nR. And to be praised and glorified for ever."
status:
la: verified
en: verified