Author Matins invitatory-antiphon Common tier for Confessors/Martyrs/Virgins/Dedication
Deploy / deploy (push) Successful in 1m23s
Deploy / deploy (push) Successful in 1m23s
resolveMatinsInvitatoryText's Common-category tier existed but only had Common-of-an-Apostle authored, so every other Common category fell all the way through to the plain ferial invitatory antiphon regardless of rank (e.g. St. Joseph Calasanctius, 2026-08-27, Confessor). Adds the Confessor family (5 duplicated ids, matching the hymn's own precedent), Martyr family (2 ids + Several Martyrs), Virgin family (2 ids), and Dedication — all read directly from the reference engine's own Commune/C-number [Invit] lines. Holy Women (C7) needs a name-template mechanism this project doesn't have yet for invitatory antiphons, and General/All Saints (C9) turned out to be a mislabeled backlog item (C9 is actually the Office of the Dead) — both logged in TODO.md instead. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012AVXS5iTrk3c2anSYVGwxS
This commit is contained in:
@@ -2753,12 +2753,32 @@ directly from the reference engine's `Commune/C1.txt` (Latin + English both pres
|
||||
Live-verified: St. Bartholomew (2026-08-24) and St. Andrew (2026-11-30) both now resolve to this
|
||||
Common's text for hymn + invitatory.
|
||||
|
||||
**Not authored, logged as explicit backlog**, same incremental-content pattern as everywhere
|
||||
else in this project:
|
||||
- Hymn + invitatory Common tiers for: Martyrs (C2), Virgins (C6), Holy Women
|
||||
(C7), Dedication (C8), General/All Saints (C9) — all confirmed to have their own distinct
|
||||
`[Invit]`/`[Hymnus Matutinum]` text in the reference source, not yet transcribed. Confessors
|
||||
(C4) hymn done 2026-08-25, see below — invitatory antiphon still open.
|
||||
**Invitatory-antiphon Common tier filled in for Confessors/Martyrs/Virgins/Dedication
|
||||
(2026-08-27)**: `matins-invitatory-common-of-a-confessor{,-bishop,-not-bishop,-doctor,-pope}.yml`
|
||||
(Commune/C4's own `[Invit]`, "Regem Confessórum Dóminum" — C4a/C4b/C5 all inherit it verbatim,
|
||||
so duplicated under all 5 confessor ids, same convention as the hymn), `matins-invitatory-
|
||||
common-of-a-martyr{,-bishop}.yml` + `matins-invitatory-common-of-several-martyrs.yml`
|
||||
(Commune/C2's own `[Invit]`, "Regem Mártyrum Dóminum" — C3's own `[Invit]` is a literal
|
||||
`@Commune/C2` redirect), `matins-invitatory-common-of-a-virgin{,-martyr}.yml` (Commune/C6's own
|
||||
`[Invit]`, "Regem Vírginum Dóminum" — C6a inherits verbatim), and `matins-invitatory-common-of-
|
||||
a-dedication.yml` (Commune/C8's own `[Invit]`, "Domum Dei decet sanctitúdo"). Directly fixed
|
||||
St. Joseph Calasanctius (2026-08-27, Confessor, duplex) falling all the way to the plain
|
||||
ferial invitatory antiphon.
|
||||
|
||||
**Still not authored, logged as explicit backlog**, same incremental-content pattern as
|
||||
everywhere else in this project:
|
||||
- Holy Women (C7) invitatory antiphon — Commune/C7.txt's own `[Invit]` ("Laudémus Deum nostrum
|
||||
* In confessióne beátæ N..") is a name-template text (a literal "N." placeholder, like
|
||||
`collectCommon`'s `{N}` substitution elsewhere) — this project's invitatory-antiphon files
|
||||
have no substitution mechanism built yet, so authoring this one needs that groundwork first,
|
||||
not just a transcription. Only 3 saints use `common-of-a-holy-woman`.
|
||||
- General/All Saints (C9) invitatory antiphon — re-investigated 2026-08-27: the reference
|
||||
engine's own `Commune/C9.txt` is actually the Office of the Dead ("Regem, cui ómnia vivunt"),
|
||||
not a General/All-Saints common — this backlog item's own C-number was mislabeled at the time
|
||||
it was written. No saint's `common:` field maps to a C9-shaped category currently, so there's
|
||||
nothing to author against yet; revisit if that changes.
|
||||
- Hymn Common tiers for: Martyrs (C2), Virgins (C6), Dedication (C8) — invitatory done above,
|
||||
hymn still open for these three (Confessors' hymn was done 2026-08-25, see above).
|
||||
- Seasonal invitatory-antiphon tier content (Advent/Lent/Passiontide/Paschaltide/Christmastide)
|
||||
— mechanism now exists (same `seasonalOfficeSuffix`-keyed lookup the hymn's own long-standing
|
||||
seasonal tier already uses), but no seasonal invitatory file is authored yet; every season
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
# Same Common-of-a-Confessor invitatory antiphon as
|
||||
# matins-invitatory-common-of-a-confessor.yml — see that file's header
|
||||
# for full sourcing detail (Commune/C4.txt's own [Invit], inherited
|
||||
# verbatim by C4a/C4b/C5 alike).
|
||||
id: matins-invitatory-common-of-a-confessor-bishop
|
||||
text:
|
||||
la: "Regem Confessórum Dóminum, * Veníte, adorémus."
|
||||
en: "The Lord, the King of Confessors, * O come, let us worship."
|
||||
status:
|
||||
la: verified
|
||||
en: verified
|
||||
@@ -0,0 +1,11 @@
|
||||
# Same Common-of-a-Confessor invitatory antiphon as
|
||||
# matins-invitatory-common-of-a-confessor.yml — see that file's header
|
||||
# for full sourcing detail (Commune/C4.txt's own [Invit], inherited
|
||||
# verbatim by C4a/C4b/C5 alike; C4a is the Doctor Common specifically).
|
||||
id: matins-invitatory-common-of-a-confessor-doctor
|
||||
text:
|
||||
la: "Regem Confessórum Dóminum, * Veníte, adorémus."
|
||||
en: "The Lord, the King of Confessors, * O come, let us worship."
|
||||
status:
|
||||
la: verified
|
||||
en: verified
|
||||
@@ -0,0 +1,11 @@
|
||||
# Same Common-of-a-Confessor invitatory antiphon as
|
||||
# matins-invitatory-common-of-a-confessor.yml — see that file's header
|
||||
# for full sourcing detail (Commune/C4.txt's own [Invit], inherited
|
||||
# verbatim by C4a/C4b/C5 alike).
|
||||
id: matins-invitatory-common-of-a-confessor-not-bishop
|
||||
text:
|
||||
la: "Regem Confessórum Dóminum, * Veníte, adorémus."
|
||||
en: "The Lord, the King of Confessors, * O come, let us worship."
|
||||
status:
|
||||
la: verified
|
||||
en: verified
|
||||
@@ -0,0 +1,12 @@
|
||||
# Same Common-of-a-Confessor invitatory antiphon as
|
||||
# matins-invitatory-common-of-a-confessor.yml — see that file's header
|
||||
# for full sourcing detail (Commune/C4.txt's own [Invit], inherited
|
||||
# verbatim by C4a/C4b/C5 alike; C4b is the Pope-Confessor Common
|
||||
# specifically).
|
||||
id: matins-invitatory-common-of-a-confessor-pope
|
||||
text:
|
||||
la: "Regem Confessórum Dóminum, * Veníte, adorémus."
|
||||
en: "The Lord, the King of Confessors, * O come, let us worship."
|
||||
status:
|
||||
la: verified
|
||||
en: verified
|
||||
@@ -0,0 +1,19 @@
|
||||
# The Common-of-a-Confessor's own invitatory antiphon ("Regem Confessórum
|
||||
# Dóminum" / "The Lord, the King of Confessors"), read from the reference
|
||||
# engine's own Commune/C4.txt [Invit] line (both languages) — C4a
|
||||
# (Doctor) and C4b (Pope-Confessor) both inherit this verbatim (`@Commune/
|
||||
# C4`, no own [Invit]), and C5 (Confessor Not a Bishop) does too, matching
|
||||
# this Common category's existing hymn precedent (matins-hymn-common-of-a-
|
||||
# confessor.yml and its -bishop/-not-bishop/-doctor/-pope siblings all
|
||||
# share one text the same way). Duplicated under all 5 confessor ids
|
||||
# rather than aliased, per this project's established convention for this
|
||||
# category. Any winning confessor with no proper invitatory antiphon of
|
||||
# his own authored falls to this Common tier
|
||||
# (hours/matins.ts's resolveMatinsInvitatoryText).
|
||||
id: matins-invitatory-common-of-a-confessor
|
||||
text:
|
||||
la: "Regem Confessórum Dóminum, * Veníte, adorémus."
|
||||
en: "The Lord, the King of Confessors, * O come, let us worship."
|
||||
status:
|
||||
la: verified
|
||||
en: verified
|
||||
@@ -0,0 +1,13 @@
|
||||
# The Common of the Dedication of a Church's own invitatory antiphon
|
||||
# ("Domum Dei decet sanctitúdo" / "Holiness becometh the house of God"),
|
||||
# read from the reference engine's own Commune/C8.txt [Invit] line (both
|
||||
# languages). Any winning dedication feast with no proper invitatory
|
||||
# antiphon of its own authored falls to this Common tier
|
||||
# (hours/matins.ts's resolveMatinsInvitatoryText).
|
||||
id: matins-invitatory-common-of-a-dedication
|
||||
text:
|
||||
la: "Domum Dei decet sanctitúdo: * Sponsum ejus Christum adorémus in ea."
|
||||
en: "Holiness becometh the house of God. * In her let us worship her Bridegroom, even Christ."
|
||||
status:
|
||||
la: verified
|
||||
en: verified
|
||||
@@ -0,0 +1,10 @@
|
||||
# Same Common-of-a-Martyr invitatory antiphon as
|
||||
# matins-invitatory-common-of-a-martyr.yml — see that file's header for
|
||||
# full sourcing detail.
|
||||
id: matins-invitatory-common-of-a-martyr-bishop
|
||||
text:
|
||||
la: "Regem Mártyrum Dóminum, * Veníte, adorémus."
|
||||
en: "The Lord, the King of Martyrs, * O come, let us worship."
|
||||
status:
|
||||
la: verified
|
||||
en: verified
|
||||
@@ -0,0 +1,19 @@
|
||||
# The Common-of-a-Martyr's own invitatory antiphon ("Regem Mártyrum
|
||||
# Dóminum" / "The Lord, the King of Martyrs"), read from the reference
|
||||
# engine's own Commune/C2.txt [Invit] line (both languages) — C3 (Several
|
||||
# Martyrs) inherits this verbatim (`[Invit]` line is a literal
|
||||
# `@Commune/C2` redirect, no own text), matching this Common's own
|
||||
# Matins psalmody precedent (matins-psalmody-overrides.ts's own
|
||||
# Common-of-a-Martyr-Bishop-redirects-to-Common-of-a-Martyr note).
|
||||
# Duplicated under common-of-a-martyr and common-of-a-martyr-bishop
|
||||
# (both real SaintRecord.common ids in use) rather than aliased, per this
|
||||
# project's established convention. Any winning martyr with no proper
|
||||
# invitatory antiphon of his own authored falls to this Common tier
|
||||
# (hours/matins.ts's resolveMatinsInvitatoryText).
|
||||
id: matins-invitatory-common-of-a-martyr
|
||||
text:
|
||||
la: "Regem Mártyrum Dóminum, * Veníte, adorémus."
|
||||
en: "The Lord, the King of Martyrs, * O come, let us worship."
|
||||
status:
|
||||
la: verified
|
||||
en: verified
|
||||
@@ -0,0 +1,10 @@
|
||||
# Same Common-of-a-Virgin invitatory antiphon as
|
||||
# matins-invitatory-common-of-a-virgin.yml — see that file's header for
|
||||
# full sourcing detail.
|
||||
id: matins-invitatory-common-of-a-virgin-martyr
|
||||
text:
|
||||
la: "Regem Vírginum Dóminum, * Veníte, adorémus."
|
||||
en: "The Lord, the King of Virgins, * O come, let us worship."
|
||||
status:
|
||||
la: verified
|
||||
en: verified
|
||||
@@ -0,0 +1,18 @@
|
||||
# The Common-of-a-Virgin's own invitatory antiphon ("Regem Vírginum
|
||||
# Dóminum" / "The Lord, the King of Virgins"), read from the reference
|
||||
# engine's own Commune/C6.txt [Invit] line (both languages) — C6a
|
||||
# (Virgin-Martyr) inherits this verbatim (`@Commune/C6`, no own [Invit]),
|
||||
# matching this Common's own Matins hymn precedent
|
||||
# (matins-hymn-common-of-a-virgin.yml / matins-hymn-common-of-a-virgin-
|
||||
# martyr.yml already share one text the same way). Duplicated under both
|
||||
# ids rather than aliased, per this project's established convention.
|
||||
# Any winning virgin with no proper invitatory antiphon of her own
|
||||
# authored falls to this Common tier
|
||||
# (hours/matins.ts's resolveMatinsInvitatoryText).
|
||||
id: matins-invitatory-common-of-a-virgin
|
||||
text:
|
||||
la: "Regem Vírginum Dóminum, * Veníte, adorémus."
|
||||
en: "The Lord, the King of Virgins, * O come, let us worship."
|
||||
status:
|
||||
la: verified
|
||||
en: verified
|
||||
@@ -0,0 +1,11 @@
|
||||
# Same Common-of-a-Martyr invitatory antiphon as
|
||||
# matins-invitatory-common-of-a-martyr.yml — Commune/C3.txt's own
|
||||
# [Invit] is a literal `@Commune/C2` redirect (no distinct text of its
|
||||
# own for Several Martyrs).
|
||||
id: matins-invitatory-common-of-several-martyrs
|
||||
text:
|
||||
la: "Regem Mártyrum Dóminum, * Veníte, adorémus."
|
||||
en: "The Lord, the King of Martyrs, * O come, let us worship."
|
||||
status:
|
||||
la: verified
|
||||
en: verified
|
||||
@@ -585,8 +585,13 @@ describe('resolveOrdo("matins", ...) invitatory antiphon doubling by rank', () =
|
||||
return invitatoryPsalm?.antiphon?.text.la;
|
||||
}
|
||||
|
||||
it('a Duplex+ weekday winner opens with the FULL (not incipit-only) invitatory antiphon (St. Lawrence, 2026-08-17: ferial text, no proper/Common of his own; St. Bartholomew, duplex-2-classis, 2026-08-24: Common-of-an-Apostle text)', () => {
|
||||
expect(openingAntiphonLatin('2026-08-17')).toContain('Exsultémus');
|
||||
it('a Duplex+ weekday winner opens with the FULL (not incipit-only) invitatory antiphon (St. Lawrence, 2026-08-17: Common-of-a-Martyr text, no proper of his own; St. Bartholomew, duplex-2-classis, 2026-08-24: Common-of-an-Apostle text)', () => {
|
||||
// St. Lawrence has his own full proper Matins psalmody
|
||||
// (matins-psalmody-overrides/saints/st-lawrence.yml) but no proper
|
||||
// invitatory antiphon of his own -- resolveMatinsInvitatoryText falls
|
||||
// to his common-of-a-martyr Common tier (matins-invitatory-common-of-
|
||||
// a-martyr.yml, authored 2026-08-27), not the plain ferial default.
|
||||
expect(openingAntiphonLatin('2026-08-17')).toContain('Regem Mártyrum Dóminum, * Veníte');
|
||||
expect(openingAntiphonLatin('2026-08-24')).toContain('Regem Apostolórum Dóminum, * Veníte');
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user