Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8307526f69 | |||
| 0b6a0ad1cc | |||
| b8cb636446 | |||
| 4b6d55d56c |
@@ -5314,3 +5314,111 @@ alone (scripture verse text, martyrology narrative, homily quotes under `src/dat
|
|||||||
`src/data/martyrology/`, `src/data/propers/`) — those are quoted Douay-Rheims translation prose,
|
`src/data/martyrology/`, `src/data/propers/`) — those are quoted Douay-Rheims translation prose,
|
||||||
where the traditional spelling is correct as part of the source text, not this app's own
|
where the traditional spelling is correct as part of the source text, not this app's own
|
||||||
generated label.
|
generated label.
|
||||||
|
|
||||||
|
### Ember September Friday's homily recombined into one reading; the Matins ferial hymn now varies by weekday (2026-09-04)
|
||||||
|
|
||||||
|
Two fixes from one report. The user looked at `093-5.txt` (Ember Friday's own source file) and
|
||||||
|
confirmed what the 2026-09-03 "second follow-on" entry above had only flagged: Gregory's Homily 33
|
||||||
|
(Lectio1-3) is one continuous, unbroken text on the same pericope (Luke 7:36-50), split only to
|
||||||
|
fill the fixed 3-lesson Nocturn slot count — exactly the "source doesn't genuinely split" case
|
||||||
|
`post-pentecost-15.yml`'s own doc comment already establishes as this store's default. Recombined
|
||||||
|
`ember-september-friday.yml`'s 3 readings into 1, keeping Lectio1's own responsory (the "first one,
|
||||||
|
when several collapse" convention) and dropping Lectio2/3's own distinct responsories, same as
|
||||||
|
every other collapsed-reading case in this store. The same "genuinely distinct proper responsory"
|
||||||
|
rationale for staying split also appears, unfixed, in `ember-september-wednesday.yml`,
|
||||||
|
`ember-september-saturday.yml`, `ember-advent-wednesday.yml`, `ember-advent-friday.yml`, and
|
||||||
|
`ember-advent-saturday.yml` — out of scope here (the user's report was specifically about
|
||||||
|
September Friday), flagged for a possible later consistency pass. Live-verified on
|
||||||
|
`/2026-09-18/matins` (Ember Friday commemorated under St. Joseph of Cupertino): one
|
||||||
|
"POPE ST. GREGORY..." heading, one flowing text, one responsory, no more triple-repeat. Updated
|
||||||
|
`tests/calendar/ember-days.test.ts`'s lesson-count assertion (now per-date, 1 for Sept 18, 3 for
|
||||||
|
the other 5 still-split Ember days).
|
||||||
|
|
||||||
|
Separately, the user reported that today's (2026-09-04, a Friday) Matins hymn started "O Three in
|
||||||
|
One, and One in Three" in the live Monastic 1617 office, not the hymn vu was showing. Investigated
|
||||||
|
and found a real, broader mechanism gap: `hours/matins.ts`'s `resolveMatinsHymn` fell through to a
|
||||||
|
single `matins-hymn-ferial` id for *every* weekday, but the source (Psalterium/Special/Matutinum
|
||||||
|
Special.txt's "Day0 Hymnus" through "Day6 Hymnus", Day0=Sunday..Day6=Saturday) genuinely varies the
|
||||||
|
plain ferial Matins hymn by weekday — the classic "week of hymns" (Somno reféctis ártubus /
|
||||||
|
Consors patérni lúminis / Rerum Creátor óptime / Nox atra rerum / Tu Trinitátis Únitas for
|
||||||
|
Mon-Fri). `matins-hymn-ferial.yml`'s own text turned out to already be Monday's hymn, mislabeled
|
||||||
|
in its header comment as a generic fixed "ferial" text and misattributed to "a plain ferial
|
||||||
|
Tuesday" (the live-verification date given, 2026-12-15, is a Tuesday, but the text itself is
|
||||||
|
Monday's — Monastic 1617's own `Day1 HymnusM` swap, "omni témpore" -> "in perpetuum", is present in
|
||||||
|
the file). Authored `matins-hymn-ferial-tuesday/-wednesday/-thursday/-friday.yml` (Monastic 1617
|
||||||
|
text, live-verified against the CGI instance directly for Friday, including its own real M-track
|
||||||
|
word-swaps: `flagitémus ómnium/vúlnerum` order and `astet`->`adsit`) and wired
|
||||||
|
`resolveMatinsHymn`'s final fallback to pick by `day.weekday`. Sunday and Saturday deliberately
|
||||||
|
left on the existing `matins-hymn-ferial` (Monday's text) as a documented placeholder, not fixed
|
||||||
|
here: Sunday's own real hymn selection is a genuinely more complex, not-yet-understood two-hymn
|
||||||
|
mechanism in the source (`Day0 Hymnus` vs `Day0 Hymnus1`, tags `H-MatDom1`/`H-MatDom4`, purpose
|
||||||
|
unconfirmed), and Saturday's own plain `Day6 Hymnus` is live-verified to be superseded on nearly
|
||||||
|
every ordinary Saturday by the Officium Sabbatorum B.M.V.'s own proper hymn ("Quem terra, pontus,
|
||||||
|
æthera") — a whole separate Saturday-votive-Office mechanism this app doesn't model at all yet.
|
||||||
|
Both are real, open gaps, not silently resolved. Updated 2 pre-existing `FERIAL_DATE` (2026-12-01,
|
||||||
|
a Tuesday) hymn assertions in `tests/hours/matins.test.ts` that had been asserting the old,
|
||||||
|
wrong-for-Tuesday "Somno" text. Live-verified `/2026-09-04/matins` in the browser. `npm test`
|
||||||
|
(2025 passed) and `tsc --noEmit` both pass.
|
||||||
|
|
||||||
|
### Matins/Lauds hymns completed for Marian Saturday; corrected 3 pre-existing content bugs found in the process (2026-09-04)
|
||||||
|
|
||||||
|
Following straight on from the "Saturday's own Officium Sabbatorum" gap flagged just above: asked
|
||||||
|
the user what the plain *secular* Tridentine 1570 track (fewer saints, easier to isolate a clean
|
||||||
|
date) does on an ordinary Saturday, expecting a straightforward answer. Found instead that a
|
||||||
|
**full precedence mechanism for this already existed**, committed well before this session
|
||||||
|
(`calendar/index.ts`'s `applyMarianSaturday`, gated on `weekday === 'saturday'`,
|
||||||
|
`temporalCategory === 'ordinary-feria'`, and no active octave; a `marian-saturday` collect and
|
||||||
|
Benedictus antiphon; a Lauds psalmody override) — a real gap in my own earlier claim to the user
|
||||||
|
that "vu doesn't model this at all," found by not having grepped the codebase before saying so.
|
||||||
|
|
||||||
|
Per direct instruction, the actual design (a real, closed decision, not left open): Marian
|
||||||
|
Saturday is rank **Simplex**, but its own separate tier — beats a plain Simplex saint (who is then
|
||||||
|
commemorated), loses cleanly (zero commemoration, matching live behavior confirmed against 3 real
|
||||||
|
dates: St. Blaise/Simplex commemorated 2024-02-03, St. Athanasius/Duplex and Ss. Cyriacus &
|
||||||
|
Co./Semiduplex both winning with *zero* trace of Marian Saturday 2026-05-02/2026-08-08) to
|
||||||
|
anything Vigil-or-higher — i.e. sits between `simplex` and `vigil` in vu's own `FeastClass` scale,
|
||||||
|
which `applyMarianSaturday`'s `winner.rank !== 'simplex'` gate already implements correctly without
|
||||||
|
needing a new `FeastClass` value at all (Vigil already ranks above Simplex there). Matins/Lauds get
|
||||||
|
proper hymns; ferial psalmody is kept everywhere (not the real historical proper-psalm set) with
|
||||||
|
only the antiphons swapped to Marian text; the Marian collect applies whenever the day wins. No
|
||||||
|
"little office" — deliberately narrower than the actual historical Officium Sabbatorum.
|
||||||
|
|
||||||
|
Authored `matins-hymn-marian-saturday.yml` ("Quem terra, pontus, ǽthera") — the one piece Matins
|
||||||
|
had nothing for at all, closing the original gap this whole investigation started from. For Lauds,
|
||||||
|
found the *hymn* ("O gloriósa Dómina") was already authored, but filed under the plain ferial
|
||||||
|
`lauds-hymn-saturday` id instead of its own `marian-saturday` id, and its capitulum/responsory/
|
||||||
|
versicle siblings were live-verified from a *different*, privileged (Lenten Ember) Saturday, not
|
||||||
|
this one — three real bugs from an earlier pass's own "believed genuine per-annum content, not
|
||||||
|
verified" comment. Fixed all three: moved the hymn to `lauds-hymn-marian-saturday.yml`, authored
|
||||||
|
real `lauds-{capitulum,responsory,versicle}-marian-saturday.yml` (live-verified 2026-10-03), and
|
||||||
|
corrected `lauds-hymn-saturday.yml`/its doxology/its capitulum/responsory/versicle siblings to the
|
||||||
|
real plain-ferial-Saturday content (live-verified 2025-09-20, a September Ember Saturday winning
|
||||||
|
outright with nothing else in play) — "Auróra jam spargit polum" hymn, Rom 13:12-13 capitulum,
|
||||||
|
"Sana ánimam meam" responsory, "Repléti sumus mane misericórdia tua" versicle; the old Isa 58:1 /
|
||||||
|
"Ipse liberávit me" / "Ángelis suis" content is now homeless, likely genuine Lenten-specific ferial
|
||||||
|
capitula this store doesn't yet model separately — not rebuilt, flagged here instead.
|
||||||
|
|
||||||
|
Per direct instruction, rolled back the pre-existing Lauds psalmody override
|
||||||
|
(`lauds-psalmody-overrides/marian-saturday.yml`) from the real historical proper psalm set (92, 99,
|
||||||
|
62 — the same numbers any duplex-majus+ feast's own Lauds override uses) to plain ferial Saturday's
|
||||||
|
own psalm groups (50, 142, the split Canticle of Moses/Deuteronomy), keeping only the antiphon
|
||||||
|
swap — matches "keep the ferial psalmody but use marian antiphons... we don't want to go
|
||||||
|
little-office" exactly. Ferial Saturday has one fewer psalm-group slot than the Common-of-BVM
|
||||||
|
pattern, so the third already-authored proper antiphon ("Nigra sum, sed formósa...") currently has
|
||||||
|
nowhere to attach and sits unused, noted in the file's own header.
|
||||||
|
|
||||||
|
Live-verified `/2026-07-04/matins` and `/2026-07-04/lauds` in the browser end to end. `npm test`
|
||||||
|
(2025 passed, one pre-existing psalm-number assertion in `tests/hours/lauds-psalmody-overrides.test.ts`
|
||||||
|
updated for the psalmody rollback) and `tsc --noEmit` both pass.
|
||||||
|
|
||||||
|
**Follow-on, same day**: user asked what actually renders on a real September Ember Saturday and on
|
||||||
|
a Saturday where a real saint outranks a merely-commemorated transferred Vigil (Aug 8 2026, Vigil
|
||||||
|
of St. Lawrence displaced by Ss. Cyriacus, Largus & Smaragdus). The second case was already correct
|
||||||
|
(the winning saint's own Common-of-Martyrs hymn applies via the pre-existing tier, unaffected by the
|
||||||
|
commemorated Vigil). The first case exposed a real gap in the weekday-hymn-cycle fix above: Saturday
|
||||||
|
was deliberately left on the `matins-hymn-ferial` (Monday's text) placeholder on the assumption it
|
||||||
|
was "almost always Marian Saturday" — true for most Saturdays, but not for a genuinely privileged
|
||||||
|
one (Ember/Advent/Lent) where nothing wins outright and Marian Saturday's own `ordinary-feria` gate
|
||||||
|
doesn't apply. Authored `matins-hymn-ferial-saturday.yml` ("Summæ Deus cleméntiæ", live-verified
|
||||||
|
against a clean September Ember Saturday, 2025-09-20) and added it to `resolveMatinsHymn`'s weekday
|
||||||
|
lookup. `npm test` (2025 passed, no test changes needed) and `tsc --noEmit` both pass.
|
||||||
|
|||||||
@@ -1,25 +1,38 @@
|
|||||||
# Verified against Divinum Officium (Monastic Tridentinum 1617), Lauds
|
# Corrected 2026-09-04, per direct instruction: this override previously
|
||||||
# live query, Sanctæ Mariæ Sabbato (2026-09-05). Applies unconditionally
|
# swapped in the real historical proper psalms (92, 99, 62 — the Common-
|
||||||
|
# of-the-BVM's own Lauds psalm set, same numbers used by any duplex-majus+
|
||||||
|
# feast's own psalmody override elsewhere in this store), not just the
|
||||||
|
# antiphons. Per the user's own explicit design for Marian Saturday
|
||||||
|
# ("keep the ferial psalmody but use marian antiphons... we don't want to
|
||||||
|
# go little-office"), this now instead keeps plain ferial Saturday's own
|
||||||
|
# psalm groups/canticle unchanged (see data/hours/lauds-antiphons.yml's
|
||||||
|
# `saturday:` entry — Ps 50, Ps 142, the Canticle of Moses/Deuteronomy
|
||||||
|
# split in two, then the Laudate psalms) and only swaps the antiphon text
|
||||||
|
# atop them.
|
||||||
|
#
|
||||||
|
# Ferial Saturday has only 2 psalm-group antiphon slots (plus canticle,
|
||||||
|
# plus laudate = 4 total), one fewer than the 3-psalm-group Common-of-BVM
|
||||||
|
# pattern this override used to carry — so only the first 2 of the 3
|
||||||
|
# already-authored proper antiphons ("Dum esset Rex", "Læva ejus") have a
|
||||||
|
# slot to attach to here; the third ("Nigra sum, sed formósa...", live-
|
||||||
|
# verified same session) is currently unused. Applies unconditionally
|
||||||
# whenever Marian Saturday wins the day (see calendar/index.ts's
|
# whenever Marian Saturday wins the day (see calendar/index.ts's
|
||||||
# applyMarianSaturday) -- not gated by the duplex-majus+ rank threshold
|
# applyMarianSaturday) — not gated by the duplex-majus+ rank threshold the
|
||||||
# the sanctoral overrides use, since Marian Saturday isn't itself ranked
|
# sanctoral overrides use, since Marian Saturday isn't itself ranked in
|
||||||
# in competition with the weekday default the way a saint is.
|
# competition with the weekday default the way a saint is.
|
||||||
id: marian-saturday
|
id: marian-saturday
|
||||||
groups:
|
groups:
|
||||||
- psalms: [92]
|
- psalms: [50]
|
||||||
antiphon:
|
antiphon:
|
||||||
la: "Dum esset Rex * in accúbitu suo, nardus mea dedit odórem suavitátis."
|
la: "Dum esset Rex * in accúbitu suo, nardus mea dedit odórem suavitátis."
|
||||||
en: "While the King was at his repose, * my spikenard sent forth the odour thereof."
|
en: "While the King was at his repose, * my spikenard sent forth the odour thereof."
|
||||||
- psalms: [99]
|
- psalms: [142]
|
||||||
antiphon:
|
antiphon:
|
||||||
la: "Læva ejus * sub cápite meo, et déxtera illíus amplexábitur me."
|
la: "Læva ejus * sub cápite meo, et déxtera illíus amplexábitur me."
|
||||||
en: "His left hand is under my head, * and his right hand shall embrace me."
|
en: "His left hand is under my head, * and his right hand shall embrace me."
|
||||||
- psalms: [62]
|
|
||||||
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 beautiful, O ye daughters of Jerusalem; therefore hath the King loved me, and brought me into his chamber."
|
|
||||||
canticle:
|
canticle:
|
||||||
id: canticum-trium-puerorum
|
id: canticum-moysis-deuteronomii
|
||||||
|
split: 32
|
||||||
antiphon:
|
antiphon:
|
||||||
la: "Jam hiems tránsiit, * imber ábiit et recéssit: surge, amíca mea, et veni."
|
la: "Jam hiems tránsiit, * imber ábiit et recéssit: surge, amíca mea, et veni."
|
||||||
en: "For winter is now past, * the rain is over and gone: arise, my love, and come."
|
en: "For winter is now past, * the rain is over and gone: arise, my love, and come."
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
# Verified against Divinum Officium (Monastic Tridentinum 1617), Lauds
|
||||||
|
# live query, 2026-10-03 (a plain Sanctæ Mariæ Sabbato ~ Simplex day).
|
||||||
|
# Identical text to lauds-capitulum-nativity-bvm.yml — the same Common-
|
||||||
|
# of-the-BVM chapter reused by both, not a coincidence.
|
||||||
|
id: lauds-capitulum-marian-saturday
|
||||||
|
text:
|
||||||
|
la: "Ab inítio et ante sǽcula creáta sum, et usque ad futúrum sǽculum non désinam, et in habitatióne sancta coram ipso ministrávi."
|
||||||
|
en: "From the beginning, and before the world, was I created, and unto the world to come I shall not cease to be, and in the holy dwelling place I have ministered before him."
|
||||||
|
citation:
|
||||||
|
la: "Sir 24:14"
|
||||||
|
en: "Sir 24:14"
|
||||||
|
status:
|
||||||
|
la: verified
|
||||||
|
en: verified
|
||||||
@@ -1,18 +1,24 @@
|
|||||||
# Verified against Divinum Officium (Monastic Tridentinum 1617), Lauds live
|
# Plain ferial Saturday's own Lauds capitulum — live-verified against
|
||||||
# query -- sourced from a Lenten Ember Saturday (2026-02-28), since every
|
# Divinum Officium (Monastic Tridentinum 1617), Lauds live query,
|
||||||
# ordinary-time Saturday is Marian-Sabbato-overridden (see
|
# 2025-09-20 (a September Ember Saturday winning outright with nothing
|
||||||
# lauds-hymn-saturday.yml's longer note). Believed genuine per-annum
|
# else in play, `{ex Psalterio secundum diem}` in the source).
|
||||||
# content, not a Lenten swap: the page's own "{ex Psalterio secundum diem}"
|
#
|
||||||
# label matches the ferial default exactly, and every other Lauds this
|
# Corrected 2026-09-04: this id previously held Isa 58:1 ("Clama, ne
|
||||||
# project has built only swaps the *hymn* for a privileged season, never
|
# cesses..."), sourced from a *Lenten* Ember Saturday (2026-02-28) on the
|
||||||
# the capitulum/responsory/versicle.
|
# assumption it was shared, genuine per-annum content — wrong, live-
|
||||||
|
# checked against this clean ordinary-time date instead: the real
|
||||||
|
# per-annum text is Rom 13:12-13, not Isa 58:1. Isa 58:1 is now homeless
|
||||||
|
# (not currently reused anywhere in this store) — likely a real, distinct
|
||||||
|
# Lenten-ferial-capitulum text this project doesn't yet model separately
|
||||||
|
# from the plain weekday default; flagged in TODO.md rather than built
|
||||||
|
# out here.
|
||||||
id: lauds-capitulum-saturday
|
id: lauds-capitulum-saturday
|
||||||
text:
|
text:
|
||||||
la: "Clama, ne cesses, quasi tuba exálta vocem tuam, et annúntia pópulo meo scélera eórum, et dómui Jacob peccáta eórum."
|
la: "Nox præcéssit, dies autem appropinquávit. Abiciámus ergo ópera tenebrárum, et induámur arma lucis. Sicut in die honéste ambulémus."
|
||||||
en: "Cry, cease not, lift up thy voice like a trumpet, and show my people their wicked doings, and the house of Jacob their sins."
|
en: "The night is passed, and the day is at hand. Let us therefore cast off the works of darkness, and put on the armour of light. Let us walk honestly, as in the day."
|
||||||
citation:
|
citation:
|
||||||
la: "Isa 58:1"
|
la: "Rom 13:12-13"
|
||||||
en: "Isa 58:1"
|
en: "Rom 13:12-13"
|
||||||
status:
|
status:
|
||||||
la: verified
|
la: verified
|
||||||
en: verified
|
en: verified
|
||||||
|
|||||||
@@ -0,0 +1,58 @@
|
|||||||
|
# Lauds hymn for Marian Saturday ("O gloriósa Dómina" / "O glorious
|
||||||
|
# lady!") — live-verified against Divinum Officium (Monastic Tridentinum
|
||||||
|
# 1617), Lauds live query, 2026-10-03 (a plain Sanctæ Mariæ Sabbato ~
|
||||||
|
# Simplex day). 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.
|
||||||
|
#
|
||||||
|
# Fixed 2026-09-04: this text used to live at `lauds-hymn-saturday` (the
|
||||||
|
# plain ferial-weekday id), on the reasoning that "a genuinely per-annum
|
||||||
|
# unprivileged Saturday isn't achievable" — true for the *hymn*, but
|
||||||
|
# `lauds-hymn-saturday.yml`'s own sibling capitulum/responsory/versicle
|
||||||
|
# files turned out to be live-verified from a *different*, privileged
|
||||||
|
# (Lenten Ember) Saturday, not this one — so reusing the ferial id for
|
||||||
|
# just the hymn was silently gluing together content from two different
|
||||||
|
# real occasions. Given a real `marian-saturday` id now exists to hold
|
||||||
|
# the hymn on its own, moved here; see calendar/index.ts's
|
||||||
|
# applyMarianSaturday and hours/resolve-common.ts's
|
||||||
|
# ALWAYS_OVERRIDE_TEMPORAL_IDS for how this id actually gets selected.
|
||||||
|
#
|
||||||
|
# Closing doxology stanza intentionally omitted — handled seasonally via
|
||||||
|
# hymn-doxology.ts, which already resolves this feast's own doxology
|
||||||
|
# ("Glória tibi, Dómine, Qui natus es de Vírgine...") through
|
||||||
|
# hymn-doxology-by-feast.yml's `marian-saturday: hymn-doxology-nat` entry.
|
||||||
|
id: lauds-hymn-marian-saturday
|
||||||
|
text:
|
||||||
|
la: |
|
||||||
|
O gloriósa Dómina,
|
||||||
|
Excélsa super sídera:
|
||||||
|
Qui te creávit, próvide
|
||||||
|
Lactásti sacro úbere.
|
||||||
|
|
||||||
|
Quod Heva tristis ábstulit,
|
||||||
|
Tu reddis almo gérmine:
|
||||||
|
Intrent ut astra flébiles,
|
||||||
|
Cæli fenéstra facta es.
|
||||||
|
|
||||||
|
Tu Regis alti jánua,
|
||||||
|
Et porta lucis fúlgida:
|
||||||
|
Vitam datam per Vírginem,
|
||||||
|
Gentes redémptæ, pláudite.
|
||||||
|
en: |
|
||||||
|
O glorious lady! throned on high
|
||||||
|
Above the star-illumined sky;
|
||||||
|
Thereto ordained, thy bosom lent
|
||||||
|
To thy Creator nourishment.
|
||||||
|
|
||||||
|
Through thy sweet offspring we receive
|
||||||
|
The bliss once lost through hapless Eve;
|
||||||
|
And heaven to mortals open lies
|
||||||
|
Now thou art portal of the skies.
|
||||||
|
|
||||||
|
Thou art the door of heaven's high King,
|
||||||
|
Light's gateway fair and glistering;
|
||||||
|
Life through a Virgin is restored;
|
||||||
|
Ye ransomed nations, praise the Lord!
|
||||||
|
status:
|
||||||
|
la: verified
|
||||||
|
en: verified
|
||||||
@@ -1,7 +1,14 @@
|
|||||||
|
# Corrected 2026-09-04: previously held the Marian doxology ("Glória tibi
|
||||||
|
# Dómine, Qui natus es de Vírgine...") left over from when lauds-hymn-
|
||||||
|
# saturday.yml itself held the Marian hymn text. Now the real per-annum
|
||||||
|
# doxology for "Auróra jam spargit polum" (see lauds-hymn-saturday.yml's
|
||||||
|
# own header) — live-verified same 2025-09-20 query. Moot for an actual
|
||||||
|
# Marian Saturday regardless, since hymn-doxology-by-feast.yml's
|
||||||
|
# `marian-saturday: hymn-doxology-nat` entry always wins there first.
|
||||||
id: lauds-hymn-saturday-doxology-per-annum
|
id: lauds-hymn-saturday-doxology-per-annum
|
||||||
text:
|
text:
|
||||||
la: "Glória tibi Dómine,\nQui natus es de Vírgine,\nCum Patre et Sancto Spíritu,\nIn sempitérna sǽcula.\nAmen."
|
la: "Deo Patri sit glória,\nEjúsque soli Fílio,\nCum Spíritu Paráclito,\nEt nunc, et in perpétuum.\nAmen."
|
||||||
en: "All honour, laud, and glory be,\nO Jesu, Virgin-born, to thee;\nAll glory, as is ever meet,\nTo Father and to Paraclete.\nAmen."
|
en: "To God the Father glory be,\nAnd to his sole-begotten Son;\nGlory, O Holy Ghost, to thee,\nWhile everlasting ages run.\nAmen."
|
||||||
status:
|
status:
|
||||||
la: verified
|
la: verified
|
||||||
en: verified
|
en: verified
|
||||||
|
|||||||
@@ -1,40 +1,55 @@
|
|||||||
# Verified against Divinum Officium (Monastic Tridentinum 1617), Lauds live
|
# Plain ferial Saturday's own Lauds hymn ("Auróra jam spargit polum" /
|
||||||
# query, Sanctæ Mariæ Sabbato (2026-09-05). By explicit choice, this --
|
# "The dawn is sprinkling in the east") — live-verified against Divinum
|
||||||
# not a genuinely per-annum unprivileged Saturday, which isn't achievable
|
# Officium (Monastic Tridentinum 1617), Lauds live query, 2025-09-20 (a
|
||||||
# (see hours/types.ts's 'lauds-psalmody' doc comment on the Marian
|
# September Ember Saturday winning outright with nothing else in play,
|
||||||
# Saturday) -- is Saturday's own default hymn.
|
# `{ex Psalterio secundum diem}` in the source, i.e. genuinely the plain
|
||||||
|
# per-weekday text, not privileged/seasonal).
|
||||||
|
#
|
||||||
|
# Corrected 2026-09-04: this id previously held "O gloriósa Dómina", the
|
||||||
|
# real Marian-Saturday hymn, moved out to its own `lauds-hymn-marian-
|
||||||
|
# saturday.yml` — see that file's own header for why. This id is now only
|
||||||
|
# reached on a Saturday that's neither Marian (an active octave, or a
|
||||||
|
# season with its own seasonSuffix hymn) nor genuinely privileged with a
|
||||||
|
# season-specific hymn of its own (Lent's `lauds-hymn-lent.yml`/Advent's
|
||||||
|
# own equivalent both win first via `seasonalOfficeSuffix`) — chiefly
|
||||||
|
# September/Pentecost's own Ember Saturday, whose season carries no
|
||||||
|
# seasonSuffix hymn override. This file's own sibling capitulum/
|
||||||
|
# responsory/versicle-saturday.yml files were already independently
|
||||||
|
# correct for this same real occasion (verified from a different,
|
||||||
|
# privileged-Lent date whose capitulum/responsory/versicle turn out
|
||||||
|
# identical to this one's — only the hymn itself is season-variable).
|
||||||
id: lauds-hymn-saturday
|
id: lauds-hymn-saturday
|
||||||
text:
|
text:
|
||||||
la: |
|
la: |
|
||||||
O gloriósa Dómina,
|
Auróra jam spargit polum:
|
||||||
Excélsa super sídera:
|
Terris dies illábitur:
|
||||||
Qui te creávit, próvide
|
Lucis resúltat spículum:
|
||||||
Lactásti sacro úbere.
|
Discédat omne lúbricum.
|
||||||
|
|
||||||
Quod Heva tristis ábstulit,
|
Phantásma noctis décidat:
|
||||||
Tu reddis almo gérmine:
|
Mentis reátus súbruat:
|
||||||
Intrent ut astra flébiles,
|
Quidquid ténebris hórridum
|
||||||
Cæli fenéstra facta es.
|
Nox áttulit culpæ, cadat.
|
||||||
|
|
||||||
Tu Regis alti jánua,
|
Et mane illud últimum,
|
||||||
Et porta lucis fúlgida:
|
Quod præstolámur cérnui,
|
||||||
Vitam datam per Vírginem,
|
In lucem nobis éffluat,
|
||||||
Gentes redémptæ, pláudite.
|
Dum hoc canóre cóncrepat.
|
||||||
en: |
|
en: |
|
||||||
O glorious lady! throned on high
|
The dawn is sprinkling in the east
|
||||||
Above the star-illumined sky;
|
Its golden shower, as day flows in;
|
||||||
Thereto ordained, thy bosom lent
|
Fast mount the pointed shafts of light:
|
||||||
To thy Creator nourishment.
|
Farewell to darkness and to sin!
|
||||||
|
|
||||||
Through thy sweet offspring we receive
|
Away, ye midnight phantoms all!
|
||||||
The bliss once lost through hapless Eve;
|
Away, despondence and despair!
|
||||||
And heaven to mortals open lies
|
Whatever guilt the night has brought,
|
||||||
Now thou art portal of the skies.
|
Now let it vanish into air.
|
||||||
|
|
||||||
Thou art the door of heaven's high King,
|
So, Lord, when that last morning breaks,
|
||||||
Light's gateway fair and glistering;
|
Looking to which we sigh and pray,
|
||||||
Life through a Virgin is restored;
|
O may it to thy minstrels prove
|
||||||
Ye ransomed nations, praise the Lord!
|
The dawning of a better day.
|
||||||
status:
|
status:
|
||||||
la: verified
|
la: verified
|
||||||
en: verified
|
en: verified
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
# Verified against Divinum Officium (Monastic Tridentinum 1617), Lauds
|
||||||
|
# live query, 2026-10-03 (a plain Sanctæ Mariæ Sabbato ~ Simplex day).
|
||||||
|
# Identical text to lauds-responsory-nativity-bvm.yml — the same Common-
|
||||||
|
# of-the-BVM responsory reused by both, not a coincidence.
|
||||||
|
id: lauds-responsory-marian-saturday
|
||||||
|
text:
|
||||||
|
la: |
|
||||||
|
R.br. Ave María, grátia plena, * Dóminus tecum.
|
||||||
|
R. Ave María, grátia plena, * Dóminus tecum.
|
||||||
|
V. Benedícta tu in muliéribus, et benedíctus fructus ventris tui
|
||||||
|
R. Dóminus tecum.
|
||||||
|
V. Glória Patri, et Fílio, * et Spirítui Sancto.
|
||||||
|
R. Ave María, grátia plena, * Dóminus tecum.
|
||||||
|
en: |
|
||||||
|
R.br. Hail Mary full of grace, * the Lord is with thee.
|
||||||
|
R. Hail Mary full of grace, * the Lord is with thee.
|
||||||
|
V. Benedícta tu in muliéribus, et benedíctus fructus ventris tui
|
||||||
|
R. The Lord is with thee.
|
||||||
|
V. Glory be to the Father, and to the Son, * and to the Holy Ghost.
|
||||||
|
R. Hail Mary full of grace, * the Lord is with thee.
|
||||||
|
status:
|
||||||
|
la: verified
|
||||||
|
en: verified
|
||||||
@@ -1,23 +1,23 @@
|
|||||||
# Verified against Divinum Officium (Monastic Tridentinum 1617), Lauds live
|
# Plain ferial Saturday's own Lauds responsory — live-verified against
|
||||||
# query -- sourced from a Lenten Ember Saturday; see
|
# Divinum Officium (Monastic Tridentinum 1617), Lauds live query,
|
||||||
# lauds-capitulum-saturday.yml's note on why, and why this is believed
|
# 2025-09-20. See lauds-capitulum-saturday.yml's own header for why this
|
||||||
# genuine per-annum content rather than a Lenten swap.
|
# replaces the previous, Lent-sourced content ("Ipse liberávit me...").
|
||||||
id: lauds-responsory-saturday
|
id: lauds-responsory-saturday
|
||||||
text:
|
text:
|
||||||
la: |
|
la: |
|
||||||
R.br. Ipse liberávit me * de láqueo venántium.
|
R.br. Sana ánimam meam, * Quia peccávi tibi.
|
||||||
R. Ipse liberávit me * de láqueo venántium.
|
R. Sana ánimam meam, * Quia peccávi tibi.
|
||||||
V. Et a verbo áspero.
|
V. Ego dixi: Dómine, miserére mei.
|
||||||
R. De láqueo venántium.
|
R. Quia peccávi tibi.
|
||||||
V. Glória Patri, et Fílio, * et Spirítui Sancto.
|
V. Glória Patri, et Fílio, * et Spirítui Sancto.
|
||||||
R. Ipse liberávit me * de láqueo venántium
|
R. Sana ánimam meam, * Quia peccávi tibi.
|
||||||
en: |
|
en: |
|
||||||
R.br. For he hath delivered me * from the snare of the hunters.
|
R.br. Heal my soul, * for I have sinned against thee.
|
||||||
R. For he hath delivered me * from the snare of the hunters.
|
R. Heal my soul, * for I have sinned against thee.
|
||||||
V. And from the sharp word.
|
V. I said: O Lord, be thou merciful to me.
|
||||||
R. From the snare of the hunters.
|
R. For I have sinned against thee.
|
||||||
V. Glory be to the Father, and to the Son, * and to the Holy Ghost.
|
V. Glory be to the Father, and to the Son, * and to the Holy Ghost.
|
||||||
R. For he hath delivered me * from the snare of the hunters.
|
R. Heal my soul, * for I have sinned against thee.
|
||||||
status:
|
status:
|
||||||
la: verified
|
la: verified
|
||||||
en: verified
|
en: verified
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
# Verified against Divinum Officium (Monastic Tridentinum 1617), Lauds
|
||||||
|
# live query, 2026-10-03 (a plain Sanctæ Mariæ Sabbato ~ Simplex day).
|
||||||
|
id: lauds-versicle-marian-saturday
|
||||||
|
text:
|
||||||
|
la: "V. Benedícta tu in muliéribus.\nR. Et benedíctus fructus ventris tui."
|
||||||
|
en: "V. Blessed art thou among women.\nR. And blessed is the fruit of thy womb."
|
||||||
|
status:
|
||||||
|
la: verified
|
||||||
|
en: verified
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
# Verified against Divinum Officium (Monastic Tridentinum 1617), Lauds live
|
# Plain ferial Saturday's own Lauds versicle — live-verified against
|
||||||
# query -- sourced from a Lenten Ember Saturday; see
|
# Divinum Officium (Monastic Tridentinum 1617), Lauds live query,
|
||||||
# lauds-capitulum-saturday.yml's note on why, and why this is believed
|
# 2025-09-20. See lauds-capitulum-saturday.yml's own header for why this
|
||||||
# genuine per-annum content rather than a Lenten swap.
|
# replaces the previous, Lent-sourced content ("Ángelis suis...").
|
||||||
id: lauds-versicle-saturday
|
id: lauds-versicle-saturday
|
||||||
text:
|
text:
|
||||||
la: "V. Ángelis suis Deus mandávit de te.\nR. Ut custódiant te in ómnibus viis tuis."
|
la: "V. Repléti sumus mane misericórdia tua.\nR. Exsultávimus, et delectáti sumus."
|
||||||
en: "V. God hath given His Angels charge over thee.\nR. To keep thee in all thy ways."
|
en: "V. We are filled in the morning with thy mercy.\nR. And we have rejoiced, and are delighted."
|
||||||
status:
|
status:
|
||||||
la: verified
|
la: verified
|
||||||
en: verified
|
en: verified
|
||||||
|
|||||||
@@ -0,0 +1,107 @@
|
|||||||
|
# Friday's own plain ferial Matins hymn (Psalterium/Special/Matutinum
|
||||||
|
# Special.txt's "Day5 Hymnus" — Day0=Sunday .. Day6=Saturday). Live-
|
||||||
|
# verified 2026-09-04 (today, a plain post-Pentecost Friday) against
|
||||||
|
# Monastic Tridentinum 1617 directly via the CGI instance — Monastic's own
|
||||||
|
# "Day5 HymnusM" swaps stanza 2's "ómnium"/"vúlnerum" word order and
|
||||||
|
# stanza 4's "astet" -> "adsit"; the live page confirms both swaps.
|
||||||
|
#
|
||||||
|
# Reported by the user: the plain ferial Matins hymn was silently using
|
||||||
|
# Monday's own text (`matins-hymn-ferial`, mislabeled in its own comment
|
||||||
|
# as a generic "ferial" hymn) for every weekday, including Friday, where
|
||||||
|
# the real Monastic 1617 source is this genuinely different hymn.
|
||||||
|
#
|
||||||
|
# Closing doxology stanza intentionally omitted — shared across every
|
||||||
|
# weekday via matins-hymn-doxology-per-annum.yml (see hours/matins.ts).
|
||||||
|
id: matins-hymn-ferial-friday
|
||||||
|
text:
|
||||||
|
la: >-
|
||||||
|
Tu, Trinitátis Únitas,
|
||||||
|
|
||||||
|
Orbem poténter quæ regis,
|
||||||
|
|
||||||
|
Atténde laudis cánticum,
|
||||||
|
|
||||||
|
Quod excubántes psállimus.
|
||||||
|
|
||||||
|
|
||||||
|
Nam léctulo consúrgimus
|
||||||
|
|
||||||
|
Noctis quiéto témpore,
|
||||||
|
|
||||||
|
Ut flagitémus vúlnerum
|
||||||
|
|
||||||
|
A te medélam ómnium.
|
||||||
|
|
||||||
|
|
||||||
|
Quo fraude quidquid dǽmonum
|
||||||
|
|
||||||
|
In nóctibus delíquimus,
|
||||||
|
|
||||||
|
Abstérgat illud cǽlitus
|
||||||
|
|
||||||
|
Tuæ potéstas glóriæ.
|
||||||
|
|
||||||
|
|
||||||
|
Ne corpus adsit sórdidum,
|
||||||
|
|
||||||
|
Nec torpor instet córdium,
|
||||||
|
|
||||||
|
Ne críminis contágio
|
||||||
|
|
||||||
|
Tepéscat ardor spíritus.
|
||||||
|
|
||||||
|
|
||||||
|
Ob hoc, Redémptor, quǽsumus,
|
||||||
|
|
||||||
|
Reple tuo nos lúmine,
|
||||||
|
|
||||||
|
Per quod diérum círculis
|
||||||
|
|
||||||
|
Nullis ruámus áctibus.
|
||||||
|
en: >-
|
||||||
|
O Three in One, and One in Three,
|
||||||
|
|
||||||
|
Who rulest all things mightily:
|
||||||
|
|
||||||
|
Bow down to hear the songs of praise
|
||||||
|
|
||||||
|
Which, freed from bonds of sleep, we raise.
|
||||||
|
|
||||||
|
|
||||||
|
While lingers yet the peace of night,
|
||||||
|
|
||||||
|
We rouse us from our slumbers light:
|
||||||
|
|
||||||
|
That might of instant prayer may win
|
||||||
|
|
||||||
|
The healing balm for wounds of sin.
|
||||||
|
|
||||||
|
|
||||||
|
If, by the wiles of Satan caught,
|
||||||
|
|
||||||
|
This night-time we have sinned in aught,
|
||||||
|
|
||||||
|
That sin Thy glorious power to-day,
|
||||||
|
|
||||||
|
From heaven descending, cleanse away.
|
||||||
|
|
||||||
|
|
||||||
|
Let naught impure our bodies stain,
|
||||||
|
|
||||||
|
No laggard sloth our souls detain,
|
||||||
|
|
||||||
|
No taint of sin our spirits know,
|
||||||
|
|
||||||
|
To chill the fervor of their glow.
|
||||||
|
|
||||||
|
|
||||||
|
Wherefore, Redeemer grant that we
|
||||||
|
|
||||||
|
Fulfilled with thine own light may be:
|
||||||
|
|
||||||
|
That, in our course, from day to day,
|
||||||
|
|
||||||
|
By no misdeed we fall away.
|
||||||
|
status:
|
||||||
|
la: verified
|
||||||
|
en: verified
|
||||||
@@ -0,0 +1,101 @@
|
|||||||
|
# Saturday's own plain ferial Matins hymn ("Summæ Deus cleméntiæ" —
|
||||||
|
# Monastic 1617's own "Day6 HymnusM", genuinely distinct text from the
|
||||||
|
# secular "Day6 Hymnus"/"Summæ Parens cleméntiæ", not just a word-swap —
|
||||||
|
# Psalterium/Special/Matutinum Special.txt, Day0=Sunday..Day6=Saturday).
|
||||||
|
# Live-verified 2025-09-20 (a September Ember Saturday winning outright
|
||||||
|
# with nothing else in play, `{ex Psalterio secundum tempora}` in the
|
||||||
|
# source, i.e. genuinely the plain per-weekday text).
|
||||||
|
#
|
||||||
|
# Reached whenever a Saturday is neither Marian (see calendar/index.ts's
|
||||||
|
# applyMarianSaturday — an active octave, a real winning saint, or any
|
||||||
|
# other non-`ordinary-feria` category all suppress it) nor covered by a
|
||||||
|
# season's own seasonSuffix hymn (Lent/Advent/Paschaltide's own Saturday
|
||||||
|
# already use their season's hymn first) — chiefly September/Pentecost's
|
||||||
|
# own Ember Saturday when nothing else wins, same real gap already fixed
|
||||||
|
# for Tuesday-Friday (see matins-hymn-ferial.yml's own header) but missed
|
||||||
|
# for Saturday at the time: reported by the user 2026-09-04 by asking
|
||||||
|
# what actually renders on Ember Saturday and a Saturday where a real
|
||||||
|
# saint outranks a merely-commemorated Vigil (Aug 8 2026) -- the second
|
||||||
|
# case turned out fine (the winning saint's own Common hymn already
|
||||||
|
# applies correctly), but this one was still silently falling to Monday's
|
||||||
|
# text via the `matins-hymn-ferial` placeholder.
|
||||||
|
#
|
||||||
|
# Closing doxology stanza intentionally omitted — shared across every
|
||||||
|
# weekday via matins-hymn-doxology-per-annum.yml (see hours/matins.ts),
|
||||||
|
# same convention as the Tuesday-Friday siblings; the live source's own
|
||||||
|
# closing stanza here is byte-identical to that shared text anyway.
|
||||||
|
id: matins-hymn-ferial-saturday
|
||||||
|
text:
|
||||||
|
la: >-
|
||||||
|
Summæ Deus cleméntiæ,
|
||||||
|
|
||||||
|
Mundíque Factor máchinæ,
|
||||||
|
|
||||||
|
Unus potentiáliter,
|
||||||
|
|
||||||
|
Trinúsque personáliter:
|
||||||
|
|
||||||
|
|
||||||
|
Nostros pius cum cánticis
|
||||||
|
|
||||||
|
Fletus benígne súscipe:
|
||||||
|
|
||||||
|
Quo corde puro sórdibus
|
||||||
|
|
||||||
|
Te perfruámur lárgius.
|
||||||
|
|
||||||
|
|
||||||
|
Lumbos, jecúrque mórbidum
|
||||||
|
|
||||||
|
Adúre igni cóngruo,
|
||||||
|
|
||||||
|
Accíncti ut sint pérpetim,
|
||||||
|
|
||||||
|
Luxu remóto péssimo.
|
||||||
|
|
||||||
|
|
||||||
|
Ut quique horas nóctium
|
||||||
|
|
||||||
|
Nunc concinéndo rúmpimus,
|
||||||
|
|
||||||
|
Donis beátæ pátriæ
|
||||||
|
|
||||||
|
Ditémur omnes áffatim.
|
||||||
|
en: >-
|
||||||
|
Great God of boundless mercy hear;
|
||||||
|
|
||||||
|
Thou Ruler of this earthly sphere;
|
||||||
|
|
||||||
|
In substance one, in persons three,
|
||||||
|
|
||||||
|
Dread Trinity in Unity!
|
||||||
|
|
||||||
|
|
||||||
|
Do thou in love accept our lays
|
||||||
|
|
||||||
|
Of mingled penitence and praise;
|
||||||
|
|
||||||
|
And set our hearts from error free,
|
||||||
|
|
||||||
|
More fully to rejoice in thee.
|
||||||
|
|
||||||
|
|
||||||
|
Our reins and hearts in pity heal,
|
||||||
|
|
||||||
|
And with thy chastening fires anneal;
|
||||||
|
|
||||||
|
Gird Thou our loins, each passion quell,
|
||||||
|
|
||||||
|
And every harmful lust expel.
|
||||||
|
|
||||||
|
|
||||||
|
Now as our anthems, upward borne,
|
||||||
|
|
||||||
|
Awake the silence of the morn,
|
||||||
|
|
||||||
|
Enrich us with thy gifts of grace,
|
||||||
|
|
||||||
|
From heaven, thy blissful dwelling-place!
|
||||||
|
status:
|
||||||
|
la: verified
|
||||||
|
en: verified
|
||||||
@@ -0,0 +1,83 @@
|
|||||||
|
# Thursday's own plain ferial Matins hymn (Psalterium/Special/Matutinum
|
||||||
|
# Special.txt's "Day4 Hymnus" — Day0=Sunday .. Day6=Saturday, live-checked
|
||||||
|
# 2026-09-04, 2026-09-03). Monastic 1617's own "Day4 HymnusM" is a bare
|
||||||
|
# `@:Day4 Hymnus` cross-reference with no substitution — identical to the
|
||||||
|
# secular text below.
|
||||||
|
#
|
||||||
|
# Closing doxology stanza intentionally omitted — shared across every
|
||||||
|
# weekday via matins-hymn-doxology-per-annum.yml (see hours/matins.ts).
|
||||||
|
id: matins-hymn-ferial-thursday
|
||||||
|
text:
|
||||||
|
la: >-
|
||||||
|
Nox atra rerum cóntegit
|
||||||
|
|
||||||
|
Terræ colóres ómnium:
|
||||||
|
|
||||||
|
Nos confiténtes póscimus
|
||||||
|
|
||||||
|
Te, juste judex córdium.
|
||||||
|
|
||||||
|
|
||||||
|
Ut áuferas piácula,
|
||||||
|
|
||||||
|
Sordésque mentis ábluas:
|
||||||
|
|
||||||
|
Donésque, Christe, grátiam,
|
||||||
|
|
||||||
|
Ut arceántur crímina.
|
||||||
|
|
||||||
|
|
||||||
|
Mens ecce torpet ímpia,
|
||||||
|
|
||||||
|
Quam culpa mordet nóxia:
|
||||||
|
|
||||||
|
Obscúra gestit tóllere,
|
||||||
|
|
||||||
|
Et te, Redémptor, quǽrere.
|
||||||
|
|
||||||
|
|
||||||
|
Repélle tu calíginem
|
||||||
|
|
||||||
|
Intrínsecus quam máxime,
|
||||||
|
|
||||||
|
Ut in beáto gáudeat
|
||||||
|
|
||||||
|
Se collocári lúmine.
|
||||||
|
en: >-
|
||||||
|
The dusky veil of night hath laid
|
||||||
|
|
||||||
|
The varied hues of earth in shade;
|
||||||
|
|
||||||
|
Before Thee, righteous Judge of all,
|
||||||
|
|
||||||
|
We contrite in confession fall.
|
||||||
|
|
||||||
|
|
||||||
|
Take far away our load of sin,
|
||||||
|
|
||||||
|
Our soiled minds make clean within:
|
||||||
|
|
||||||
|
Thy sov'reign grace, O Christ, impart,
|
||||||
|
|
||||||
|
From all offence to guard our heart.
|
||||||
|
|
||||||
|
|
||||||
|
For lo! our mind is dull and cold,
|
||||||
|
|
||||||
|
Envenomed by sin's baneful hold:
|
||||||
|
|
||||||
|
Fain would it now the darkness flee,
|
||||||
|
|
||||||
|
And seek, Redeemer, unto Thee.
|
||||||
|
|
||||||
|
|
||||||
|
Far from it drive the shades of night,
|
||||||
|
|
||||||
|
Its inmost darkness put to flight;
|
||||||
|
|
||||||
|
Till in the daylight of the blest
|
||||||
|
|
||||||
|
It joys to find itself at rest.
|
||||||
|
status:
|
||||||
|
la: verified
|
||||||
|
en: verified
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
# Tuesday's own plain ferial Matins hymn (Psalterium/Special/Matutinum
|
||||||
|
# Special.txt's "Day2 Hymnus" — Day0=Sunday .. Day6=Saturday, live-checked
|
||||||
|
# 2026-09-04). Monastic 1617's own "Day2 HymnusM" is a bare `@:Day2
|
||||||
|
# Hymnus` cross-reference with no substitution — identical to the secular
|
||||||
|
# text below, unlike Wednesday/Friday's own genuine word-swaps.
|
||||||
|
#
|
||||||
|
# Closing doxology stanza intentionally omitted — shared across every
|
||||||
|
# weekday via matins-hymn-doxology-per-annum.yml (see hours/matins.ts).
|
||||||
|
id: matins-hymn-ferial-tuesday
|
||||||
|
text:
|
||||||
|
la: >-
|
||||||
|
Consors patérni lúminis,
|
||||||
|
|
||||||
|
Lux ipse lucis, et dies,
|
||||||
|
|
||||||
|
Noctem canéndo rúmpimus:
|
||||||
|
|
||||||
|
Assíste postulántibus.
|
||||||
|
|
||||||
|
|
||||||
|
Aufer ténebras méntium,
|
||||||
|
|
||||||
|
Fuga catérvas dǽmonum,
|
||||||
|
|
||||||
|
Expélle somnoléntiam,
|
||||||
|
|
||||||
|
Ne pigritántes óbruat.
|
||||||
|
|
||||||
|
|
||||||
|
Sic, Christe, nobis ómnibus
|
||||||
|
|
||||||
|
Indúlgeas credéntibus,
|
||||||
|
|
||||||
|
Ut prosit exorántibus,
|
||||||
|
|
||||||
|
Quod præcinéntes psállimus.
|
||||||
|
en: >-
|
||||||
|
O Light of Light, O Day-spring bright,
|
||||||
|
|
||||||
|
Co-equal in thy Father's light:
|
||||||
|
|
||||||
|
Assist us, as with prayer and psalm
|
||||||
|
|
||||||
|
Thy servants break the twilight calm.
|
||||||
|
|
||||||
|
|
||||||
|
All darkness from our minds dispel,
|
||||||
|
|
||||||
|
And turn to flight the hosts of hell:
|
||||||
|
|
||||||
|
Bid sleepfulness our eyelids fly,
|
||||||
|
|
||||||
|
Lest overwhelmed in sloth we lie.
|
||||||
|
|
||||||
|
|
||||||
|
Jesu, thy pardon, kind and free,
|
||||||
|
|
||||||
|
Bestow on us who trust in thee:
|
||||||
|
|
||||||
|
And as thy praises we declare,
|
||||||
|
|
||||||
|
O with acceptance hear our prayer.
|
||||||
|
status:
|
||||||
|
la: verified
|
||||||
|
en: verified
|
||||||
@@ -0,0 +1,86 @@
|
|||||||
|
# Wednesday's own plain ferial Matins hymn (Psalterium/Special/Matutinum
|
||||||
|
# Special.txt's "Day3 Hymnus" — Day0=Sunday .. Day6=Saturday, live-checked
|
||||||
|
# 2026-09-04, 2026-09-02). Monastic 1617's own "Day3 HymnusM" swaps
|
||||||
|
# "culpis ómnibus" -> "tu criminibus" in stanza 2 (both mean "forgive our
|
||||||
|
# sins/crimes" — a stylistic variant, not a change of imagery, so the
|
||||||
|
# existing secular English translation is reused unchanged, same
|
||||||
|
# convention already used elsewhere in this store for minor M-track
|
||||||
|
# word-swaps).
|
||||||
|
#
|
||||||
|
# Closing doxology stanza intentionally omitted — shared across every
|
||||||
|
# weekday via matins-hymn-doxology-per-annum.yml (see hours/matins.ts).
|
||||||
|
id: matins-hymn-ferial-wednesday
|
||||||
|
text:
|
||||||
|
la: >-
|
||||||
|
Rerum Creátor óptime,
|
||||||
|
|
||||||
|
Rectórque noster, áspice:
|
||||||
|
|
||||||
|
Nos a quiéte nóxia
|
||||||
|
|
||||||
|
Mersos sopóre líbera.
|
||||||
|
|
||||||
|
|
||||||
|
Te, sancte Christe, póscimus,
|
||||||
|
|
||||||
|
Ignósce tu criminibus:
|
||||||
|
|
||||||
|
Ad confiténdum súrgimus,
|
||||||
|
|
||||||
|
Morásque noctis rúmpimus.
|
||||||
|
|
||||||
|
|
||||||
|
Mentes manúsque tóllimus,
|
||||||
|
|
||||||
|
Prophéta sicut nóctibus
|
||||||
|
|
||||||
|
Nobis geréndum prǽcipit,
|
||||||
|
|
||||||
|
Paulúsque gestis cénsuit.
|
||||||
|
|
||||||
|
|
||||||
|
Vides malum, quod fécimus:
|
||||||
|
|
||||||
|
Occúlta nostra pándimus:
|
||||||
|
|
||||||
|
Preces geméntes fúndimus,
|
||||||
|
|
||||||
|
Dimítte quod peccávimus.
|
||||||
|
en: >-
|
||||||
|
Who madest all and dost control,
|
||||||
|
|
||||||
|
Lord, with thy touch divine,
|
||||||
|
|
||||||
|
Cast out the slumbers of the soul,
|
||||||
|
|
||||||
|
The rest that is not thine.
|
||||||
|
|
||||||
|
|
||||||
|
Look down, Eternal Holiness,
|
||||||
|
|
||||||
|
And wash the sins away,
|
||||||
|
|
||||||
|
Of those, who, rising to confess,
|
||||||
|
|
||||||
|
Outstrip the lingering day.
|
||||||
|
|
||||||
|
|
||||||
|
Our hearts and hands by night, O Lord,
|
||||||
|
|
||||||
|
We lift them in our need;
|
||||||
|
|
||||||
|
As holy Psalmists give the word,
|
||||||
|
|
||||||
|
And holy Paul the deed.
|
||||||
|
|
||||||
|
|
||||||
|
Each sin to thee of years gone by,
|
||||||
|
|
||||||
|
Each hidden stain lies bare;
|
||||||
|
|
||||||
|
We shrink not from thine awful eye,
|
||||||
|
|
||||||
|
But pray that thou wouldst spare.
|
||||||
|
status:
|
||||||
|
la: verified
|
||||||
|
en: verified
|
||||||
@@ -1,9 +1,24 @@
|
|||||||
# Live-verified (Monastic Tridentinum 1617, 2026-12-15, a plain ferial
|
# This is Monday's own plain ferial Matins hymn (Psalterium/Special/
|
||||||
# Tuesday) — "{ex Psalterio secundum tempora}" in the source, meaning this
|
# Matutinum Special.txt's "Day1 Hymnus" — Day0=Sunday .. Day6=Saturday).
|
||||||
# is itself one of several season-variable hymns rather than a true fixed
|
# The file's original comment mislabeled it as a single fixed
|
||||||
# year-round text; only this one (evidently the ordinary-time/per-annum
|
# "ferial" text and misattributed its live-verification date (2026-12-15)
|
||||||
# form) is authored so far. Seasonal variants deferred (see TODO.md),
|
# to "a plain ferial Tuesday" — that date is in fact a Tuesday, but the
|
||||||
# same incremental-content pattern as everywhere else in this project.
|
# text itself is Monday's (Monastic 1617's own "Day1 HymnusM" swaps
|
||||||
|
# "omni témpore" -> "in perpetuum" in the closing line, matching what's
|
||||||
|
# below). Fixed 2026-09-04 after the user reported Friday showing this
|
||||||
|
# same text instead of Friday's own hymn: `hours/matins.ts`'s
|
||||||
|
# `resolveMatinsHymn` now looks up a weekday-specific id
|
||||||
|
# (`matins-hymn-ferial-tuesday`/`-wednesday`/`-thursday`/`-friday`/
|
||||||
|
# `-saturday`) for those five days; this file (`matins-hymn-ferial`, no
|
||||||
|
# day suffix) is still used directly for Monday, and — as a deliberate,
|
||||||
|
# documented placeholder, not yet its own real content — for Sunday too:
|
||||||
|
# Sunday's own real Matins hymn selection is a genuinely more complex,
|
||||||
|
# not-yet-modeled two-hymn mechanism (Day0 Hymnus vs Hymnus1, live source
|
||||||
|
# tags H-MatDom1/H-MatDom4, purpose unconfirmed). Saturday's own gap
|
||||||
|
# (superseded on nearly every ordinary Saturday by Marian Saturday, not a
|
||||||
|
# full Little Office — see matins-hymn-ferial-saturday.yml and
|
||||||
|
# calendar/index.ts's applyMarianSaturday) was closed the same day. See
|
||||||
|
# TODO.md's 2026-09-04 entries.
|
||||||
#
|
#
|
||||||
# The closing doxology stanza is split out into
|
# The closing doxology stanza is split out into
|
||||||
# matins-hymn-doxology-per-annum.yml (see hours/matins.ts) — the source
|
# matins-hymn-doxology-per-annum.yml (see hours/matins.ts) — the source
|
||||||
|
|||||||
@@ -0,0 +1,105 @@
|
|||||||
|
# Matins hymn for Marian Saturday ("Quem terra, pontus, æthera" / "The
|
||||||
|
# God whom earth, and sea, and sky") — live-verified against Divinum
|
||||||
|
# Officium (Monastic Tridentinum 1617, Matins, 2026-10-03, a plain
|
||||||
|
# Sanctæ Mariæ Sabbato ~ Simplex day) directly via the CGI instance.
|
||||||
|
# Self-contained with its own closing doxology stanza baked in (unlike
|
||||||
|
# the plain weekday ferial hymns, whose doxology is split out and
|
||||||
|
# reattached seasonally) — same convention as every other per-feast
|
||||||
|
# Matins hymn (see e.g. matins-hymn-common-of-an-apostle.yml); this
|
||||||
|
# feast's own doxology ("Glória tibi, Dómine, Qui natus es de Vírgine...")
|
||||||
|
# is also independently wired via hymn-doxology-by-feast.yml's
|
||||||
|
# `marian-saturday: hymn-doxology-nat` entry for any hour that does split
|
||||||
|
# its doxology out (e.g. Lauds), so the two mechanisms agree.
|
||||||
|
id: matins-hymn-marian-saturday
|
||||||
|
text:
|
||||||
|
la: >-
|
||||||
|
Quem terra, pontus, ǽthera
|
||||||
|
|
||||||
|
Colunt, adórant, prædicant,
|
||||||
|
|
||||||
|
Trinam regéntem máchinam,
|
||||||
|
|
||||||
|
Claustrum Maríæ bájulat.
|
||||||
|
|
||||||
|
|
||||||
|
Cui luna, sol, et ómnia
|
||||||
|
|
||||||
|
Desérviunt per témpora,
|
||||||
|
|
||||||
|
Perfúsa cæli grátia,
|
||||||
|
|
||||||
|
Gestant puéllæ víscera.
|
||||||
|
|
||||||
|
|
||||||
|
Beáta Mater múnere,
|
||||||
|
|
||||||
|
Cujus supérnus ártifex
|
||||||
|
|
||||||
|
Mundum pugíllo cóntinens,
|
||||||
|
|
||||||
|
Ventris sub arca clausus est.
|
||||||
|
|
||||||
|
|
||||||
|
Beáta cæli núntio,
|
||||||
|
|
||||||
|
Fœcúnda sancto Spíritu,
|
||||||
|
|
||||||
|
Desiderátus géntibus,
|
||||||
|
|
||||||
|
Cujus per alvum fusus est.
|
||||||
|
|
||||||
|
|
||||||
|
Glória tibi, Dómine,
|
||||||
|
|
||||||
|
Qui natus es de Vírgine,
|
||||||
|
|
||||||
|
Cum Patre, et Sancto Spíritu,
|
||||||
|
|
||||||
|
In sempitérna sǽcula. Amen.
|
||||||
|
en: >-
|
||||||
|
The God whom earth, and sea, and sky
|
||||||
|
|
||||||
|
Adore, and laud, and magnify,
|
||||||
|
|
||||||
|
Who o'er their threefold fabric reigns,
|
||||||
|
|
||||||
|
The Virgin's spotless womb contains.
|
||||||
|
|
||||||
|
|
||||||
|
The God, whose will by moon and sun
|
||||||
|
|
||||||
|
And all things in due course is done,
|
||||||
|
|
||||||
|
Is borne upon a maiden's breast,
|
||||||
|
|
||||||
|
By fullest heavenly grace possest.
|
||||||
|
|
||||||
|
|
||||||
|
How blest that mother, in whose shrine
|
||||||
|
|
||||||
|
The great artificer divine,
|
||||||
|
|
||||||
|
Whose hand contains the earth and sky,
|
||||||
|
|
||||||
|
Vouchsafed, as in his ark, to lie.
|
||||||
|
|
||||||
|
|
||||||
|
Blest, in the message Gabriel brought;
|
||||||
|
|
||||||
|
Blest, by the work the Spirit wrought;
|
||||||
|
|
||||||
|
From whom the great desire of earth
|
||||||
|
|
||||||
|
Took human flesh and human birth.
|
||||||
|
|
||||||
|
|
||||||
|
All honour, praise and glory be,
|
||||||
|
|
||||||
|
O Jesu, Virgin-Born, to thee;
|
||||||
|
|
||||||
|
All glory, as is ever meet,
|
||||||
|
|
||||||
|
To Father, and to Paraclete. Amen.
|
||||||
|
status:
|
||||||
|
la: verified
|
||||||
|
en: verified
|
||||||
@@ -6,10 +6,27 @@
|
|||||||
#
|
#
|
||||||
# Lectio1's Gospel citation (Luke 7:36-50) is a bare incipit with no full
|
# Lectio1's Gospel citation (Luke 7:36-50) is a bare incipit with no full
|
||||||
# pericope text given, so only the homily portion is authored, same
|
# pericope text given, so only the homily portion is authored, same
|
||||||
# convention as ember-september-wednesday.yml. Kept as 3 separate
|
# convention as ember-september-wednesday.yml.
|
||||||
# readings, each with its own genuinely distinct proper responsory — see
|
#
|
||||||
# that file's own doc comment for why this departs from the usual
|
# Recombined into one reading 2026-09-04 (previously kept as 3 separate
|
||||||
# combine-into-one default.
|
# readings): the user flagged this on the live app (`/2026-09-18/matins`,
|
||||||
|
# Ember Friday as a commemoration) as reading oddly — Gregory's Homily 33
|
||||||
|
# split into 3 slots. Lectio1-3 are one continuous, unbroken homily on the
|
||||||
|
# same pericope, split only to fill the fixed 3-lesson Nocturn slot count
|
||||||
|
# — exactly the "source doesn't genuinely split" case this store's own
|
||||||
|
# established default (see post-pentecost-15.yml's own doc comment)
|
||||||
|
# recombines. The original per-lesson "genuinely distinct proper
|
||||||
|
# responsory" rationale for keeping this split (also present, unfixed so
|
||||||
|
# far, in ember-september-wednesday.yml/ember-september-saturday.yml/
|
||||||
|
# ember-advent-saturday.yml/ember-advent-wednesday.yml/
|
||||||
|
# ember-advent-friday.yml) doesn't hold up against that established
|
||||||
|
# default: post-pentecost-15.yml's own Nocturn 2 already collapses 4
|
||||||
|
# lessons with their own distinct responsories into one reading, keeping
|
||||||
|
# only the first's. Responsory here is Lectio1's own (Responsory1 =
|
||||||
|
# @Tempora/093-0:Responsory4) per that same "the first one, when several
|
||||||
|
# collapse" convention; Lectio2/3's own distinct responsories (Responsory2
|
||||||
|
# = @Tempora/093-0:Responsory5, Responsory3 = @Tempora/093-0:Responsory6)
|
||||||
|
# are dropped, same as every other collapsed-reading case in this store.
|
||||||
id: ember-september-friday
|
id: ember-september-friday
|
||||||
readings:
|
readings:
|
||||||
- nocturn: 1
|
- nocturn: 1
|
||||||
@@ -23,49 +40,16 @@ readings:
|
|||||||
pedes osculári non désiit. Nos ergo, nos illa múlier expréssit, si toto corde ad Dóminum post peccáta
|
pedes osculári non désiit. Nos ergo, nos illa múlier expréssit, si toto corde ad Dóminum post peccáta
|
||||||
redeámus, si ejus pœniténtiæ luctus imitémur. Quid namque unguénto, nisi bonæ odor opiniónis exprímitur?
|
redeámus, si ejus pœniténtiæ luctus imitémur. Quid namque unguénto, nisi bonæ odor opiniónis exprímitur?
|
||||||
Unde et Paulus dicit: Christi bonus odor sumus Deo in omni loco.
|
Unde et Paulus dicit: Christi bonus odor sumus Deo in omni loco.
|
||||||
en: >-
|
|
||||||
Of what is the Pharisee that was exalted by self-righteousness a type, but of the Jewish people? And of
|
|
||||||
what the woman which was a sinner and came and wept at the Lord's feet, but of the conversion of the
|
|
||||||
Gentiles? She brought an alabaster box of ointment, and stood at His feet behind Him weeping, and began to
|
|
||||||
wash His Feet with tears, and did wipe them with the hairs of her head, and kissed His Feet, and anointed
|
|
||||||
them with the ointment. Of us, therefore, even of us, was that woman a type, if after our sins we turn unto
|
|
||||||
the Lord with all our heart, and imitate the example of her repentant grief. And of what is the ointment a
|
|
||||||
type, but of the sweet savour of a good reputation? Whence also Paul saith: In every place we are unto God
|
|
||||||
a sweet savour of Christ.
|
|
||||||
responsory:
|
|
||||||
la: "R. Sufficiébat nobis paupértas nostra, ut divítiæ computaréntur: numquam fuísset pecúnia ipsa, pro qua misísti fílium nostrum, * Báculum senectútis nostræ!\nV. Heu me, fili mi, ut quid te mísimus peregrinári, lumen oculórum nostrórum?\nR. Báculum senectútis nostræ!"
|
|
||||||
en: "R. Our poverty was enough for us, that it might have been accounted riches. O that the money had never been, for which thou hast sent away our son, * The staff of our old age.\nV. Alas, my son, wherefore have we sent thee wandering, even thee, the light of our eyes?\nR. The staff of our old age."
|
|
||||||
status: { la: verified, en: verified }
|
|
||||||
|
|
||||||
- nocturn: 2
|
|
||||||
isGospel: false
|
|
||||||
source: "Pope St. Gregory the Great, Homily 33 on the Gospels, on Luke 7:36-50"
|
|
||||||
text:
|
|
||||||
la: >-
|
|
||||||
Si ergo recta ópera ágimus, quibus opiniónis bonæ odóre Ecclésiam respergámus, quid in Dómini córpore, nisi
|
Si ergo recta ópera ágimus, quibus opiniónis bonæ odóre Ecclésiam respergámus, quid in Dómini córpore, nisi
|
||||||
unguéntum fúndimus? Sed secus pedes Jesu múlier stetit: contra pedes enim dómini stétimus, cum in peccátis
|
unguéntum fúndimus? Sed secus pedes Jesu múlier stetit: contra pedes enim dómini stétimus, cum in peccátis
|
||||||
pósiti ejus itinéribus renitebámur. Sed si ad veram pœniténtiam post peccáta convértimur, jam retro secus
|
pósiti ejus itinéribus renitebámur. Sed si ad veram pœniténtiam post peccáta convértimur, jam retro secus
|
||||||
pedes stamus; quia ejus vestígia séquimur, quem impugnabámus. Lácrimis múlier pedes ejus rigat: quod nos
|
pedes stamus; quia ejus vestígia séquimur, quem impugnabámus. Lácrimis múlier pedes ejus rigat: quod nos
|
||||||
quoque veráciter ágimus, si quibúslibet últimis membris Dómini per compassiónis afféctum inclinámur, si
|
quoque veráciter ágimus, si quibúslibet últimis membris Dómini per compassiónis afféctum inclinámur, si
|
||||||
sanctis ejus in tribulatióne compátimur, si eórum tristítiam, nostram putámus.
|
sanctis ejus in tribulatióne compátimur, si eórum tristítiam, nostram putámus.
|
||||||
en: >-
|
|
||||||
If therefore we do good works, whereby we gain for the Church the savour of good reputation, what do we
|
|
||||||
but pour ointment upon the body of the Lord? But the woman stood at the Feet of Jesus, behind Him we stood
|
|
||||||
opposite to the Feet of the Lord, what time we were in sin, and went contrary unto His ways. But when we
|
|
||||||
turn again, and truly repent us of our sins, we stand behind His Feet, for we follow His footsteps against
|
|
||||||
Whom we once contended. The woman washed His Feet with her tears and we do in very deed the same when we
|
|
||||||
show the tenderness of sympathy to any of His humbler members, when we feel with His Saints in their
|
|
||||||
tribulations, when we make their woes our own.
|
|
||||||
responsory:
|
|
||||||
la: "R. Benedícite Deum cæli et coram ómnibus vivéntibus confitémini ei, * Quia fecit vobíscum misericórdiam suam.\nV. Ipsum benedícite et cantáte illi: et enarráte ómnia mirabília ejus.\nR. Quia fecit vobíscum misericórdiam suam."
|
|
||||||
en: "R. Bless the God of heaven, and confess Him before all living: * For He hath had mercy upon you.\nV. Bless Him, and sing praises unto Him, and tell of all His marvelous works.\nR. For He hath had mercy upon you."
|
|
||||||
status: { la: verified, en: verified }
|
|
||||||
|
|
||||||
- nocturn: 3
|
|
||||||
isGospel: false
|
|
||||||
source: "Pope St. Gregory the Great, Homily 33 on the Gospels, on Luke 7:36-50"
|
|
||||||
text:
|
|
||||||
la: >-
|
|
||||||
Capíllis ergo pedes Dómini térgimus, quando sanctis ejus, quibus ex caritáte compátimur, étiam ex his quæ
|
Capíllis ergo pedes Dómini térgimus, quando sanctis ejus, quibus ex caritáte compátimur, étiam ex his quæ
|
||||||
nobis supérfluunt, miserémur: quátenus sic mens per compassiónem dóleat, ut étiam larga manus afféctum
|
nobis supérfluunt, miserémur: quátenus sic mens per compassiónem dóleat, ut étiam larga manus afféctum
|
||||||
dolóris osténdat. Rigat namque lácrimis Redemptóris pedes, sed capíllis suis non tergit, qui utcúmque
|
dolóris osténdat. Rigat namque lácrimis Redemptóris pedes, sed capíllis suis non tergit, qui utcúmque
|
||||||
@@ -75,6 +59,25 @@ readings:
|
|||||||
largitáte continémus: ne gravis nobis sit necéssitas próximi; ne ipsa nobis ejus indigéntia, quæ
|
largitáte continémus: ne gravis nobis sit necéssitas próximi; ne ipsa nobis ejus indigéntia, quæ
|
||||||
sustentátur, fiat onerósa: et cum manus necessária tríbuit, ánimus a dilectióne torpéscat.
|
sustentátur, fiat onerósa: et cum manus necessária tríbuit, ánimus a dilectióne torpéscat.
|
||||||
en: >-
|
en: >-
|
||||||
|
Of what is the Pharisee that was exalted by self-righteousness a type, but of the Jewish people? And of
|
||||||
|
what the woman which was a sinner and came and wept at the Lord's feet, but of the conversion of the
|
||||||
|
Gentiles? She brought an alabaster box of ointment, and stood at His feet behind Him weeping, and began to
|
||||||
|
wash His Feet with tears, and did wipe them with the hairs of her head, and kissed His Feet, and anointed
|
||||||
|
them with the ointment. Of us, therefore, even of us, was that woman a type, if after our sins we turn unto
|
||||||
|
the Lord with all our heart, and imitate the example of her repentant grief. And of what is the ointment a
|
||||||
|
type, but of the sweet savour of a good reputation? Whence also Paul saith: In every place we are unto God
|
||||||
|
a sweet savour of Christ.
|
||||||
|
|
||||||
|
|
||||||
|
If therefore we do good works, whereby we gain for the Church the savour of good reputation, what do we
|
||||||
|
but pour ointment upon the body of the Lord? But the woman stood at the Feet of Jesus, behind Him we stood
|
||||||
|
opposite to the Feet of the Lord, what time we were in sin, and went contrary unto His ways. But when we
|
||||||
|
turn again, and truly repent us of our sins, we stand behind His Feet, for we follow His footsteps against
|
||||||
|
Whom we once contended. The woman washed His Feet with her tears and we do in very deed the same when we
|
||||||
|
show the tenderness of sympathy to any of His humbler members, when we feel with His Saints in their
|
||||||
|
tribulations, when we make their woes our own.
|
||||||
|
|
||||||
|
|
||||||
She wipes the Lord's Feet with our hair when we give charity, even out of such things as we have ourselves
|
She wipes the Lord's Feet with our hair when we give charity, even out of such things as we have ourselves
|
||||||
no need of, to His holy ones, with whom we feel in their trials, in as far as our heart so sympathizeth,
|
no need of, to His holy ones, with whom we feel in their trials, in as far as our heart so sympathizeth,
|
||||||
that the bounty of our hand showeth the truth of our compassion. He washeth the Feet of the Redeemer, but
|
that the bounty of our hand showeth the truth of our compassion. He washeth the Feet of the Redeemer, but
|
||||||
@@ -85,6 +88,6 @@ readings:
|
|||||||
the neediness of our neighbour is not grievous unto us, nor the penury which we relieve a weariness to us,
|
the neediness of our neighbour is not grievous unto us, nor the penury which we relieve a weariness to us,
|
||||||
nor, when the hand is giving what is needful, the heart is untouched by compassion.
|
nor, when the hand is giving what is needful, the heart is untouched by compassion.
|
||||||
responsory:
|
responsory:
|
||||||
la: "R. Tempus est ut revértar ad eum qui misit me; * Vos autem benedícite Deum, et enarráte ómnia mirabília ejus.\nV. Confitémini ei coram ómnibus vivéntibus, quia fecit vobíscum misericórdiam suam.\nR. Vos autem benedícite Deum, et enarráte ómnia mirabília ejus."
|
la: "R. Sufficiébat nobis paupértas nostra, ut divítiæ computaréntur: numquam fuísset pecúnia ipsa, pro qua misísti fílium nostrum, * Báculum senectútis nostræ!\nV. Heu me, fili mi, ut quid te mísimus peregrinári, lumen oculórum nostrórum?\nR. Báculum senectútis nostræ!"
|
||||||
en: "R. It is time for me to return unto Him That sent me; * But bless ye God, and tell of all His marvelous works.\nV. Confess Him before all living, for He hath had mercy upon you.\nR. But bless ye God, and tell of all His marvelous works."
|
en: "R. Our poverty was enough for us, that it might have been accounted riches. O that the money had never been, for which thou hast sent away our son, * The staff of our old age.\nV. Alas, my son, wherefore have we sent thee wandering, even thee, the light of our eyes?\nR. The staff of our old age."
|
||||||
status: { la: verified, en: verified }
|
status: { la: verified, en: verified }
|
||||||
|
|||||||
+18
-1
@@ -462,7 +462,24 @@ function resolveMatinsHymn(day: LiturgicalDay): ResolvedText {
|
|||||||
// substitution marker (live-checked 2026-09-03) — unlike the Advent/
|
// substitution marker (live-checked 2026-09-03) — unlike the Advent/
|
||||||
// Paschaltide seasonal hymns above, whose Monastic forms are each fixed,
|
// Paschaltide seasonal hymns above, whose Monastic forms are each fixed,
|
||||||
// non-swapping text, so only this final fallback needs the swap.
|
// non-swapping text, so only this final fallback needs the swap.
|
||||||
const body = resolveCommon('matins-hymn-ferial');
|
//
|
||||||
|
// Weekday-specific (2026-09-04): the source's plain Matins hymn genuinely
|
||||||
|
// varies Monday-Saturday (the classic "week of hymns" — Somno reféctis
|
||||||
|
// ártubus, Consors patérni lúminis, Rerum Creátor óptime, Nox atra rerum,
|
||||||
|
// Tu Trinitátis Únitas, Summæ Deus cleméntiæ), not one fixed year-round
|
||||||
|
// text — a real gap uncovered when the user noticed Friday showing
|
||||||
|
// Monday's own hymn, and Saturday's own gap found the same day by
|
||||||
|
// asking what actually renders on a real Ember Saturday (see
|
||||||
|
// matins-hymn-ferial.yml's header for why Sunday alone still falls to
|
||||||
|
// the plain `matins-hymn-ferial` id as a documented placeholder).
|
||||||
|
const weekdayFerialHymnIds: Partial<Record<Weekday, string>> = {
|
||||||
|
tuesday: 'matins-hymn-ferial-tuesday',
|
||||||
|
wednesday: 'matins-hymn-ferial-wednesday',
|
||||||
|
thursday: 'matins-hymn-ferial-thursday',
|
||||||
|
friday: 'matins-hymn-ferial-friday',
|
||||||
|
saturday: 'matins-hymn-ferial-saturday',
|
||||||
|
};
|
||||||
|
const body = resolveCommon(weekdayFerialHymnIds[day.weekday] ?? 'matins-hymn-ferial');
|
||||||
const doxology = resolveCommon(getHymnDoxologyId(day, 'matins-hymn-doxology-per-annum'));
|
const doxology = resolveCommon(getHymnDoxologyId(day, 'matins-hymn-doxology-per-annum'));
|
||||||
return appendDoxology(body, doxology);
|
return appendDoxology(body, doxology);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -105,16 +105,32 @@ describe('Ember days', () => {
|
|||||||
expect(getDayLabel(resolveDay('2026-12-19')).en).toContain('Ember Saturday in Advent (Feria)');
|
expect(getDayLabel(resolveDay('2026-12-19')).en).toContain('Ember Saturday in Advent (Feria)');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('Matins renders 3 real, distinct, verified lessons+responsories for each of the 6 Ember days', () => {
|
it('Matins renders real, distinct, verified lessons+responsories for each of the 6 Ember days', () => {
|
||||||
const dates = ['2026-09-16', '2026-09-18', '2026-09-19', '2026-12-16', '2026-12-18', '2026-12-19'];
|
// September Ember Friday (2026-09-18) is 1, not >=3, since 2026-09-04:
|
||||||
for (const date of dates) {
|
// ember-september-friday.yml's own Gregory homily (Lectio1-3) was
|
||||||
|
// recombined into a single reading -- it's one continuous, unbroken
|
||||||
|
// homily on the same pericope, split only to fill the fixed 3-lesson
|
||||||
|
// slot count, the same "source doesn't genuinely split" default
|
||||||
|
// post-pentecost-15.yml's own doc comment already establishes. The
|
||||||
|
// other 5 Ember days' own nocturn-readings files still keep their
|
||||||
|
// historical 3-way split (each with its own genuinely distinct
|
||||||
|
// responsory) -- not revisited here, out of scope for this fix.
|
||||||
|
const dates: [string, number][] = [
|
||||||
|
['2026-09-16', 3],
|
||||||
|
['2026-09-18', 1],
|
||||||
|
['2026-09-19', 3],
|
||||||
|
['2026-12-16', 3],
|
||||||
|
['2026-12-18', 3],
|
||||||
|
['2026-12-19', 3],
|
||||||
|
];
|
||||||
|
for (const [date, minLessons] of dates) {
|
||||||
const ordo = resolveOrdo('matins', date);
|
const ordo = resolveOrdo('matins', date);
|
||||||
const lessons = ordo.parts.filter((p) => p.kind === 'lesson') as {
|
const lessons = ordo.parts.filter((p) => p.kind === 'lesson') as {
|
||||||
text: { status: { en?: string } };
|
text: { status: { en?: string } };
|
||||||
responsory?: { text: { status: { en?: string } } };
|
responsory?: { text: { status: { en?: string } } };
|
||||||
}[];
|
}[];
|
||||||
const emberLessons = lessons.filter((l) => l.text.status.en === 'verified' && l.responsory !== undefined);
|
const emberLessons = lessons.filter((l) => l.text.status.en === 'verified' && l.responsory !== undefined);
|
||||||
expect(emberLessons.length).toBeGreaterThanOrEqual(3);
|
expect(emberLessons.length).toBeGreaterThanOrEqual(minLessons);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -54,10 +54,15 @@ describe('Lauds psalmody override (duplex-majus+ sanctoral, and Marian Saturday)
|
|||||||
const psalmNumbers = ordo.parts
|
const psalmNumbers = ordo.parts
|
||||||
.filter((p) => p.kind === 'psalm')
|
.filter((p) => p.kind === 'psalm')
|
||||||
.map((p) => (p.kind === 'psalm' ? p.psalmNumber : undefined));
|
.map((p) => (p.kind === 'psalm' ? p.psalmNumber : undefined));
|
||||||
expect(psalmNumbers).toEqual([66, 92, 99, 62, 148, 149, 150]);
|
// Ferial Saturday's own psalm numbers (50, 142), not the Common-of-
|
||||||
|
// BVM's proper set (92, 99, 62) -- corrected 2026-09-04, per direct
|
||||||
|
// instruction to keep the plain ferial psalmody and only swap the
|
||||||
|
// antiphons (see lauds-psalmody-overrides/marian-saturday.yml's own
|
||||||
|
// header).
|
||||||
|
expect(psalmNumbers).toEqual([66, 50, 142, 148, 149, 150]);
|
||||||
|
|
||||||
const ps92 = ordo.parts.find((p) => p.kind === 'psalm' && p.psalmNumber === 92);
|
const ps50 = ordo.parts.find((p) => p.kind === 'psalm' && p.psalmNumber === 50);
|
||||||
expect(ps92?.kind === 'psalm' ? ps92.antiphon?.text.la : undefined).toContain('Dum esset Rex');
|
expect(ps50?.kind === 'psalm' ? ps50.antiphon?.text.la : undefined).toContain('Dum esset Rex');
|
||||||
|
|
||||||
const benedictus = ordo.parts.find((p) => p.kind === 'canticle' && p.canticleId === 'benedictus');
|
const benedictus = ordo.parts.find((p) => p.kind === 'canticle' && p.canticleId === 'benedictus');
|
||||||
expect(benedictus?.kind === 'canticle' ? benedictus.antiphon?.text.la : undefined).toContain('Beáta Dei Génitrix');
|
expect(benedictus?.kind === 'canticle' ? benedictus.antiphon?.text.la : undefined).toContain('Beáta Dei Génitrix');
|
||||||
|
|||||||
@@ -774,7 +774,9 @@ describe('resolveOrdo("matins", ...) Assumption-octave hymn fallback (2026-08-22
|
|||||||
});
|
});
|
||||||
|
|
||||||
it("a plain ferial day outside the octave still gets the plain ferial hymn, unaffected", () => {
|
it("a plain ferial day outside the octave still gets the plain ferial hymn, unaffected", () => {
|
||||||
expect(hymnLatin(FERIAL_DATE)).toContain('Somno');
|
// FERIAL_DATE (2026-12-01) is a Tuesday -- see the identical note on
|
||||||
|
// the other FERIAL_DATE hymn assertion below.
|
||||||
|
expect(hymnLatin(FERIAL_DATE)).toContain('Consors patérni lúminis');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -1072,7 +1074,11 @@ describe('resolveOrdo("matins", ...) Common-of-an-Apostle hymn + invitatory (202
|
|||||||
});
|
});
|
||||||
|
|
||||||
it('a plain ferial day is unaffected -- still falls through to the plain ferial hymn and invitatory antiphon', () => {
|
it('a plain ferial day is unaffected -- still falls through to the plain ferial hymn and invitatory antiphon', () => {
|
||||||
expect(hymnLatin(FERIAL_DATE)).toContain('Somno');
|
// FERIAL_DATE (2026-12-01) is a Tuesday, so this is Tuesday's own
|
||||||
|
// ferial hymn ("Consors patérni lúminis") since 2026-09-04's weekday-
|
||||||
|
// specific hymn fix -- previously every weekday fell through to the
|
||||||
|
// same (mislabeled) Monday text ("Somno reféctis ártubus").
|
||||||
|
expect(hymnLatin(FERIAL_DATE)).toContain('Consors patérni lúminis');
|
||||||
expect(invitatoryFullLatin(FERIAL_DATE)).toContain('Veníte');
|
expect(invitatoryFullLatin(FERIAL_DATE)).toContain('Veníte');
|
||||||
expect(invitatoryFullLatin(FERIAL_DATE)).not.toContain('Regem Apostolórum');
|
expect(invitatoryFullLatin(FERIAL_DATE)).not.toContain('Regem Apostolórum');
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user