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
|
Live-verified: St. Bartholomew (2026-08-24) and St. Andrew (2026-11-30) both now resolve to this
|
||||||
Common's text for hymn + invitatory.
|
Common's text for hymn + invitatory.
|
||||||
|
|
||||||
**Not authored, logged as explicit backlog**, same incremental-content pattern as everywhere
|
**Invitatory-antiphon Common tier filled in for Confessors/Martyrs/Virgins/Dedication
|
||||||
else in this project:
|
(2026-08-27)**: `matins-invitatory-common-of-a-confessor{,-bishop,-not-bishop,-doctor,-pope}.yml`
|
||||||
- Hymn + invitatory Common tiers for: Martyrs (C2), Virgins (C6), Holy Women
|
(Commune/C4's own `[Invit]`, "Regem Confessórum Dóminum" — C4a/C4b/C5 all inherit it verbatim,
|
||||||
(C7), Dedication (C8), General/All Saints (C9) — all confirmed to have their own distinct
|
so duplicated under all 5 confessor ids, same convention as the hymn), `matins-invitatory-
|
||||||
`[Invit]`/`[Hymnus Matutinum]` text in the reference source, not yet transcribed. Confessors
|
common-of-a-martyr{,-bishop}.yml` + `matins-invitatory-common-of-several-martyrs.yml`
|
||||||
(C4) hymn done 2026-08-25, see below — invitatory antiphon still open.
|
(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)
|
- Seasonal invitatory-antiphon tier content (Advent/Lent/Passiontide/Paschaltide/Christmastide)
|
||||||
— mechanism now exists (same `seasonalOfficeSuffix`-keyed lookup the hymn's own long-standing
|
— 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
|
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;
|
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)', () => {
|
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)', () => {
|
||||||
expect(openingAntiphonLatin('2026-08-17')).toContain('Exsultémus');
|
// 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');
|
expect(openingAntiphonLatin('2026-08-24')).toContain('Regem Apostolórum Dóminum, * Veníte');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user