Compare commits
3 Commits
5397e564b3
...
6d983dfc73
| Author | SHA1 | Date | |
|---|---|---|---|
| 6d983dfc73 | |||
| a003d01ed0 | |||
| a85f113097 |
@@ -94,13 +94,20 @@ across every hour and content type in this app.
|
||||
`src/data/scripture/` — long-term project, explicitly deferred; Matins scripture
|
||||
citations resolve to `missing` text until it lands.
|
||||
- Matins psalmody overrides for a Duplex+ weekday feast (see "Matins psalmody overrides"
|
||||
below): mechanism refactored to category-keyed (`categories/*.yml` + `saints/*.yml`), five
|
||||
categories authored (Common of a Martyr via St. Lawrence, Common of an Apostle via St.
|
||||
Andrew, Common of a Confessor via St. Francis of Paola, Common of a Confessor-Bishop via
|
||||
St. Basil the Great, Common of Several Martyrs — the largest single category by population,
|
||||
40 saints/groups — via Ss. Fabian and Sebastian). Every other Common category (Virgin,
|
||||
Doctor, Abbot, etc.) still falls back to the plain ferial weekday table, redistributed into
|
||||
3 nocturns, until its own category's real psalmody is authored.
|
||||
below): mechanism refactored to category-keyed (`categories/*.yml` + `saints/*.yml`), now
|
||||
nine categories authored plus three genuine alias redirects (2026-08-27 pass, see "Matins
|
||||
psalmody overrides — nine more categories" below): Martyr, Apostle (+ alias
|
||||
Common-of-Apostles-plural), Confessor (+ aliases Common-of-an-Abbot and
|
||||
Common-of-a-Confessor-not-Bishop), Confessor-Bishop, Several Martyrs, Virgin-Martyr, the
|
||||
BVM, and a Dedication. Still open, with specific blockers found this pass (privileged-feria/
|
||||
movable-feast collisions or calendar-track absences that ruled out the obvious
|
||||
representative saint — see that section for detail rather than re-deriving): Virgin (plain,
|
||||
not Virgin-Martyr), Widow, Confessor-Doctor, Confessor-Pope, Evangelist (partial data
|
||||
pulled — a different full-psalm-per-nocturn structure than every other category here, needs
|
||||
its own extraction pass), Holy-Woman (partial data pulled, needs a clean re-verify), an
|
||||
Angel (not on the Monastic 1617 calendar on its expected date at all), Several Women
|
||||
Martyrs, Several Confessors — all still fall back to the plain ferial weekday table,
|
||||
redistributed into 3 nocturns.
|
||||
- The four "Commemoratio Octavæ" Ant+V/R+collect blocks (Christmas Octave's own
|
||||
Nativity/Stephen/John/Holy-Innocents commemorations, e.g. on Dec 30) are now done —
|
||||
see "Octave content" below. St. Frances of Rome's/
|
||||
@@ -2898,6 +2905,87 @@ unauthored — 2029-01-17, confirmed clean). `npm test` (471 tests), `tsc --noEm
|
||||
Virgin-Martyr [17], Abbot [16], Holy Woman [3], Widow [6], Angel [5], Evangelist [3], and the
|
||||
smaller one-off Commons — none has a category file yet.
|
||||
|
||||
### Matins psalmody overrides — nine more categories, three genuine alias redirects (2026-08-27)
|
||||
|
||||
Continued the category-keyed `matins-psalmody-overrides` sweep past the five already-authored
|
||||
categories (Martyr, Apostle, Confessor, Confessor-Bishop, Several Martyrs). Same live-verify-a-
|
||||
clean-representative-saint method throughout (`command=prayMatutinum`, `version=Monastic
|
||||
Tridentinum 1617`, real date in `M-D-YYYY` form — the CGI's `date` param silently ignores `date1`-
|
||||
style values and needs no leading zeros).
|
||||
|
||||
**Two mechanism findings worth recording**, both discovered the hard way this pass:
|
||||
|
||||
- The CGI's `votive=CN` parameter (documented in `horas.dialog`'s own `[votives]`/`[communes]`
|
||||
index, e.g. `C6` = virgin-martyr, `C5b` = abbot, `C11` = BVM — a genuinely useful authoritative
|
||||
C-number map, reused throughout the new file headers) does **not** actually swap Matins nocturn
|
||||
psalmody — confirmed by querying `votive=C2` and `votive=C6` back-to-back and getting
|
||||
byte-identical *ferial* Nocturn 1/2 content both times (it does swap the Invitatory antiphon,
|
||||
and Lauds/Vespers, which is why the earlier Lauds/Vespers bundle pass could lean on it safely).
|
||||
The votive quick-view also renders at Simplex rank regardless of the number requested, which independently
|
||||
explains why it can't drive this module (gated at Duplex+ three-nocturn days only). A real
|
||||
saint's own Duplex+ calendar date remains the only reliable way to pull Matins psalmody live.
|
||||
- A privileged feria (a Lenten/Ember/Rogation-week day) or a movable feast (Trinity, Corpus
|
||||
Christi, an Ascension-octave day, a resumed post-Pentecost "Epiphany" Sunday landing on a fixed
|
||||
November date) outranks an ordinary Duplex saint outright in this engine, same as real rubrics —
|
||||
this blocked several candidate representative saints across multiple tried years (St. Albert the
|
||||
Great, St. Gertrude, St. Robert Bellarmine, St. John Damascene, St. Pius V, St. Pius X, Ss.
|
||||
Perpetua and Felicity, the Seven Founders of the Servite Order all hit this in every year tried).
|
||||
Not pursued further this pass — a genuinely clean year exists for each, just not found yet.
|
||||
|
||||
**Nine categories authored** (new `categories/*.yml` files, each with its own live-verified
|
||||
psalms/antiphons/versicles/canticle-refs, full provenance in its own header):
|
||||
|
||||
- `common-of-a-virgin-martyr` — St. Justina (2026-10-07, Duplex, `propers: null`). Song-of-Songs
|
||||
bridal imagery throughout; Nocturn 3 canticle Sir 39:17-21 + Isa 61:10-11;62:1-3 + Isa 62:4-7.
|
||||
- `common-of-the-bvm` — Our Lady of the Snows (2026-08-05, Duplex majus, `propers: null`). Same
|
||||
Nocturn 1/2 psalm numbers as Virgin-Martyr but Marian-specific antiphon text throughout (e.g.
|
||||
"Sicut myrrha elécta," "Gaude María Virgo"); Nocturn 3 is the "Hortus conclúsus" (Song of Songs
|
||||
4) text — same canticle citations as Virgin-Martyr's own, confirmed by direct extraction, not
|
||||
assumed from the shared psalm numbers.
|
||||
- `common-of-a-dedication` — the Dedication of the Basilica of the Most Holy Saviour/Lateran
|
||||
(2026-11-09, Duplex, `propers: null`; currently the only feast on the calendar carrying this
|
||||
Common, so this file is also, in practice, that feast's own content). Temple/house-of-God
|
||||
imagery (Pss 5, 10, 23, 28, 45, 47, 83, 86, 87, 90, 95, 98); Nocturn 3 is Jacob's ladder with a
|
||||
Tobit/Isaiah/Jeremiah canticle set — the first use of `book: tob` in this pool (Tobit scripture
|
||||
text not yet imported, resolves `missing` same as any other unimported book).
|
||||
|
||||
**Three genuine full-redirect aliases** added to already-authored category files, live-verified
|
||||
byte-identical (psalms, antiphons, AND versicles, not just the psalm-number-only overlap already
|
||||
known between Confessor and Confessor-Bishop):
|
||||
|
||||
- `common-of-a-confessor.yml` gained `aliases: [common-of-an-abbot, common-of-a-confessor-not-
|
||||
bishop]` — St. Maurus (2026-01-15, Duplex II. classis) and St. Gall (2026-10-16, Duplex) for
|
||||
Abbot; St. Francis of Assisi (2026-10-04, Duplex) and St. Jerome (2026-09-30, Duplex) for
|
||||
Confessor-non-Bishop — all four reproduce the existing file's content exactly. (Reference votive
|
||||
numbers C5/C5b both point to the same scheme per `horas.dialog`, consistent with this finding.)
|
||||
- `common-of-an-apostle.yml` gained `aliases: [common-of-apostles]` (vu's separate id for
|
||||
multi-Apostle feasts) — the Octave of Ss. Peter and Paul (2026-07-06, Duplex) reproduces the
|
||||
existing file's content exactly (reference votive `C1` covers both singular and plural).
|
||||
|
||||
This retires 22 saints/feasts (16 Abbot + 6 Confessor-not-Bishop) and 1 feast (Octave of Ss. Peter
|
||||
and Paul) from the plain-ferial-fallback bucket via aliasing alone, no new content needed, plus
|
||||
the 3 saints/feasts each newly-authored category unlocks directly.
|
||||
|
||||
`tests/hours/matins.test.ts`'s ferial-fallback proof used St. Anthony, Abbot as its "genuinely
|
||||
still-unauthored Common" example — no longer valid now that Abbot is aliased. Swapped to St.
|
||||
Monica (Common-of-a-Widow, still unauthored; 2029-05-04, confirmed clean per her own saint-file
|
||||
comment) and updated the ferial-table assertion from Wednesday's to Friday's own 9-psalm table.
|
||||
`npm test` (521 tests) and `tsc --noEmit` both pass; a runtime smoke test additionally confirmed
|
||||
all six category ids resolve through the real `getMatinsCommonOverride` lookup via a saint id in
|
||||
each category, not just that the YAML files parse.
|
||||
|
||||
**Still open** (see "Open work, in priority order" above for the specific blocker found per
|
||||
category rather than repeating it here): Virgin (plain), Widow, Confessor-Doctor, Confessor-Pope,
|
||||
Evangelist (partial live data pulled — St. Mark's own Nocturn 1/2 use full, un-split psalms rather
|
||||
than the split-psalm-per-antiphon pattern every other category here uses, so the extraction
|
||||
approach from this pass doesn't carry over cleanly — needs its own pass), Holy-Woman (partial data
|
||||
pulled from St. Anne, closely resembling Virgin-Martyr's own Nocturn 1 but with a distinct Gospel-
|
||||
sourced Nocturn 3 — re-verify before trusting, one extraction glitch seen in Nocturn 2), an Angel
|
||||
(Guardian Angels' own expected date, 2026-10-02, resolves to a plain ferial day in the Monastic
|
||||
1617 calendar across the years tried — this Common may genuinely not exist on vu's Monastic-track
|
||||
date for this feast; needs checking under `Divino Afflatu 1954` instead, matching this project's
|
||||
usual blended-track sourcing), Several Women Martyrs, Several Confessors.
|
||||
|
||||
### Lauds/Vespers chapter-responsory-hymn-versicle bundle: rank-agnostic Common fallback (2026-08-25)
|
||||
|
||||
**Bug fixed**: St. Louis (2026-08-25, `common-of-a-confessor-not-bishop`, Simplex, wins
|
||||
|
||||
@@ -16,7 +16,19 @@
|
||||
# redirect) because the versicles are a real, if small, difference —
|
||||
# `common-of-a-confessor-bishop.yml` is its own full file, duplicating
|
||||
# these same psalm/antiphon groups with its own versicles.
|
||||
#
|
||||
# `aliases` also registers `common-of-an-abbot` and
|
||||
# `common-of-a-confessor-not-bishop` under this same scheme (2026-08),
|
||||
# live-verified as a genuine full redirect (psalms, antiphons, AND
|
||||
# versicles all byte-identical, unlike the Bishop case above): St. Maurus
|
||||
# (2026-01-15, Duplex II. classis) and St. Gall (2026-10-16, Duplex) for
|
||||
# Abbot; St. Francis of Assisi (2026-10-04, Duplex) and St. Jerome
|
||||
# (2026-09-30, Duplex) for Confessor-non-Bishop — all four reproduce this
|
||||
# file's content exactly, confirming vu's own separately-named ids
|
||||
# collapse to one Matins scheme in the reference engine (Reference votive
|
||||
# numbers C5/C5b both point here per `horas.dialog`'s `[votives]` index).
|
||||
id: common-of-a-confessor
|
||||
aliases: [common-of-an-abbot, common-of-a-confessor-not-bishop]
|
||||
nocturn1:
|
||||
groups:
|
||||
- psalms: [1]
|
||||
|
||||
@@ -0,0 +1,104 @@
|
||||
# Generic Common-of-a-Dedication Matins psalmody, live-verified against
|
||||
# Divinum Officium (Monastic Tridentinum 1617, command=prayMatutinum,
|
||||
# 2026-11-09 -- the Dedication of the Basilica of the Most Holy Saviour
|
||||
# (the Lateran), `propers: null` in her own vu file, so this is genuinely
|
||||
# this category's generic scheme, not proper content). Rank Duplex,
|
||||
# clears the Duplex+ three-nocturn gate. Currently only one saint/feast
|
||||
# on the vu calendar uses this Common, so this file is both the category
|
||||
# default and, in practice, this feast's own content.
|
||||
#
|
||||
# Reference-engine votive number: C8 ("Dedicationis Ecclesiae"), per
|
||||
# `horas.dialog`'s own `[votives]` index (see `common-of-a-virgin-
|
||||
# martyr.yml`'s header for why `votive=` isn't itself usable live for
|
||||
# Matins psalmody).
|
||||
#
|
||||
# All six Nocturn 1/2 antiphons are temple/house-of-God imagery (drawn
|
||||
# from Pss 5, 10, 23, 28, 45, 47, 83, 86, 87, 90, 95, 98); Nocturn 3 is
|
||||
# Jacob's ladder ("Vidit Jacob scalam") with a canticle set from Tobit,
|
||||
# Isaiah, and Jeremiah -- distinct scripture from every other Common in
|
||||
# this pool.
|
||||
id: common-of-a-dedication
|
||||
nocturn1:
|
||||
groups:
|
||||
- psalms: [5]
|
||||
antiphon:
|
||||
la: "Introíbo * in domum tuam, Dómine, † et adorábo ad templum sanctum tuum."
|
||||
en: "I will come into thy house, O Lord; * and I will worship towards thy holy temple."
|
||||
- psalms: [10]
|
||||
antiphon:
|
||||
la: "Dóminus * in templo sancto suo, † Dóminus in cælo sedes ejus."
|
||||
en: "The Lord is in his holy temple, * the Lord's throne is in heaven."
|
||||
- psalms: [23]
|
||||
antiphon:
|
||||
la: "Tóllite portas, * príncipes vestras, et elevámini, portæ æternáles."
|
||||
en: "Lift up your gates, O ye princes, * and be ye lift up, ye everlasting doors."
|
||||
- psalms: [28]
|
||||
antiphon:
|
||||
la: "Adoráte * Dóminum in aula sancta ejus."
|
||||
en: "Adore ye the Lord * in his holy court."
|
||||
- psalms: [45]
|
||||
antiphon:
|
||||
la: "Erit mihi Dóminus * in Deum, et lapis iste vocábitur domus Dei."
|
||||
en: "The Lord shall be my God, * and this stone shall be called God's house."
|
||||
- psalms: [47]
|
||||
antiphon:
|
||||
la: "Ædificávit * Móyses altáre Dómino Deo."
|
||||
en: "Moses built an altar * to the Lord God."
|
||||
versicle:
|
||||
v:
|
||||
la: "Domum tuam, Dómine, decet sanctitúdo."
|
||||
en: "Holiness becometh thine house, O Lord."
|
||||
r:
|
||||
la: "In longitúdinem diérum."
|
||||
en: "For ever."
|
||||
nocturn2:
|
||||
groups:
|
||||
- psalms: [83]
|
||||
antiphon:
|
||||
la: "Beáti, * qui hábitant in domo tua, Dómine; † in sǽcula sæculórum laudábunt te."
|
||||
en: "Blessed are they that dwell in thy house, O Lord: * they shall praise thee for ever and ever."
|
||||
- psalms: [86]
|
||||
antiphon:
|
||||
la: "Non est hic áliud, * nisi domus Dei, et porta cæli."
|
||||
en: "This is none other * but the house of God, and this is the gate of heaven."
|
||||
- psalms: [87]
|
||||
antiphon:
|
||||
la: "Templum Dómini * sanctum est, Dei structúra est, Dei ædificátio est."
|
||||
en: "The Temple of the Lord is holy: * the same is God's workmanship and God's building."
|
||||
- psalms: [90]
|
||||
antiphon:
|
||||
la: "Qui hábitat * in adjutório Altíssimi, in protectióne Dei cæli commorábitur."
|
||||
en: "He that dwelleth in the help of the Most High * shall abide under the shadow of the God of heaven."
|
||||
- psalms: [95]
|
||||
antiphon:
|
||||
la: "Eréxit Jacob * lápidem in títulum, fundens óleum désuper."
|
||||
en: "Jacob set up the stone for a pillar, * and poured oil upon the top of it."
|
||||
- psalms: [98]
|
||||
antiphon:
|
||||
la: "Benedícta * glória Dómini, de loco sancto suo, allelúja."
|
||||
en: "Blessed be the glory of the Lord * from His holy place. Alleluia."
|
||||
versicle:
|
||||
v:
|
||||
la: "Domus mea."
|
||||
en: "My house."
|
||||
r:
|
||||
la: "Domus oratiónis vocábitur."
|
||||
en: "Shall be called the house of prayer."
|
||||
nocturn3:
|
||||
antiphon:
|
||||
la: "Vidit Jacob scalam, * súmmitas ejus cælos tangébat, et descendéntes Angelos, et dixit: Vere locus iste sanctus est."
|
||||
en: "Jacob beheld a ladder, * the top whereof touched heaven, and angels descending on it, and he said: Surely this place is holy."
|
||||
canticles:
|
||||
- refs:
|
||||
- { book: tob, chapter: 13, verses: "10-17" }
|
||||
- refs:
|
||||
- { book: isa, chapter: 2, verses: "2-3" }
|
||||
- refs:
|
||||
- { book: jer, chapter: 7, verses: "2-7" }
|
||||
versicle:
|
||||
v:
|
||||
la: "Hæc est domus Dómini fírmiter ædificáta."
|
||||
en: "This is the house of God, stoutly builded."
|
||||
r:
|
||||
la: "Bene fundáta est supra firmam petram."
|
||||
en: "Well founded upon a sure rock."
|
||||
@@ -0,0 +1,114 @@
|
||||
# Generic Common-of-a-Virgin-Martyr Matins psalmody, live-verified against
|
||||
# Divinum Officium (Monastic Tridentinum 1617, command=prayMatutinum,
|
||||
# 2026-10-07 -- St. Justina, Virgin and Martyr, whose own Rule is a plain
|
||||
# calendar reassignment with no proper Matins content of her own --
|
||||
# `propers: null` confirmed correct by her own file's header comment -- so
|
||||
# her output *is* this category's generic scheme, not a saint-specific
|
||||
# deviation). Rank Duplex, clears the Duplex+ three-nocturn gate.
|
||||
#
|
||||
# Reference-engine votive number: C6 ("Unius Virginis Martyris"), per
|
||||
# `../divinum-officium-reference/web/www/horas/horas.dialog`'s own
|
||||
# `[votives]`/`[communes]` index -- recorded here as the authoritative
|
||||
# mapping for the next saint in this category, but note the CGI's
|
||||
# `votive=` parameter does NOT actually swap Matins nocturn psalmody (it
|
||||
# does affect the Invitatory antiphon, and Lauds/Vespers) -- confirmed by
|
||||
# querying `votive=C6`/`votive=C7` back-to-back and getting byte-identical
|
||||
# ferial Nocturn 1/2 antiphons both times. A real Duplex+ saint's own
|
||||
# calendar date is the only reliable way to pull this content live; the
|
||||
# votive number is still useful as a cross-reference into the reference
|
||||
# engine's own on-disk `CommuneM/C6.txt` et al.
|
||||
#
|
||||
# All 6 Nocturn 1/2 antiphons draw on the Song of Songs (bridal imagery);
|
||||
# Nocturn 3's canticle is Sirach 39 + Isaiah 61-62 (garment-of-salvation/
|
||||
# bridal-adornment imagery), distinct from Common-of-a-Confessor's Sirach/
|
||||
# Jeremiah canticle set. Genuinely different from Common-of-a-Virgin
|
||||
# (`common-of-a-virgin.yml`, votive C6a "Unius Virginis tantum" -- a
|
||||
# different votive number, not the same scheme) -- not verified
|
||||
# byte-identical, kept as separate files by design (the reference index
|
||||
# itself lists them as separate Commons).
|
||||
id: common-of-a-virgin-martyr
|
||||
nocturn1:
|
||||
groups:
|
||||
- psalms: [8]
|
||||
antiphon:
|
||||
la: "O quam pulchra * est casta generátio cum claritáte!"
|
||||
en: "O how lovely and glorious * is the generation of the chaste."
|
||||
- psalms: [18]
|
||||
antiphon:
|
||||
la: "Ante torum * hujus Vírginis frequentáte nobis dúlcia cántica drámatis."
|
||||
en: "Sing for us again and again before this maiden's bed * the tender idylls of the play."
|
||||
- psalms: [23]
|
||||
antiphon:
|
||||
la: "Revértere, * revértere, Sunamítis; revértere, ut intueámur te."
|
||||
en: "Return, return, O Shulammith * Return, return, that we may look upon thee."
|
||||
- psalms: [44]
|
||||
antiphon:
|
||||
la: "Spécie tua * et pulchritúdine tua inténde, próspere procéde, et regna."
|
||||
en: "In thy comeliness and thy beauty, * go forward, fare prosperously, and reign."
|
||||
- psalms: [45]
|
||||
antiphon:
|
||||
la: "Adjuvábit eam * Deus vultu suo: Deus in médio ejus, non commovébitur."
|
||||
en: "God shall help * her with His countenance: God is in the midst of her; she shall not be moved."
|
||||
- psalms: [47]
|
||||
antiphon:
|
||||
la: "Aquæ multæ * non potuérunt exstínguere caritátem."
|
||||
en: "Many waters cannot * quench love."
|
||||
versicle:
|
||||
v:
|
||||
la: "Spécie tua et pulchritúdine tua."
|
||||
en: "In thy comeliness and thy beauty."
|
||||
r:
|
||||
la: "Inténde, próspere procéde, et regna."
|
||||
en: "Go forward, fare prosperously, and reign."
|
||||
nocturn2:
|
||||
groups:
|
||||
- psalms: [84]
|
||||
antiphon:
|
||||
la: "Nigra sum, * sed formósa, fíliæ Jerúsalem; ídeo diléxit me Rex, et introdúxit me in cubículum suum."
|
||||
en: "I am black but comely, * O ye daughters of Jerusalem; therefore hath the King loved me, and brought me into his chamber."
|
||||
- psalms: [86]
|
||||
antiphon:
|
||||
la: "Trahe me post te, * in odórem currémus unguentórum tuórum: óleum effúsum nomen tuum."
|
||||
en: "Draw me after thee * we will run after the savour of thy good ointments; thy name is as oil poured forth."
|
||||
- psalms: [95]
|
||||
antiphon:
|
||||
la: "Veni, Sponsa Christi, * áccipe corónam, quam tibi Dóminus præparávit in ætérnum."
|
||||
en: "Come, Bride of Christ, * and take the everlasting crown which the Lord hath prepared for thee."
|
||||
- psalms: [96]
|
||||
antiphon:
|
||||
la: "Unguéntum effúsum * nomen tuum; ideo adolescéntulæ dilexérunt te nimis."
|
||||
en: "Thy name is as oil poured out: * therefore young maidens have loved thee."
|
||||
- psalms: [97]
|
||||
antiphon:
|
||||
la: "Pulchra es * et decóra fília Jerúsalem, terríbilis ut castrórum ácies ordináta."
|
||||
en: "O my love, * sweet and comely as Jerusalem: terrible as an army set in array."
|
||||
- psalms: [98]
|
||||
antiphon:
|
||||
la: "Accínxit * fortitúdine lumbos suos, et roborávit bráchium suum; ideóque lucérna ejus non exstinguétur in sempitérnum."
|
||||
en: "She hath girded * her loins with strength, and hath strengthened her arm."
|
||||
versicle:
|
||||
v:
|
||||
la: "Adjuvábit eam Deus vultu suo."
|
||||
en: "God shall help her with His countenance."
|
||||
r:
|
||||
la: "Deus in médio ejus, non commovébitur."
|
||||
en: "God is in the midst of her, she shall not be moved."
|
||||
nocturn3:
|
||||
antiphon:
|
||||
la: "Média nocte * clamor factus est: Ecce sponsus venit: exíte óbviam ei."
|
||||
en: "And at midnight * there was a cry made: Behold the bridegroom cometh, go ye forth to meet him."
|
||||
canticles:
|
||||
- refs:
|
||||
- { book: sir, chapter: 39, verses: "17-21" }
|
||||
- refs:
|
||||
- { book: isa, chapter: 61, verses: "10-11" }
|
||||
- { book: isa, chapter: 62, verses: "1-3" }
|
||||
- refs:
|
||||
- { book: isa, chapter: 62, verses: "4-7" }
|
||||
versicle:
|
||||
v:
|
||||
la: "Elégit eam Deus, et præelégit eam."
|
||||
en: "God hath chosen her, and fore-chosen her."
|
||||
r:
|
||||
la: "In tabernáculo suo habitáre facit eam."
|
||||
en: "He hath made her to dwell in His tabernacle."
|
||||
@@ -10,7 +10,15 @@
|
||||
# pattern already established for Common-of-a-Martyr (see that category
|
||||
# file's own doc comment).
|
||||
#
|
||||
# `aliases` also registers `common-of-apostles` (plural, vu's separate id
|
||||
# for feasts of two-or-more Apostles together) under this same scheme
|
||||
# (2026-08) — live-verified against the Octave of Ss. Peter and Paul
|
||||
# (2026-07-06, Duplex): psalms, antiphons, and versicles all
|
||||
# byte-identical to this file, a genuine full redirect (reference votive
|
||||
# number C1 covers both per `horas.dialog`'s `[votives]` index, which
|
||||
# doesn't distinguish singular from plural Apostle commons).
|
||||
id: common-of-an-apostle
|
||||
aliases: [common-of-apostles]
|
||||
nocturn1:
|
||||
groups:
|
||||
- psalms: [18]
|
||||
|
||||
@@ -0,0 +1,106 @@
|
||||
# Generic Common-of-the-BVM Matins psalmody, live-verified against
|
||||
# Divinum Officium (Monastic Tridentinum 1617, command=prayMatutinum,
|
||||
# 2026-08-05 -- Our Lady of the Snows, whose own file is `propers: null`
|
||||
# -- confirmed against her own saint-file comment as a real Common-only
|
||||
# case, no proper of her own -- so her output *is* this category's
|
||||
# generic scheme). Rank Duplex majus, clears the Duplex+ three-nocturn
|
||||
# gate.
|
||||
#
|
||||
# Reference-engine votive number: C11 ("Beatae Mariae Virginis"), per
|
||||
# `horas.dialog`'s own `[votives]` index -- see
|
||||
# `common-of-a-virgin-martyr.yml`'s own header for why the CGI's
|
||||
# `votive=` parameter isn't itself usable to pull this live (it doesn't
|
||||
# swap Matins nocturn psalmody, only the Invitatory/Lauds/Vespers) --
|
||||
# a real Duplex+ saint's own calendar date remains the only reliable path.
|
||||
#
|
||||
# All 6 Nocturn 1/2 antiphons are Marian (Song of Songs bridal imagery
|
||||
# plus proper Marian phrases like "Sicut myrrha elécta" and "Gaude, María
|
||||
# Virgo"); Nocturn 3's antiphon+canticle is the "Hortus conclúsus" (Song
|
||||
# of Songs 4) text, genuinely distinct content from both
|
||||
# Common-of-a-Virgin-Martyr and Common-of-a-Virgin's own Nocturn 3.
|
||||
id: common-of-the-bvm
|
||||
nocturn1:
|
||||
groups:
|
||||
- psalms: [8]
|
||||
antiphon:
|
||||
la: "Benedícta tu * in muliéribus, et benedíctus fructus ventris tui."
|
||||
en: "Blessed art thou among women, * and blessed is the fruit of thy womb."
|
||||
- psalms: [18]
|
||||
antiphon:
|
||||
la: "Sicut myrrha * elécta, odórem dedísti suavitátis, sancta Dei Génitrix."
|
||||
en: "O Holy Mother of God * thou hast yielded a pleasant odor like the best myrrh."
|
||||
- psalms: [23]
|
||||
antiphon:
|
||||
la: "Ante torum * hujus Vírginis frequentáte nobis dúlcia cántica drámatis."
|
||||
en: "Sing for us again and again before this maiden's bed * the tender idylls of the play."
|
||||
- psalms: [44]
|
||||
antiphon:
|
||||
la: "Spécie tua * et pulchritúdine tua inténde, próspere procéde, et regna."
|
||||
en: "In thy comeliness and thy beauty, * go forward, fare prosperously, and reign."
|
||||
- psalms: [45]
|
||||
antiphon:
|
||||
la: "Adjuvábit eam * Deus vultu suo: Deus in médio ejus, non commovébitur."
|
||||
en: "God shall help * her with His countenance: God is in the midst of her; she shall not be moved."
|
||||
- psalms: [47]
|
||||
antiphon:
|
||||
la: "Favus distíllans * lábia tua, Sponsa, mel et lac sub lingua tua: † et odor vestimentórum tuórum sicut odor thuris."
|
||||
en: "Your lips, * my spouse, are as a dropping honeycomb, honey and milk are under your tongue; and the smell of your garments, as the smell of frankincense."
|
||||
versicle:
|
||||
v:
|
||||
la: "Spécie tua et pulchritúdine tua."
|
||||
en: "In thy comeliness and thy beauty."
|
||||
r:
|
||||
la: "Inténde, próspere procéde, et regna."
|
||||
en: "Go forward, fare prosperously, and reign."
|
||||
nocturn2:
|
||||
groups:
|
||||
- psalms: [84]
|
||||
antiphon:
|
||||
la: "Fons hortórum, * púteus aquárum vivéntium, † quæ fluunt ímpetu de Líbano."
|
||||
en: "The fountain of gardens: * the well of living waters, which run with a strong stream from Libanus."
|
||||
- psalms: [86]
|
||||
antiphon:
|
||||
la: "Sicut lætántium * ómnium nostrum habitátio est in te, sancta Dei Génitrix."
|
||||
en: "O Holy Mother of God * all we who dwell in thee are in gladness."
|
||||
- psalms: [95]
|
||||
antiphon:
|
||||
la: "Gaude, María Virgo: * cunctas hǽreses sola interemísti in univérso mundo."
|
||||
en: "Joy to thee, * O Virgin Mary, thou hast trampled down all the heresies in the whole world."
|
||||
- psalms: [96]
|
||||
antiphon:
|
||||
la: "Dignáre me * laudáre te, Virgo sacráta: da mihi virtútem contra hostes tuos."
|
||||
en: "Holy Virgin, my praise by thee accepted be; * give me strength against thine enemies."
|
||||
- psalms: [97]
|
||||
antiphon:
|
||||
la: "Post partum, * Virgo, invioláta permansísti: Dei Génitrix, intercéde pro nobis."
|
||||
en: "After thy delivery thou still remainest a virgin; * undefiled Mother of God, pray for us."
|
||||
- psalms: [98]
|
||||
antiphon:
|
||||
la: "Descéndi * in hortum nucum, ut vidérem poma convállium, † et inspícerem, si floruísset vinea, et germinássent mala púnica, allelúja."
|
||||
en: "I went down * into the garden of nuts, to see the fruits of the valleys, and to look if the vineyard had flourished, and the pomegranates budded."
|
||||
versicle:
|
||||
v:
|
||||
la: "Adjuvábit eam Deus vultu suo."
|
||||
en: "God shall help her with His countenance."
|
||||
r:
|
||||
la: "Deus in médio ejus, non commovébitur."
|
||||
en: "God is in the midst of her, she shall not be moved."
|
||||
nocturn3:
|
||||
antiphon:
|
||||
la: "Hortus conclúsus * es Dei Génitrix, hortus conclúsus, fons signátus: † surge própera, amíca mea, et veni."
|
||||
en: "Thou art a garden enclosed, * O Mother of God, a garden enclosed, a fountain sealed: arise, make haste, my love, and come."
|
||||
canticles:
|
||||
- refs:
|
||||
- { book: sir, chapter: 39, verses: "17-21" }
|
||||
- refs:
|
||||
- { book: isa, chapter: 61, verses: "10-11" }
|
||||
- { book: isa, chapter: 62, verses: "1-3" }
|
||||
- refs:
|
||||
- { book: isa, chapter: 62, verses: "4-7" }
|
||||
versicle:
|
||||
v:
|
||||
la: "Elégit eam Deus, et præelégit eam."
|
||||
en: "God hath chosen her, and fore-chosen her."
|
||||
r:
|
||||
la: "In tabernáculo suo habitáre facit eam."
|
||||
en: "He hath made her to dwell in His tabernacle."
|
||||
@@ -330,16 +330,19 @@ describe('resolveOrdo("matins", ...) Duplex+ weekday-feast (3-nocturn, non-Sunda
|
||||
});
|
||||
|
||||
it('falls all the way back to the plain ferial weekday table, redistributed into 3 nocturns, when neither a proper nor a Common entry is authored', () => {
|
||||
// St. Anthony, Abbot (Duplex, Common of an Abbot -- no
|
||||
// matins-psalmody-overrides category authored yet for either tier)
|
||||
// -- 2029-01-17, a Wednesday, confirmed clean (no Sunday collision).
|
||||
const fallback = resolveOrdo('matins', '2029-01-17');
|
||||
// St. Monica, Widow (Duplex, Common of a Widow -- no
|
||||
// matins-psalmody-overrides category authored yet for either tier;
|
||||
// Common-of-an-Abbot no longer qualifies for this proof as of
|
||||
// 2026-08-27, now aliased to Common-of-a-Confessor) -- 2029-05-04, a
|
||||
// Friday, confirmed clean (no Sunday collision, per her own
|
||||
// saint-file comment).
|
||||
const fallback = resolveOrdo('matins', '2029-05-04');
|
||||
const psalms = fallback.parts.filter((p) => p.kind === 'psalm').map((p) => (p as { psalmNumber: number }).psalmNumber);
|
||||
// Ps 3 + 94, then Wednesday's own 9-psalm ferial table
|
||||
// (psalter-distribution.yml), not any Common-of-an-Abbot scheme.
|
||||
// Ps 3 + 94, then Friday's own 9-psalm ferial table
|
||||
// (psalter-distribution.yml), not any Common-of-a-Widow scheme.
|
||||
expect(psalms[0]).toBe(3);
|
||||
expect(psalms[1]).toBe(94);
|
||||
expect(psalms.slice(2)).toEqual(getPsalmsFor('matins', 'wednesday').map((r) => r.number));
|
||||
expect(psalms.slice(2)).toEqual(getPsalmsFor('matins', 'friday').map((r) => r.number));
|
||||
expect(fallback.parts.some((p) => p.kind === 'te-deum')).toBe(true);
|
||||
expect(fallback.parts.some((p) => p.kind === 'canticle')).toBe(false);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user