Compare commits
28 Commits
4864992cc0
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| f8bd7f3140 | |||
| 6ecd1485c4 | |||
| 9e66ad10e4 | |||
| dcea19015f | |||
| c98abaebb9 | |||
| 1d566ec6e0 | |||
| c2a15d94dd | |||
| 3ee87098c0 | |||
| e52c285f99 | |||
| 2b7495fc91 | |||
| afa187032b | |||
| d39359e5ac | |||
| 52052d737e | |||
| e96d201346 | |||
| 1867f73080 | |||
| ff87aff240 | |||
| c32fabb54d | |||
| f0b771a02a | |||
| 3b46a18d63 | |||
| 816dcadf0d | |||
| 7cee7a1e8a | |||
| 91dcc2c972 | |||
| a570266028 | |||
| 2a98386bdd | |||
| 58b201dc23 | |||
| b90789cab3 | |||
| 7551d205b7 | |||
| 25dc73da1f |
@@ -19,16 +19,12 @@ across every hour and content type in this app.
|
||||
|
||||
1. **Mechanism gaps** — a real design/code piece not built yet, blocking any content pass on
|
||||
it from starting:
|
||||
- Paschaltide should substitute the ordinary suffrages/ferial-Preces set with a single
|
||||
alleluia-form "Suffragium Paschale" — not modeled; the ordinary set is shown unchanged
|
||||
throughout Paschaltide instead.
|
||||
- (none currently open — the last one, Paschaltide's "Suffragium Paschale" substitution,
|
||||
was closed 2026-09-04, see the dated log below)
|
||||
|
||||
2. **Minimal-proof-done, bulk content pending** — mechanism is built and trusted (a proof
|
||||
date/entry already resolves correctly end-to-end); what's left is authoring/importing more
|
||||
content in that same shape across the rest of the calendar:
|
||||
- Matins sanctoral-side readings: the per-book Matins responsory pool has only one book
|
||||
seeded (`isa`) — needs expanding. Bible-plan TSV content also isn't yet in a test table
|
||||
(see "Bible-plan TSV — bulk conversion done" below).
|
||||
- Lauds/Vespers duplex-majus+ Common-category psalmody: all 24 `SaintRecord.common`
|
||||
categories are resolved (Vespers 10/10 real category files, Lauds 9/10 — see
|
||||
"Lauds/Vespers duplex-majus+ Common-category psalmody" below and its follow-up entry) with
|
||||
@@ -5630,3 +5626,638 @@ its own "outranks an active octave" test (previously asserted "Duplex I Class",
|
||||
now live-verified rank is Duplex II Class); `tests/calendar/transfer.test.ts`'s St. Felix I test
|
||||
(Trinity Sunday now the real winner on 2026-05-31, Queenship/post-pentecost-01/Pentecost's octave
|
||||
all commemorated in return). `npm test` (2025 passed) and `tsc --noEmit` both pass.
|
||||
|
||||
### Lent's remaining Vespers/Lauds draft content, verified (2026-09-04)
|
||||
|
||||
Closed the rest of the "Lent's own seasonal office bundle" gap flagged in the entry above the same
|
||||
day: `vespers-{capitulum,responsory,hymn,versicle}-lent.yml` and both hours' own
|
||||
`-doxology-per-annum` files were all real content, just never marked verified. Live-verified
|
||||
Vespers' own bundle against a plain Lenten Wednesday (2026-03-04) — Joel 2:17 chapter, "Scápulis
|
||||
suis obumbrábit tibi" responsory, "Audi, benígne Cónditor" hymn (including its own claimed Monastic
|
||||
word-swap, confirmed live), shared "Ángelis suis" versicle. `lauds-hymn-lent.yml`'s own content
|
||||
("Jam Christe sol justítiæ") and its doxology were already seen live earlier the same session (while
|
||||
checking `lauds-hymn-saturday.yml`'s real content against the same 2026-02-28 Lenten Ember Saturday
|
||||
date) — byte-identical, just needed the status flipped. All 8 files now `verified`; no more draft
|
||||
Lent content anywhere in this app. `npm test` (2025 passed) and `tsc --noEmit` both pass.
|
||||
|
||||
### Paschaltide's "Suffragium Paschale" mechanism (2026-09-04)
|
||||
|
||||
Closed the highest-priority remaining mechanism gap. Live-verified against Divinum Officium (both
|
||||
Monastic Tridentinum 1617 and Tridentine 1906, byte-identical between the two tracks — the source's
|
||||
own `[Suffragium]` macro literally has a `(sed tempore paschali) @:Suffragium Paschale` override,
|
||||
2026-04-20, a plain Eastertide feria): throughout the whole Paschaltide window (`eastertide`/
|
||||
`ascensiontide`/`pentecost` — the same boundary `PASCHALTIDE_SEASONS` already governs elsewhere in
|
||||
this store), two things happen whenever they'd otherwise show at all:
|
||||
|
||||
1. The ordinary 5-suffrage set (Cross/BVM/Joseph/Apostles/Peace) collapses into one single
|
||||
alleluia-form "Suffragium Paschale" block — one antiphon (different at Lauds, "Crucifíxus
|
||||
surréxit a mórtuis...", vs. Vespers, "Crucem sanctam súbiit...", unlike the ordinary 4/5
|
||||
suffrages, which share identical text at both hours), one shared versicle, one shared collect.
|
||||
2. The ferial-Preces litany (`lauds-preces-feriales`/`vespers-preces-feriales`, sourced from
|
||||
Tridentine 1906/1910 since Monastic 1617 has none at all — see that file's own header) drops
|
||||
entirely rather than being replaced by anything ("Preces Feriales{omittitur}" live) — a
|
||||
Sunday/feast's own short litany (`lauds-short-litany`) is untouched, a separate, universal
|
||||
collect-opening dialogue unrelated to this ferial-specific one.
|
||||
|
||||
Exported a new `isPaschaltide(season)` helper from `hours/resolve-common.ts` (wraps the existing
|
||||
`PASCHALTIDE_SEASONS` set, previously private to that file) and used it in both
|
||||
`resolveSuffrages` (gated after the pre-existing "omit suffrages entirely" checks — Double+/active
|
||||
octave/Advent-Christmastide-Passiontide already drop suffrages regardless of season, unaffected)
|
||||
and a new check in `hours/lauds.ts`'s/`hours/vespers.ts`'s own `'lauds-preces'`/`'vespers-preces'`
|
||||
cases (gated on `isFerialOrVigil(day)`, matching the existing predicate that already selects the
|
||||
ferial litany in the first place). `resolveSuffrages` gained a third `hourId: 'lauds' | 'vespers'`
|
||||
parameter (both call sites updated) to pick the right antiphon.
|
||||
|
||||
Authored `lauds-suffrage-paschale.yml` and `vespers-suffrage-paschale.yml` — English on the Vespers
|
||||
antiphon is this project's own translation and left `draft` (the reference engine's own English
|
||||
render leaves that one antiphon untranslated, Latin-only); everything else `verified`.
|
||||
|
||||
Verified end-to-end via `resolveOrdo` on real dates for Lauds (both the suffrage collapse and the
|
||||
Preces omission fire together correctly on a clean Eastertide feria, 2026-04-20) and via a direct
|
||||
`resolveSuffrages` unit call plus a separately-found clean Vespers evening (2026-04-15, since this
|
||||
particular stretch of Eastertide 2026 is otherwise densely packed with First-Vespers anticipations
|
||||
and octaves — Easter's own, the Patronage of St. Joseph's, Ascension's, Pentecost's — that already
|
||||
correctly suppress suffrages for other, pre-existing reasons and would have made a false negative
|
||||
look like a false positive). `npm test` (2025 passed, no pre-existing tests exercised this path at
|
||||
all) and `tsc --noEmit` both pass.
|
||||
|
||||
### Matins responsory pools: per-book expansion + new per-Common-category pool (2026-09-04)
|
||||
|
||||
User request: real Matins responsories for each Bible book (sourced from the reference engine),
|
||||
and for the patristic (Nocturn 2/3 homiletic) readings too. Investigation found the patristic side
|
||||
was a much bigger, previously-untracked gap than the per-book pool's own "expand beyond `isa`" item
|
||||
already on this list: 272 of 355 `data/propers/nocturn-readings/*.yml` files have no `responsory`
|
||||
field at all — most of the calendar, not a handful of stragglers.
|
||||
|
||||
**Per-book pool** (`data/hours/matins-responsories-by-book.yml`): added `gen` (2 entries, Latin/
|
||||
Tempora/Quadp1-1.txt — Monday of Septuagesima week, the historical start of the Genesis "Historia"
|
||||
cycle, a plain ferial with no overriding feast; only 2 entries because the source's own English
|
||||
translation is missing a 3rd) and `jer` (3 entries, Latin/Tempora/Quad6-2.txt — Tuesday of Holy
|
||||
Week, "Feria privilegiata," genuine ferial Jeremiah/Lamentations content). Deliberately did *not*
|
||||
seed `jer` from Pent02-5.txt despite it citing Jeremiah too — that day's Rank is Sacred Heart
|
||||
(Duplex I classis), so its Responsory1-3 are the feast's own proper text, not genuine ferial-book
|
||||
content, even though its Lectio verses are borrowed from Jeremiah. Still only 3 of 72 books used
|
||||
in the user's own bible-plan seeded (`isa`, `gen`, `jer`) — the rest is deferred bulk content, one
|
||||
real live-sourced query per book, same pattern.
|
||||
|
||||
**New per-Common-category pool** (`data/hours/matins-responsories-by-common.yml` +
|
||||
`getResponsoryForCommon` in `src/propers/matins-responsories.ts`, sibling to the existing
|
||||
`getResponsoryForBook`): keyed by `SaintRecord.common` instead of a scripture book, same "loose
|
||||
match, cycle by index" design. Unlike the per-book pool (scattered one query per book, across the
|
||||
whole liturgical year), a Commune category's responsories live in one static file each
|
||||
(`divinum-officium-reference`'s `web/www/horas/{Latin,English}/Commune/CN.txt`) — 9 files
|
||||
(`C1`-`C8`, `C11`) transcribed directly, cover all 19 of vu's real `common:` category ids (several
|
||||
are genuine aliases, confirmed by reading each candidate file's own `@Commune/CX` inheritance line
|
||||
rather than guessed — e.g. `common-of-a-confessor-doctor`/`-pope` inherit C4 unchanged, same pool
|
||||
as `common-of-a-confessor-bishop`; `common-of-an-abbot`/`-not-bishop`/`several-confessors` inherit
|
||||
C5 unchanged; `common-of-a-martyr` inherits C2 unchanged; `common-of-a-virgin` inherits C6
|
||||
unchanged; `common-of-a-widow`/`several-women-martyrs` inherit C7 unchanged — see the data file's
|
||||
own header for the full mapping). Not seeded: `common-of-an-angel`/`-an-evangelist`/`-a-vigil` and
|
||||
the `proper-to-*` ids — none of these are real Commune categories with a responsory file to source
|
||||
from (angels/evangelists have their own proper content instead).
|
||||
|
||||
Wired into `hours/matins.ts`'s `nocturnReadingPart`/`gospelReadingPart`: when a reading's own
|
||||
`responsory` field is absent, falls back to `getResponsoryForCommon(getSaintRecord(id)?.common,
|
||||
index)` — `index` is the reading's position within that same id's own file (a new `commonPoolIndex`
|
||||
counter in `buildReadingPool`'s assembly loop), so a saint with several undated readings still gets
|
||||
distinct responsories across them rather than the pool's first entry repeated. A temporal/octave id
|
||||
(no `common` category) still correctly gets `undefined` — an honest absence, not a wrong guess.
|
||||
|
||||
Live-verified end-to-end via `resolveOrdo`: St. Francis de Sales (2026-01-29, `common-of-a-
|
||||
confessor-bishop`, previously responsory-less) now resolves a real Nocturn 3 responsory; Ss.
|
||||
Cornelius and Cyprian plus Ss. Euphemia, Lucy, and Geminianus (both on 2026-09-16, both `common-
|
||||
of-several-martyrs`) each resolve their own responsory from the same pool, confirming the
|
||||
per-saint-file cycling index doesn't leak across different saints sharing a day. `npm test` (2025
|
||||
passed) and `tsc --noEmit` both pass.
|
||||
|
||||
### Matins responsory pools: 8 more books seeded (2026-09-04)
|
||||
|
||||
Follow-up to the same-day entry above, continuing the per-book pool's bulk-content pass — same
|
||||
"one real source per book" method, no mechanism changes. Added `exod` (Latin/Tempora/Quad4-0.txt,
|
||||
Sunday IV in Lent, its own ordinary rank — the burning bush through the Song of the Sea), `prov`
|
||||
(081-1.txt, August week 1's own ferial), `tob` (093-0.txt, September week 3's own Sunday), `ezek`
|
||||
(111-1.txt, November week 1's own ferial), and `1macc` (101-1.txt, October week 1's own ferial) —
|
||||
all bilingual, all genuinely their own book's content, no overriding rank.
|
||||
|
||||
Also added `sir` and `sap` (identical to `prov`'s own entries) and `dan` (identical to `ezek`'s) —
|
||||
not guessed reuse, confirmed by reading each week's own reference-engine file: the August "Wisdom
|
||||
literature" weeks (081 Prov, 083 Sap, 084-085 Sir) and the November "prophetic" weeks (111 Ezek,
|
||||
113 Dan) `@`-reference *the same* underlying responsory set regardless of which specific book that
|
||||
week's Lectio actually reads that day — a real confirmation, from the reference engine's own data,
|
||||
that this app's "loose, book-level match, not exact-citation" responsory design (see the pool's own
|
||||
header, and the 2026-08 user direction it's sourced from) matches how these responsories genuinely
|
||||
worked historically, not an invention to paper over a smaller pool.
|
||||
|
||||
Skipped, deliberately: `1sam` (1 Reg) — every Pent01 week file's responsories are macro references
|
||||
(`@:Responsory1_ (sed rubrica cisterciensis) ...`, `[Rule] Initia cum responsory`) rather than
|
||||
literal text, needing the base macro template resolved with per-file substitutions to get real
|
||||
text; not worth the complexity for one book this pass. `2sam`/`1kgs`/`2kgs`/`2macc` (2/3/4 Reg, 2
|
||||
Mac) — real Latin responsories exist in every week's own file, but the reference engine's own
|
||||
English translation is entirely absent for all of them (checked every Post-Pentecost week each book
|
||||
appears in); left unseeded rather than guessing a translation, consistent with only seeding books
|
||||
that have real bilingual source text. `zach`/`amos`/`agg` (minor prophets) — same English-translation
|
||||
gap, but Latin is real and available (Latin/Tempora/114-4.txt, 115-4.txt, 115-5.txt) if a future
|
||||
pass wants to add an own-translation draft English side (see `vu-prefer-text-over-missing` memory
|
||||
for the precedent).
|
||||
|
||||
Now 11 of 72 bible-plan books seeded: `isa`, `gen`, `jer`, `exod`, `prov`, `sir`, `sap`, `tob`,
|
||||
`ezek`, `dan`, `1macc`. `npm test` (2025 passed) and `tsc --noEmit` both pass; live-verified via
|
||||
`getResponsoryForBook` resolving real text for every new key.
|
||||
|
||||
### Matins responsory pools: a real extraction bug found, 8 more books unblocked (2026-09-04)
|
||||
|
||||
User pushback on the previous entry's "5 books skipped, no English available" claim ("look at the
|
||||
secular office for most of the books") — right call: re-checking found a genuine bug, not a real
|
||||
source gap. The extraction script's Responsory-block regex only matched a bare `[ResponsoryN]` tag;
|
||||
it missed the reference engine's own `[ResponsoryN_]` convention (an underscore-suffixed literal
|
||||
template tag holding the real text, which a plain `[ResponsoryN]` often just `@:`-references
|
||||
alongside a Cistercian-rubric variant) — so every file using that convention looked like it had no
|
||||
English translation when the real text was sitting right there under a different tag name. Fixed
|
||||
the script to prefer the `_`-suffixed tag's literal body over a bare `@:`-reference.
|
||||
|
||||
This unblocked `1sam` (Latin/Tempora/Pent01-1.txt, its own genuine 3-entry set — the young Samuel's
|
||||
call and consecration) outright. Chasing the `@Tempora/X:ResponsoryN` cross-file references (not
|
||||
resolved by the extraction script, hand-followed instead) also unblocked:
|
||||
- `2sam`/`1kgs`/`2kgs` (2/3/4 Reg) — all three books' own week files `@`-reference the *same*
|
||||
single entry, Tempora/Pent03-1Feria's Responsory1 (2 Samuel 24's census/plague narrative,
|
||||
"Recordáre, Dómine, testaménti tui") — read directly, not guessed, same "loose match" reuse
|
||||
pattern already established for the Wisdom-literature and Ezekiel/Daniel weeks. One entry only;
|
||||
Responsory2/3 chain further references not followed this pass.
|
||||
- `2macc` — reuses `1macc`'s own 3-entry set outright (Tempora/104-1 `@`-references Tempora/101-1).
|
||||
- `zach` (Tempora/115-5, itself referencing 111-0's Responsory4-6 — Ezekiel's own Sunday, distinct
|
||||
from `ezek`/`dan`'s own Monday-sourced entries) and `amos`/`agg` (both referencing Tempora/
|
||||
Pent01-0's Responsory1 — Isaiah's throne-vision — plus 111-0's Responsory2-3) — all three
|
||||
minor-prophet books previously assumed to have no reference-engine English at all; that was true
|
||||
of their *own* week files in isolation, but false once their `@`-references were actually
|
||||
followed.
|
||||
|
||||
19 of 72 bible-plan books now seeded (added this pass: `1sam`, `2sam`, `1kgs`, `2kgs`, `2macc`,
|
||||
`zach`, `amos`, `agg`). `npm test` (2025 passed) and `tsc --noEmit` both pass; live-verified via
|
||||
`getResponsoryForBook` resolving real text for every new key, at every pool index (not just index
|
||||
0) for the 3-entry sets.
|
||||
|
||||
Still genuinely unseeded after this pass — real gaps, re-confirmed: books with no reference-engine
|
||||
citation anywhere in Tempora at all (Josue, Judices, Ruth, Paralipomenon/Chronicles, Esdras/
|
||||
Nehemias, Canticles — the historic secular/monastic Historia cycle apparently never assigns these
|
||||
their own continuous reading), and the remaining ~45 New Testament epistle/Acts/Apocalypse books
|
||||
plus minor books not yet attempted.
|
||||
|
||||
### Matins responsory pools: 12 more OT books, and 2 real process misses caught (2026-09-04)
|
||||
|
||||
User caught two things this pass, neither of them a source gap:
|
||||
|
||||
1. Directly pointed at `web/www/horas/English/Tempora/094-3.txt` and asked why Judith ("jdt") was
|
||||
listed as unseeded when it plainly has real responsory content. Checking confirmed it — worse,
|
||||
`jdt` and `esth` (Esther) had *both* already surfaced in this same day's own full-citation dump
|
||||
of Tempora (`!Jdt`, `!Esth` were right there in the list) and were simply never followed up on.
|
||||
Not a search-methodology gap this time, an attention gap: the data was already in hand.
|
||||
2. Self-audit prompted by that catch found a second, independent miss: `job` — one of the
|
||||
heaviest-used books in the bible-plan (42 rows) — had been extracted early in this same day's
|
||||
session (Latin/Tempora/091-1.txt, the classic "Job Responsories," also used in the Requiem) but
|
||||
never actually committed to the pool file at all. Sourced, verified, then silently dropped.
|
||||
|
||||
Fixed both, then used the same "reused across a whole prophetic-literature week" pattern already
|
||||
established for `ezek`/`dan`/`zach` to sweep the rest of November's minor prophets efficiently by
|
||||
following each book's own `@Tempora/X:ResponsoryN` reference rather than re-querying from scratch:
|
||||
`obad` (reuses `zach`'s own R1), `jonah`/`mal` (share one entry, Tempora/111-0:R7), `hos`/`nah`
|
||||
(reuse `ezek`/`dan`'s own R1), `mic` (reuses `amos`/`agg`'s own R1), `hab`/`joel` (share one entry,
|
||||
Tempora/111-2:R1), `zeph` (Tempora/111-3:R1, its own). Also added `eccl` (Tempora/081-2:R1, the
|
||||
same August "Wisdom literature" week cluster as `prov`/`sir`/`sap`, a different entry than
|
||||
`prov`'s own) and `lam` (Latin/Tempora/Quad6-4.txt — Maundy Thursday's own Tenebrae Matins, the
|
||||
classic "In monte Oliveti"/"Tristis est anima mea"/"Ecce vidimus eum" responsories; unlike the
|
||||
Sacred Heart/Jeremiah override case above, Holy Week's own high rank isn't an unrelated feast
|
||||
displacing ordinary content here — Tenebrae's Lamentations reading is intrinsically Holy Week's
|
||||
own, so no override caution applied).
|
||||
|
||||
33 of 72 bible-plan books now seeded (added this pass: `jdt`, `esth`, `job`, `eccl`, `hab`, `joel`,
|
||||
`zeph`, `obad`, `jonah`, `mal`, `hos`, `mic`, `nah`, `lam` — 14 new). `npm test` (2025 passed) and
|
||||
`tsc --noEmit` both pass; live-verified via `getResponsoryForBook` resolving real text for every
|
||||
new key.
|
||||
|
||||
Confirmed still genuinely absent (re-checked directly, not just re-asserted): `bar` (Baruch),
|
||||
Josue, Judices, Ruth, Paralipomenon/Chronicles, Esdras/Nehemias, Canticles — no citation anywhere
|
||||
in Tempora. 39 remaining books not yet attempted: Leviticus/Numbers/Deuteronomy, the four Gospels,
|
||||
Acts, Apocalypse, and the NT epistles.
|
||||
|
||||
### Matins responsory pools: real key-alias bug found and fixed (2026-09-04)
|
||||
|
||||
A serious correctness bug, found by re-verifying through the *real* pipeline rather than trusting
|
||||
the earlier direct-function-call "live verification": `bible-plan.ts` normalizes a reading's book
|
||||
through `canonicalBook()` (`scripture/index.ts`'s `BOOK_ALIASES` map) *before* calling
|
||||
`getResponsoryForBook` — so the pool must be keyed by the canonical form, not the bible-plan TSV's
|
||||
own raw book code, whenever the two differ. 12 of this same day's 33 seeded keys used the raw form
|
||||
instead: `1macc`/`2macc` (canonical `1mach`/`2mach`), `1sam`/`2sam`/`1kgs`/`2kgs` (`1reg`/`2reg`/
|
||||
`3reg`/`4reg`), `jdt` (`jdth`), `zeph` (`soph`), `obad` (`abd`), `jonah` (`jon`), `hos` (`osee`),
|
||||
`mic` (`mich`) — every one of these would have silently resolved to `undefined` in the real app
|
||||
despite passing this same day's own "live-verified" test, because that test called
|
||||
`getResponsoryForBook` directly with the raw code, bypassing the normalization the real call site
|
||||
always applies. Renamed all 12 keys (and their own header comments) to the canonical form.
|
||||
Re-verified this time through the actual `getBiblePlanReadings` call site (not a direct
|
||||
`getResponsoryForBook` call) on a real date (2026-06-04, `post-pentecost-01`/Thursday, `1sam 9-10`)
|
||||
— confirms a real responsory now resolves where it silently wouldn't have before this fix. `npm
|
||||
test` (2025 passed) and `tsc --noEmit` both pass.
|
||||
|
||||
**Lesson for future sourcing passes**: when a book has a `BOOK_ALIASES` entry, the pool key is the
|
||||
*alias target*, not the bible-plan YAML's own book code — check `scripture/index.ts`'s
|
||||
`BOOK_ALIASES` map before choosing a key, and verify through `getBiblePlanReadings`/`resolveOrdo`
|
||||
(the real call chain), not a direct, unnormalized call to `getResponsoryForBook`.
|
||||
|
||||
### Matins responsory pools: NT books (Acts, Apocalypse, James, Hebrews, the 4 Gospels) (2026-09-04)
|
||||
|
||||
Continuing the same bulk-sourcing pass, applying the previous entry's own lesson from the start
|
||||
this time (canonical keys, pipeline-verified). Surveyed the whole reference engine's own citation
|
||||
set precisely (an `awk` one-liner reading the line *after* every `[LectioN]` tag, following two
|
||||
lines deep for Gospel entries whose citation sits below a "Léctio sancti Evangélii secúndum..."
|
||||
line) rather than grepping loosely for a book prefix — the loose approach had already produced one
|
||||
false positive this session (`Rom` matching a Lauds Capitulum, not a real Matins Lectio).
|
||||
|
||||
Added, all bilingual, all real Nocturn responsories:
|
||||
- `act` (Ascension Day's own Matins, Latin/Tempora/Pasc5-4.txt) and `marc` (Easter Sunday's own
|
||||
Matins, Pasc0-0.txt) — both high-ranked feast days, but genuinely proper content (Ascension's
|
||||
own Nocturn 1 *is* Acts 1; Easter's *is* Mark 16), not an unrelated override like the Sacred
|
||||
Heart/Jeremiah case — same reasoning already used for `lam`.
|
||||
- `heb` (Good Friday's own Tenebrae Matins, Quad6-5.txt) — same reasoning again, Passion-narrative
|
||||
responsories ("Omnes amici mei," "Velum templi scissum est").
|
||||
- `apoc` (Easter III Sunday, its own ordinary rank, Pasc3-0.txt) and `jas` (Easter IV Sunday,
|
||||
Pasc4-0.txt) — genuine Paschaltide Sunday responsory sets, not thematically tied to Apocalypse/
|
||||
James specifically (a generic Alleluia-form psalm-based set), same "loose match" convention as
|
||||
everywhere else in this pool.
|
||||
- `luc`/`matt`/`joan` (Advent I/II/III Sundays, Adv1-0/Adv2-0/Adv3-0.txt) — each Gospel's own
|
||||
reading week, generic Advent-themed responsories, only 1 entry each (a second Sunday's own set
|
||||
wasn't chased down this pass).
|
||||
|
||||
41 of 72 bible-plan books now seeded. `npm test` (2025 passed) and `tsc --noEmit` both pass;
|
||||
live-verified through the real `getBiblePlanReadings` call chain this time (not a direct
|
||||
`getResponsoryForBook` call) — `easter-3`/Monday (`act`, `joan` via the `john`→`joan` alias),
|
||||
`post-pentecost-01`/Saturday (`1sam` via alias, `prov`, `matt`), and a calendar-dated Jan 10 row
|
||||
(`heb`) all resolve real responsory text; `Deut` correctly still resolves `undefined` (genuinely
|
||||
unseeded, confirmed absent from Tempora entirely).
|
||||
|
||||
Confirmed no English exists anywhere in the reference engine for Galatians/Ephesians/Philippians/
|
||||
Colossians/Titus/Philemon (the whole post-Epiphany reading season) or Romans (the Christmas-Octave
|
||||
season) — real Latin text exists for all of these, just no bilingual source; left unseeded rather
|
||||
than own-translating six-plus books in one pass. 32 books remain (9 of them the already-confirmed-
|
||||
genuinely-absent `bar`/Josue/Judices/Ruth/Chronicles/Esdras-Nehemias/Canticles): Leviticus/
|
||||
Numbers/Deuteronomy, Romans, 1-2 Corinthians, Galatians, Ephesians, Philippians, Colossians, 1-2
|
||||
Thessalonians, 1-2 Timothy, Titus, Philemon, 1-2 Peter, 1-3 John, Jude not yet attempted.
|
||||
|
||||
### Matins responsory pools: last real batch (1 Cor, 2 Cor, 1 Peter, 1 John), a repeated key bug (2026-09-04)
|
||||
|
||||
Confirmed Leviticus/Numbers/Deuteronomy genuinely absent from Tempora (re-checked precisely with
|
||||
the `awk`-based Lectio-citation survey, not a loose grep — no hit under any Latin form of the
|
||||
book's name). Added `1cor` (Maundy Thursday's own Nocturn 3, Latin/Tempora/Quad6-4.txt
|
||||
Responsory7-9 — the Institution narrative, distinct from that same file's Responsory1-3 already
|
||||
used for `lam`), `2cor` (Epiphany II Sunday, its own ordinary rank, Epi2-0.txt), `1pet` (1 Peter's
|
||||
own reading week `@`-references the ordinary Paschaltide Sunday psalm-set already used for `jac`
|
||||
below — R4-6 of that same Pasc4-0.txt), and `1joan` (Sunday within the Ascension Octave, Pasc6-0.txt,
|
||||
the Paraclete responsory, only 1 entry).
|
||||
|
||||
**A repeated mistake, caught by self-audit this time**: the previous entry's `jas` key was wrong —
|
||||
same bug as the 12-key fix two entries up. `BOOK_ALIASES` maps bible-plan's `jas` to canonical
|
||||
`jac`; the pool needed `jac:`, not `jas:`. Fixed, and re-verified through `getBiblePlanReadings`
|
||||
(not a direct call) on `easter-6`/Monday, 2026-05-11 (`Jas 2` now resolves a real responsory).
|
||||
**Ran a full audit this time**: checked every single current pool key against `BOOK_ALIASES`
|
||||
programmatically (not just the ones touched this pass) — confirmed clean, zero raw-alias-source
|
||||
keys remain anywhere in the file.
|
||||
|
||||
45 of 72 bible-plan books now seeded. `npm test` (2025 passed) and `tsc --noEmit` both pass.
|
||||
|
||||
Remaining 27, none easily gettable this pass: 12 confirmed genuinely absent from the reference
|
||||
source (`bar`, Canticles, Joshua, Judges, Ruth, 1-2 Chronicles, Ezra, Nehemiah, Leviticus, Numbers,
|
||||
Deuteronomy); 15 with real Latin but no reference-engine English anywhere (Romans, Galatians,
|
||||
Ephesians, Philippians, Colossians, Titus, Philemon, 2 Thessalonians, 2 Timothy, 2 Peter, 2-3 John,
|
||||
Jude). Own-translating any of these would be the next step, if wanted — not attempted here per the
|
||||
established "only seed real bilingual source" pattern.
|
||||
|
||||
### Matins responsory pools: the "untranslated 15" turned out mostly already bilingual (2026-09-04)
|
||||
|
||||
Asked to translate the 15 "real Latin, no English" books. Before translating anything, re-checked
|
||||
each one's own `@Tempora/X:ResponsoryN` reference chain (the same technique that unblocked 8 books
|
||||
earlier the same day) — and found the whole post-Epiphany "ordinary time" reading season (weeks
|
||||
3-5, covering Galatians/Ephesians/Philippians/Colossians/1-2 Timothy/Titus/Philemon/2
|
||||
Thessalonians) doesn't have its own distinct responsory content at all: every one of its 21 feria
|
||||
files `@`-references 2 Corinthians' own week (Epi2-0 through Epi2-6, already fully bilingual from
|
||||
earlier this same day) by weekday position. Confirmed by reading every week-3/4/5 feria file's own
|
||||
`@`-line directly, not guessed. Same story for 2 Peter, 2-3 John, and Jude — all four `@`-reference
|
||||
Ascension Day's own responsories (already seeded as `act`). **None of these 12 books needed any
|
||||
translation at all** — added `gal`/`phil`/`1tim` (share Epi2-1), `col`/`2tim` (share Epi2-2),
|
||||
`eph` (Epi2-3), `1thess`/`tit` (share Epi2-4), `2thess`/`phlm` (share Epi2-6), `2pet`/`2joan`/
|
||||
`3joan` (share `act`'s R1), `jud` (`act`'s R7) — all real, already-transcribed bilingual text.
|
||||
|
||||
Also fixed a real, separate bug the user caught by eye in the rendered app: `getResponsoryForBook`'s
|
||||
`joinResponsory` concatenated the pool's `r`/`v` text with a bare newline and no "R."/"V." labels
|
||||
at all — every other responsory source in the app (`octave-readings.ts`'s own `responsory` field,
|
||||
every `nocturn-readings/*.yml`'s inline `responsory`, and the new per-Common-category pool) uses
|
||||
the full "R. ...\n* ...\nV. ...\nR. ..." convention. Fixed by computing the repeat line from the
|
||||
`*` marker already present in the pool's own `r` text (a separate commit, `1867f73`, before this
|
||||
content pass).
|
||||
|
||||
**Only `rom` (Romans) turned out to have no content to translate at all**, on inspection — re-
|
||||
checked every one of its 15 citing files (all in the Christmas-Octave `Nat0X` range): every single
|
||||
one `@`-references an unrelated feast's own proper responsory (Circumcision, Christmas Day, or a
|
||||
January 7 saint), never anything Romans-specific, standalone or borrowed. There's no genuine
|
||||
"Romans content" anywhere in this reference source to translate, sourced or original — using one of
|
||||
these borrowed responsories would repeat the Sacred Heart/Jeremiah mismatch this file already
|
||||
avoids elsewhere. Left `rom` unseeded; it would need an entirely original composition, not a
|
||||
translation, if ever wanted.
|
||||
|
||||
59 of 72 bible-plan books now seeded — every book with any genuinely usable Latin at all. The
|
||||
remaining 13 (`rom` plus the 12 already-confirmed-absent books) are the real, final gap: `rom` has
|
||||
no book-specific content anywhere in this source; the other 12 have no citation anywhere at all.
|
||||
Ran the full canonical-key audit again (programmatic check against `BOOK_ALIASES`, per the
|
||||
established lesson) — confirmed clean. `npm test` (2025 passed) and `tsc --noEmit` both pass;
|
||||
live-verified through `getBiblePlanReadings` (`post-epiphany-3`/Wednesday `Gal`, `post-epiphany-5`/
|
||||
Monday `1tim`, `sunday-after-ascension`/Saturday `Jude` all resolve real responsory text; `Ruth`
|
||||
correctly still resolves `undefined`).
|
||||
|
||||
### Matins responsory pools: `cant` (Canticles) found in the Sancti files, not Tempora (2026-09-05)
|
||||
|
||||
User pushback on `cant` being listed "confirmed genuinely absent": right instinct to check the
|
||||
Commune files specifically — Canticles/Song of Songs imagery is heavily used in Marian propers.
|
||||
Checked `Latin/Commune/C12.txt` (the Little Office of the BVM) directly: it does cite `!Cant 6:8`,
|
||||
but only as a Lauds Capitulum, not a Matins Nocturn lesson — Capitula don't carry their own
|
||||
9-Responsory structure, and C12's actual Lectio1-3 are Sirach 24, not Canticles (matching this
|
||||
pool's existing `common-of-the-bvm` sourcing). So the Commune search itself came up empty for a
|
||||
genuine Matins responsory — but it redirected the search productively: checked `Sancti/` (individual
|
||||
saint/feast files) with the same `awk` Lectio-citation survey used for Tempora, and found real
|
||||
`!Cant` Nocturn lessons on the Visitation (July 2) and throughout the Assumption Octave
|
||||
(Sancti/08-15t through 08-22t) — the historic BVM feasts that read straight through the Song of
|
||||
Songs. Only the Visitation's own file (`07-02.txt`) has both languages; the Assumption Octave days
|
||||
have real Latin but no English anywhere.
|
||||
|
||||
Added `cant`, sourced from `Sancti/07-02.txt` — genuinely Canticles-sourced responsories that
|
||||
directly blend Song of Songs verses with the Visitation narrative itself ("Surge, própera, amíca
|
||||
mea... Intrávit María in domum Zacharíæ"), not a borrowed-unrelated-feast mismatch.
|
||||
|
||||
60 of 72 bible-plan books now seeded. `npm test` (2025 passed) and `tsc --noEmit` both pass;
|
||||
live-verified through `getBiblePlanReadings` (a Dec 27 calendar-dated row resolves real `Cant 3`
|
||||
responsory text). Canonical-key audit re-run, clean (`cant` has no `BOOK_ALIASES` entry).
|
||||
|
||||
Prompted by finding `cant` in Sancti, re-checked the other 11 already-confirmed-absent books
|
||||
against Sancti too (not just Tempora) — found 2 more: `lev` (Leviticus, `Sancti/02-02.txt`, the
|
||||
Purification of the BVM — its own Leviticus purification-law reading is the feast's actual reason
|
||||
for being) and `num` (Numbers, `Sancti/09-14.txt`, the Exaltation of the Holy Cross — the
|
||||
bronze-serpent/Cross typology, Num 21:6-9, only 1 entry). Both genuine thematic matches, not
|
||||
borrowed-unrelated content. The other 9 (`bar`, Josue, Judices, Ruth, 1-2 Chronicles, Ezra,
|
||||
Nehemiah, Deuteronomy) checked against the reference engine's own full Sancti citation list —
|
||||
confirmed still absent, no alternate abbreviation missed.
|
||||
|
||||
62 of 72 bible-plan books now seeded — the real final count. `npm test` (2025 passed) and
|
||||
`tsc --noEmit` both pass; live-verified through `getBiblePlanReadings` (`lent-3`/Sunday resolves
|
||||
real `Lev 1` responsory text, `palm-sunday`/Sunday resolves real `Num 25-27` text). Canonical-key
|
||||
audit re-run, clean. Remaining 10, the true final gap: `rom` plus 9 books with no citation
|
||||
anywhere in Tempora or Sancti (`bar`, Josue, Judices, Ruth, 1-2 Chronicles, Ezra, Nehemiah,
|
||||
Deuteronomy).
|
||||
|
||||
### Advent reading-plan carryover into Christmastide (2026-09-05)
|
||||
|
||||
User-flagged wrinkle in `data/hours/bible-plan/*.yml`'s own Isaiah plan: it's authored as a full
|
||||
4-week Advent (`advent-1-sunday` through `advent-4-saturday`, 28 rows), but real Advent is never
|
||||
that long. Advent's last real day is always Dec 23 (Dec 24 is the Vigil of Christmas's own
|
||||
temporal id, `calendar/temporal-id.ts`), while Advent 1 Sunday itself — the Sunday nearest Nov 30
|
||||
— falls anywhere from Nov 27 to Dec 3. Even the *longest* possible Advent (Nov 27, 27 real days)
|
||||
is one short of the full 28-row plan; the *shortest* (Dec 3, 21 real days) is a whole week short.
|
||||
Every single year, at least the plan's last row never lands on its own natural date — not just
|
||||
"most years," as the request first put it.
|
||||
|
||||
Fixed in `propers/bible-plan.ts`'s new `adventCarryoverReadings`: whatever doesn't land on its own
|
||||
natural date now carries forward one reading per day starting Christmas Day itself, pooled
|
||||
alongside whatever Christmastide's own calendar-dated rows already have for that day (never
|
||||
replacing them) — same "every contributing source pools, none override" design already used
|
||||
throughout this file and `hours/matins.ts`'s own reading-pool assembly. Computed live from
|
||||
`calendar/temporal.ts`'s `adventStart(year)` for each date's own year (the one place in this file
|
||||
that needs real calendar-year awareness, since every other lookup here is year-independent); no
|
||||
new content authoring needed, since the Isaiah rows were already there, just never reachable on
|
||||
their own natural date in a short year.
|
||||
|
||||
User's own framing accepted as the trade-off: "for advent only, we need to show all of those
|
||||
chapters" — i.e. every planned reading should surface somewhere, even if that means spilling into
|
||||
Christmastide, rather than silently dropping the tail end of a short year's Advent plan.
|
||||
|
||||
Live-verified across the full spread of possible Advent-1-Sunday dates (`adventStart` for
|
||||
2020-2035 spans exactly the Nov 27 - Dec 3 range): 2028 (Advent 1 Sunday = Dec 3, the latest/
|
||||
shortest case) carries all 7 of week 4's Isaiah readings forward across Dec 25-31 in order; 2027/
|
||||
2032 (Advent 1 Sunday = Nov 28, near-earliest/longest) carry only the last 2. Added 4 permanent
|
||||
tests to `tests/propers/bible-plan.test.ts` covering both extremes, the pooling-not-replacing
|
||||
behavior, and that nothing carries over before Christmas Day itself. `npm test` (2029 passed,
|
||||
+4 new) and `tsc --noEmit` both pass.
|
||||
|
||||
### Matins responsory pools: `deut` — the first genuine original composition, not a transcription (2026-09-05)
|
||||
|
||||
User found a real lead while reading a patristic homily (`English/Sancti/01-02.txt`, on Matt
|
||||
23:37 "O Jerusalem, Jerusalem"): it quotes Deut 32:11's eagle image in passing ("as also it is
|
||||
written... an eagle stirreth up her nest... spreadeth abroad her wings"). Confirmed the verse
|
||||
number against `data/scripture/deut-32.yml`'s own `n: 11` — genuinely Deut 32:11 in standard
|
||||
citation, not the breviary's own internal chant-verse-numbering for the same text (which splits
|
||||
it as 32:15-16 in `Latin/Psalterium/Psalmorum/Psalm226.txt`, the real Canticle of Moses sung at
|
||||
Lauds — that file supplied real, properly accented liturgical Latin and its English counterpart
|
||||
gave the matching translation, so no accentuation had to be guessed).
|
||||
|
||||
Unlike every other entry in this pool, Deuteronomy genuinely has no historical Matins responsory
|
||||
anywhere in the reference source (confirmed absent from both Tempora and Sancti in the two prior
|
||||
entries) — so this one is composed, not transcribed: a real R./V. pairing built entirely from
|
||||
that same canticle's own genuine verses (32:15's eagle image as the R., 32:13-14's "apple of his
|
||||
eye" as the V.), verbatim text, not paraphrased or invented, just newly paired. Documented plainly
|
||||
in the data file's own header comment as vu's own composition rather than presented as a
|
||||
historically-attested responsory, matching this project's "not a reconstruction" ethos.
|
||||
|
||||
63 of 72 bible-plan books now seeded (`deut` added). `npm test` (2029 passed) and `tsc --noEmit`
|
||||
both pass; live-verified through `getBiblePlanReadings` (`easter-3`/Saturday resolves the real,
|
||||
properly R./V.-formatted text for `Deut 33-34`). Canonical-key audit re-run, clean (`deut` has no
|
||||
`BOOK_ALIASES` entry).
|
||||
|
||||
### Matins responsory pools: `rom` — the second (and last) original composition (2026-09-05)
|
||||
|
||||
Asked directly for thoughts on Romans, the one book with real citations but no usable Matins
|
||||
content anywhere (every citing file borrows an unrelated feast's own proper responsory — Christmas
|
||||
Day, Circumcision, or a January 7 saint). Same approach as `deut`: composed rather than
|
||||
transcribed, but built from real, already-liturgical text rather than invented — Rom 13:11-12
|
||||
("the night is past, the day is at hand... let us cast off the works of darkness, and put on the
|
||||
armour of light") is the standing year-round ferial Lauds Capitulum
|
||||
(`Latin/Psalterium/Special/Major Special.txt`'s own "Feria Laudes") and is used again at Advent
|
||||
I's own Capitulum (`Tempora/Adv1-0.txt`) — genuine accented Vulgate/Douay-Rheims text, just never
|
||||
combined into its own 9-lesson Matins responsory set the way every other book in this pool was.
|
||||
User-confirmed before adding.
|
||||
|
||||
**64 of 72 bible-plan books now seeded — every book actually used in the user's own bible-plan has
|
||||
a real responsory, whether transcribed (62) or composed from genuine liturgical text (`deut`,
|
||||
`rom`).** The remaining 8 are the true, final, unclosable gap: books with no citation anywhere in
|
||||
Tempora or Sancti at all (`bar`, Josue, Judices, Ruth, 1-2 Chronicles, Ezra, Nehemiah) — there's no
|
||||
comparable "already-liturgical, just never assembled into a responsory" text to build from for any
|
||||
of these, since they're never quoted or read in the Office at all, historically. `npm test` (2029
|
||||
passed) and `tsc --noEmit` both pass; live-verified through `getBiblePlanReadings` (a Jan 1
|
||||
calendar-dated row resolves real, correctly R./V.-formatted text for `Rom 7-8`). Canonical-key
|
||||
audit re-run, clean.
|
||||
|
||||
### Matins responsory pools: `bar` found in the Missa, not the Horas (2026-09-05)
|
||||
|
||||
The "closes the pool" claim above turned out premature by one book. User pointed to
|
||||
`missa/Latin/Tempora/Quad6-6.txt` — the *Mass* propers, a directory tree this whole responsory
|
||||
search had never once checked (everything so far searched `horas/`, the Divine Office proper).
|
||||
The Easter Vigil Mass's own fourth prophecy (`[Proph_Baruch3]`, Bar 3:9-38, "Audi, Israël, mandáta
|
||||
vitæ") is genuine, real, accented liturgical Latin — just never part of the Office's own Matins at
|
||||
all, in either directory tree. Composed `bar` the same way as `deut`/`rom`: built from that
|
||||
prophecy's own climactic close ("Hic est Deus noster... Post hæc in terris visus est, et cum
|
||||
homínibus conversátus est" — read at the Vigil because early exegetes saw "seen upon earth, and
|
||||
conversed with men" as a prophecy of the Incarnation), genuine text, not invented.
|
||||
|
||||
**65 of 72 bible-plan books now seeded.** `npm test` (2029 passed) and `tsc --noEmit` both pass;
|
||||
live-verified through `getBiblePlanReadings` (`palm-sunday`/Thursday resolves real, correctly
|
||||
R./V.-formatted text for `Bar 1-2`). Canonical-key audit re-run, clean (`bar` has no `BOOK_ALIASES`
|
||||
entry).
|
||||
|
||||
**This closes the per-book responsory pool as a project** (see "Matins responsory pools" and its
|
||||
eleven follow-up entries, 2026-09-04/05) — the per-Common-category pool (19/19 real categories) is
|
||||
also done; see that same first entry. Extended the Missa check to the other 6 already-absent books
|
||||
too (Josue, Judices, Ruth, 1-2 Chronicles) — genuinely zero citations anywhere, Horas or Missa.
|
||||
Ezra came up with one thin, ambiguous lead not acted on: `missa/Latin/Tempora/Pasc7-2.txt`'s
|
||||
Introit cites `!Esdr 2:36 2:37`, but the actual Vulgate text there (checked against
|
||||
`data/scripture/1esdr-2.yml`) is a plain census list that doesn't match the Introit's own text at
|
||||
all ("Accípite jucunditátem glóriæ vestræ... qui vos ad cœléstia regna vocávit"). User's own
|
||||
explanation (2026-09-05), plausible and probably right, though unprovable without a text we don't
|
||||
have: Vulgate numbering is genuinely ambiguous here — "1/2 Esdras" is canonical Ezra/Nehemiah, but
|
||||
there's also a separate, non-canonical Greek "Esdras A" (the Vulgate appendix's own "3 Esdras,"
|
||||
sometimes itself called "1 Esdras" in Septuagint/Orthodox numbering) — a different text entirely
|
||||
that this project has never digitized. The reference engine's own citation never disambiguates
|
||||
("Esdr" bare, no "3" anywhere else in the source to compare against), so this can't be confirmed
|
||||
outright, but it cleanly explains why the citation doesn't match our canonical Ezra text. Left
|
||||
both `ezra` and `neh` unseeded rather than force an uncertain match. One small, unrelated loose end
|
||||
noted along the way
|
||||
and not addressed here: the bible-plan TSV's own content still isn't covered by a table-driven
|
||||
test the way other bulk-imported content stores are (see "Bible-plan TSV — bulk conversion done"
|
||||
below) — `tests/propers/bible-plan.test.ts` tests specific real dates ad hoc, not the full imported
|
||||
set.
|
||||
|
||||
### Matins responsory pools: `ruth` — the first composition with no liturgical precedent at all (2026-09-05)
|
||||
|
||||
User-directed: compose Ruth's own responsory from Ruth 1:16-17 ("thy people shall be my people,
|
||||
and thy God my God") on the verse's own merit, even though — unlike `deut`/`rom`/`bar` — this text
|
||||
has *no* liturgical precedent anywhere in the reference source at all (no Nuptial Mass file even
|
||||
exists there to check against). Flagged that distinction directly before proceeding; user confirmed
|
||||
it explicitly, aware of the difference from the three prior compositions (all of which recombined
|
||||
text already used liturgically elsewhere, just never in Matins).
|
||||
|
||||
Since the project's usual bulk-imported `data/scripture/ruth-1.yml` carries no accents, the Latin
|
||||
was hand-accented rather than transcribed — but cross-checked word-by-word against already-accented
|
||||
occurrences of the same words elsewhere in the reference corpus (`quocúmque`, `pópulus tuus`,
|
||||
`páriter`, `ábeam`, `relínquam`, `moráta`, `morábor`, `móriar`, `moriéntem`, `suscéperit`,
|
||||
`sepultúræ`) rather than guessed freehand from scratch.
|
||||
|
||||
66 of 72 bible-plan books now seeded. `npm test` (2029 passed) and `tsc --noEmit` both pass;
|
||||
live-verified through `getBiblePlanReadings` (`sunday-after-ascension`/Saturday resolves real,
|
||||
correctly R./V.-formatted text in both languages for `Ruth 3-4`). Canonical-key audit re-run, clean
|
||||
(`ruth` has no `BOOK_ALIASES` entry). Remaining 6: Josue, Judices, 1-2 Chronicles, Nehemiah (no
|
||||
citation anywhere at all) plus `ezra` (one thin, ambiguous near-miss, deliberately left unseeded —
|
||||
see the entry above).
|
||||
|
||||
### Matins responsory pools: `2esdr` (Nehemiah) — correcting a mis-diagnosis (2026-09-05)
|
||||
|
||||
The entry above's "Nehemiah: no citation anywhere at all" was wrong — Nehemiah had been bundled in
|
||||
with `ezra`'s "one thin, ambiguous near-miss" reasoning without ever getting its own Missa check, the
|
||||
same check that had already found and closed `bar` a few entries earlier. It has a real, unambiguous
|
||||
citation: Ember Wednesday of September's own Lectio and Communio both quote Neh 8
|
||||
(`missa/Latin/Tempora/093-3.txt`, `!Neh 8:1-10` / `!Neh 8:10`), genuine accented Latin, matching
|
||||
English in the sibling `English/Tempora/093-3.txt`.
|
||||
|
||||
User-directed: R. from v.3 ("Et legit in eo apérte in platéa... et aures omnis pópuli erant eréctæ
|
||||
ad librum" — Esdras reading the law plainly, all ears attentive), V. from v.9 ("Dies sanctificátus
|
||||
est Dómino, Deo nostro: nolíte lugére et nolíte flere" — user's pick, offered against v.6's "Amen,
|
||||
Amen" and v.10's "Ite, comédite pínguia," for the contrast between the plain reading and the
|
||||
proclaimed holy day of no mourning). Both Latin lines taken verbatim from the same accented Missa
|
||||
Lectio; English from the project's own verified `src/data/scripture/2esdr-8.yml`, not retranslated.
|
||||
Keyed `2esdr:` in the pool (not `neh:`) since that's what `BOOK_ALIASES` maps `neh` to.
|
||||
|
||||
67 of 72 seeded. Remaining 5: Josue, Judices, 1-2 Chronicles (no citation anywhere at all) plus
|
||||
`ezra` (one thin, ambiguous near-miss, deliberately left unseeded — see the entry above).
|
||||
|
||||
### Matins responsory pools: `1esdr` (Ezra) — composed, no liturgical precedent (2026-09-05)
|
||||
|
||||
User-directed: compose Ezra's own responsory from 1 Esdras 8:21-23, on the verse's own merit — like
|
||||
`ruth`, not like `bar`/`2esdr`, since the one candidate lead for this book (`Pasc7-2.txt`'s Introit,
|
||||
see the earlier `ezra`/`neh` entry) turned out to be a text mismatch, not a real match to build from.
|
||||
|
||||
v.22's antithesis ("the hand of our God is upon all them that seek him in goodness: and his power and
|
||||
strength, and wrath upon all them that forsake him") is the strongest material, but the Vulgate's own
|
||||
clause order puts the wrath half last — a sour note to end the repeated (`*`) clause on, especially
|
||||
right before v.23's "it fell out prosperously." Edited: swapped the two halves of v.22 so the hopeful
|
||||
clause is the one repeated after V. — same words, no invention, just reordered for the R./V./R. shape.
|
||||
V. is v.23 unaltered.
|
||||
|
||||
Source (`1esdr-8.yml`) has no accents, like `ruth-1.yml`; Latin hand-accented, cross-checked
|
||||
word-by-word against already-accented occurrences elsewhere in the corpus (`impérium`, `fortitúdo`,
|
||||
`derelínquunt`, `bonitáte`, `jejunávimus`, `próspere`). Keyed `1esdr:` (`BOOK_ALIASES` maps `ezra` to
|
||||
it). `npm test` (2029 passed) and `tsc --noEmit` both pass; live-verified through
|
||||
`getBiblePlanReadings` (`easter-sunday`/Monday resolves real, correctly R./V.-formatted text in both
|
||||
languages for `Ezra 3-4`).
|
||||
|
||||
68 of 72 seeded. This closes every book with any real sourceable material — the remaining 3 (Josue,
|
||||
Judices, 1-2 Chronicles) have no citation anywhere, Horas or Missa, and no scripture text of their
|
||||
own has been composed from on its own merit the way `ruth`/`ezra` were, since that hasn't been
|
||||
directed for them yet (Josue itself got exactly this treatment shortly after — see the dated entry
|
||||
below).
|
||||
|
||||
### Matins responsory pools: `jos` (Josue) — composed, no liturgical precedent (2026-09-05)
|
||||
|
||||
User-directed: compose Josue's own responsory from Josue 24:15-16, on the verse's own merit — like
|
||||
`ruth`/`1esdr`, since Josue has no citation anywhere in the reference source at all, Horas or Missa
|
||||
(re-confirmed live: every "Josue" hit in the corpus is an incidental mention of the person inside
|
||||
unrelated books' readings — Ambrose's *De Officiis* homily, 1-2 Kings — never the Book of Josue's
|
||||
own text).
|
||||
|
||||
The verse pair is already a two-voice exchange — Joshua's challenge to Israel ("choose you this day
|
||||
... but as for me and my house, we will serve the Lord") and the people's reply — mapping directly
|
||||
onto R./V. form with no invented content, just split at the natural seam. Asterisk placed before
|
||||
"Ego autem", so the full choice-clause is R. and the famous declaration is the repeated close; V. is
|
||||
v.16 kept whole, including "Respondítque pópulus, et ait" (not trimmed for the change of speaker,
|
||||
since R./V. form doesn't make that redundant here — the narrative frame still matters).
|
||||
|
||||
Source (`jos-24.yml`) has no accents, like `ruth-1.yml`/`1esdr-8.yml`; Latin hand-accented,
|
||||
cross-checked word-by-word against already-accented occurrences elsewhere in the corpus (`vidétur`,
|
||||
`Dómino`, `elígite`, `hódie`, `potíssimum`, `servíre`, `debeátis`, `serviérunt`, `Mesopotámia`,
|
||||
`habitátis`, `serviémus`, `Respondítque`, `pópulus`, `relinquámus`, `serviámus`, `aliénis`); `óptio`
|
||||
left unaccented (2 syllables, no precedent either way, but this project's own accenting convention
|
||||
never marks a 2-syllable word). `Amorreorum` kept in the spelling `jos-24.yml`'s own bulk import
|
||||
uses (no `h`, single `r`) rather than the Clementine `Amorrhæórum` spelling found elsewhere in the
|
||||
corpus (Ps 134/135), since that's this book's own source-text tradition, not a typo to "fix" toward
|
||||
the more familiar spelling.
|
||||
|
||||
Keyed `jos:` (`BOOK_ALIASES` maps `josh` to this canonical id) — not `josue`, which would silently
|
||||
miss every lookup. `npm test` (2029 passed) and `tsc --noEmit` both pass; live-verified through
|
||||
`getBiblePlanReadings` (`easter-4`/Sunday resolves real, correctly R./V.-formatted text in both
|
||||
languages for `Josh 1`).
|
||||
|
||||
69 of 72 seeded. Remaining 3 (Judices, 1-2 Chronicles) have no citation anywhere, Horas or Missa,
|
||||
and no scripture text of their own has been composed on its own merit yet.
|
||||
|
||||
### Matins responsory pools: `jdc` (Judges) — composed, no liturgical precedent (2026-09-05)
|
||||
|
||||
User-directed: compose Judges' own responsory from Gideon's trumpet-and-pitchers stratagem at the
|
||||
camp of Madian (Jdc 7:17-20), on the verse's own merit — like `jos`, since Judges has no citation
|
||||
anywhere in the reference source at all, Horas or Missa.
|
||||
|
||||
Considered and set aside: the Song of Deborah's closing benediction (Jdc 5:31) has no natural second
|
||||
verse to pair with it without inventing one; Samson's dying prayer (Jdc 16:28-30) was set aside as an
|
||||
uncomfortable emphasis for a Matins responsory (a prayer for strength to kill himself with his
|
||||
enemies). Gideon's cry won out as the single most recognizable line in the book, and — like
|
||||
`ruth`/`jos` before it — the passage is already a command/fulfillment structure that maps directly
|
||||
onto R./V. form: R. is v.17-18 (Gideon's command to the three hundred men); V. is v.19-20's
|
||||
fulfillment, trimmed to its own core clause (dropped v.20's "in tribus locis... hydrias
|
||||
confregissent" middle as restating what "conplodere lagoenas" already said), landing the versicle
|
||||
directly on the iconic cry itself: "Gladius Domini, et Gedeonis."
|
||||
|
||||
Source (`jdc-7.yml`) has no accents, like `jos-24.yml`; Latin hand-accented, cross-checked
|
||||
word-by-word against already-accented occurrences elsewhere in the corpus (`vidéritis`, `fácite`
|
||||
— matching the "Hoc fácite" idiom's own established accenting — `ingrédiar`, `sectámini`,
|
||||
`personáverit`, `castrórum`, `circúitum`, `clángite`, `conclamáte`, `tenuérunt`, `mánibus`,
|
||||
`sonántes`, `clamaverúntque`, `Gládius`, `Gedeónis`, `Gedeóni`); `sinistris`/`dextris` left
|
||||
unaccented, matching this corpus's own consistent practice for those two specific words even where
|
||||
the general accenting rule would suggest otherwise. Also caught: the source's own English for v.18
|
||||
is incomplete (drops "et conclamate, Domino et Gedeoni" entirely, ending mid-sentence) — supplied
|
||||
the missing clause from the standard Douay-Rheims wording rather than reproducing that gap.
|
||||
|
||||
Keyed `jdc:` (`BOOK_ALIASES` maps `judg` to this canonical id). `npm test` (2029 passed) and
|
||||
`tsc --noEmit` both pass; live-verified through `getBiblePlanReadings` (`easter-6`/Wednesday
|
||||
resolves real, correctly R./V.-formatted text in both languages for `Judg 7`).
|
||||
|
||||
70 of 72 seeded. Remaining 2 (1-2 Paralipomenon/Chronicles) have no citation anywhere, Horas or
|
||||
Missa, and no scripture text of their own has been composed on its own merit yet.
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,320 @@
|
||||
# A per-Common-category pool of Matins Nocturn 2/3 responsories — sibling to
|
||||
# matins-responsories-by-book.yml's per-book pool, same "loose match, cycled
|
||||
# by index" design, but keyed by a saint's own `common:` category (see
|
||||
# SaintRecord.common in calendar/types.ts) instead of a scripture book. Most
|
||||
# of this project's 272 nocturn-readings/*.yml files (out of 355) have no
|
||||
# `responsory:` field of their own — a real, large content gap, not the
|
||||
# small handful the header comments in those files individually call out —
|
||||
# and this pool is the mechanism to close it generically rather than
|
||||
# per-saint.
|
||||
#
|
||||
# All content transcribed directly from the reference engine's own Commune
|
||||
# text files (divinum-officium-reference's web/www/horas/{Latin,English}/
|
||||
# Commune/CN.txt — the *secular* Commune; Monastic 1617's own CommuneM/CN.txt
|
||||
# files just `@Commune/CN`-reference these verbatim for every category here,
|
||||
# so there is no separate Monastic responsory text to source), each holding
|
||||
# a fixed 6-9 Great Responsories (Nocturn 1-3, in their historical position)
|
||||
# for one Commune category. Several of vu's own `common:` category ids are
|
||||
# genuine aliases of the same underlying reference file — verified by
|
||||
# reading each candidate file's own `@Commune/CX` inheritance line, not
|
||||
# guessed:
|
||||
# - `common-of-a-confessor-doctor` / `common-of-a-confessor-pope` inherit
|
||||
# C4's responsories unchanged (only the Oratio/Officium title differ) —
|
||||
# same pool as `common-of-a-confessor-bishop`.
|
||||
# - `common-of-a-confessor-not-bishop` / `common-of-an-abbot` /
|
||||
# `common-of-several-confessors` (the last confirmed against its one
|
||||
# real user, Ss. Seven Founders of the Servite Order, non-bishops) all
|
||||
# inherit C5 unchanged — same pool as `common-of-a-confessor`.
|
||||
# - `common-of-a-martyr` (C2a) inherits C2 unchanged — same pool as
|
||||
# `common-of-a-martyr-bishop`.
|
||||
# - `common-of-a-virgin` (C6a) inherits C6 unchanged — same pool as
|
||||
# `common-of-a-virgin-martyr`.
|
||||
# - `common-of-a-widow` (C7a) / `common-of-several-women-martyrs` (the
|
||||
# latter confirmed against its one real user, Ss. Perpetua and
|
||||
# Felicity, both non-virgins) inherit C7 unchanged — same pool as
|
||||
# `common-of-a-holy-woman`.
|
||||
# - `common-of-apostles` (plural feasts, e.g. the Octave of Ss. Peter and
|
||||
# Paul) is the same C1 pool as `common-of-an-apostle`.
|
||||
#
|
||||
# Not seeded here, deliberately — no direct Commune responsory file exists
|
||||
# (angels and evangelists each have their own real proper content instead;
|
||||
# vigils and the handful of `proper-to-*` ids aren't Commune categories at
|
||||
# all): `common-of-an-angel`, `common-of-an-evangelist`, `common-of-a-vigil`,
|
||||
# `proper-to-*`.
|
||||
common-of-a-confessor:
|
||||
- la: "R. Justus germinábit sicut lílium:\n* Et florébit in ætérnum ante Dóminum.\nV. Plantátus in domo Dómini, in átriis domus Dei nostri.\nR. Et florébit in ætérnum ante Dóminum."
|
||||
en: "R. The righteous shall grow as the lily;\n* Yea, he shall flourish in the presence of the Lord for ever.\nV. Those that be planted in the house of the Lord, shall flourish in the courts of the house of our God.\nR. Yea, he shall flourish in the presence of the Lord for ever."
|
||||
- la: "R. Iste cognóvit justítiam, et vidit mirabília magna, et exorávit Altíssimum:\n* Et invéntus est in número Sanctórum.\nV. Iste est qui contémpsit vitam mundi, et pervénit ad cæléstia regna.\nR. Et invéntus est in número Sanctórum."
|
||||
en: "R. This is he which knew righteousness, and saw great wonders, and made his prayer unto the Most High;\n* And he is numbered among the Saints.\nV. This is he which loved not his life in this world, and is come unto an everlasting kingdom.\nR. And he is numbered among the Saints."
|
||||
- la: "R. Honéstum fecit illum Dóminus, et custodívit eum ab inimícis, et a seductóribus tutávit illum:\n* Et dedit illi claritátem ætérnam.\nV. Justum dedúxit Dóminus per vias rectas, et osténdit illi regnum Dei.\nR. Et dedit illi claritátem ætérnam."
|
||||
en: "R. The Lord made him honourable, and defended him from his enemies, and kept him safe from those that lay in wait for him;\n* And gave him perpetual glory.\nV. He went down with him into the pit, and left him not in bonds.\nR. And gave him perpetual glory."
|
||||
- la: "R. Amávit eum Dóminus, et ornávit eum: stolam glóriæ índuit eum,\n* Et ad portas paradísi coronávit eum.\nV. Índuit eum Dóminus lorícam fídei, et ornávit eum.\nR. Et ad portas paradísi coronávit eum."
|
||||
en: "R. The Lord loved him and beautified him; He clothed him with a robe of glory,\n* And crowned him at the gates of Paradise.\nV. The Lord hath put on him the breast-plate of faith, and hath adorned him.\nR. And crowned him at the gates of Paradise."
|
||||
- la: "R. Iste homo perfécit ómnia quæ locútus est ei Deus, et dixit ad eum: Ingrédere in réquiem meam:\n* Quia te vidi justum coram me ex ómnibus géntibus.\nV. Iste est, qui contémpsit vitam mundi, et pervénit ad cæléstia regna.\nR. Quia te vidi justum coram me ex ómnibus géntibus."
|
||||
en: "R. This is he which did according unto all that God commanded him; and God said unto him: Enter thou into My rest,\n* For thee have I seen righteous before Me among all people.\nV. This is he which loved not his life in this world, and is come unto an everlasting kingdom.\nR. For thee have I seen righteous before Me among all people."
|
||||
- la: "R. Iste est qui ante Deum magnas virtútes operátus est, et de omni corde suo laudávit Dóminum:\n* Ipse intercédat pro peccátis ómnium populórum.\nV. Ecce homo sine queréla, verus Dei cultor, ábstinens se ab omni ópere malo, et pérmanens in innocéntia sua.\nR. Ipse intercédat pro peccátis ómnium populórum."
|
||||
en: "R. This is he which wrought great wonders before God, and praised the Lord with all his heart.\n* May he pray for all people, that their sins may be forgiven unto them.\nV. Behold a man without blame, a worshipper of God in truth, keeping himself clean from every evil work, and abiding still in his innocency.\nR. May he pray for all people, that their sins may be forgiven unto them."
|
||||
common-of-a-confessor-bishop:
|
||||
- la: "R. Euge, serve bone et fidélis, quia in pauca fuísti fidélis, supra multa te constítuam:\n* Intra in gáudium Dómini tui.\nV. Dómine, quinque talénta tradidísti mihi, ecce ália quinque superlucrátus sum.\nR. Intra in gáudium Dómini tui."
|
||||
en: "R. Well done, thou good and faithful servant, thou hast been faithful over a few things. I will make thee ruler over many things:\n* Enter thou into the joy of thy Lord.\nV. Lord, thou deliveredst unto me five talents; behold, I have gained beside them five talents more.\nR. Enter thou into the joy of thy Lord."
|
||||
- la: "R. Ecce sacérdos magnus, qui in diébus suis plácuit Deo:\n* Ideo jurejurándo fecit illum Dóminus créscere in plebem suam.\nV. Benedictiónem ómnium géntium dedit illi, et testaméntum suum confirmávit super caput ejus.\nR. Ideo jurejurándo fecit illum Dóminus créscere in plebem suam."
|
||||
en: "R. Behold an high priest, who in his days pleased God\n* Therefore the Lord assured him by an oath that He would multiply his seed among His people.\nV. He hath made him a blessing unto all nations, and hath established His covenant upon his head.\nR. Therefore the Lord assured him by an oath that He would multiply his seed among His people"
|
||||
- la: "R. Jurávit Dóminus, et non pœnitébit eum:\n* Tu es sacérdos in ætérnum secúndum órdinem Melchísedech.\nV. Dixit Dóminus Dómino meo, Sede a dextris meis.\nR. Tu es sacérdos in ætérnum secúndum órdinem Melchísedech."
|
||||
en: "R. The Lord hath sworn and will not repent\n* Thou art a Priest for ever after the order of Melchisedek.\nV. The Lord said unto my Lord Sit Thou at My right hand.\nR. Thou art a Priest for ever after the order of Melchisedek."
|
||||
- la: "R. Invéni David servum meum, óleo sancto meo unxi eum:\n* Manus enim mea auxiliábitur ei.\nV. Nihil profíciet inimícus in eo, et fílius iniquitátis non nocébit ei.\nR. Manus enim mea auxiliábitur ei."
|
||||
en: "R. I have found David My servant, with My holy oil have I anointed him\n* For My hand shall help him.\nV. The enemy shall prevail nothing against him, nor the son of wickedness afflict him.\nR. For My hand shall help him."
|
||||
- la: "R. Pósui adjutórium super poténtem, et exaltávi eléctum de plebe mea:\n* Manus enim mea auxiliábitur ei.\nV. Invéni David servum meum, óleo sancto meo unxi eum.\nR. Manus enim mea auxiliábitur ei."
|
||||
en: "R. I have laid help upon one that is mighty, and have exalted one chosen out of My people\n* For My hand shall help him.\nV. I have found David My servant, with My holy oil have I anointed him.\nR. For My hand shall help him."
|
||||
- la: "R. Iste est, qui ante Deum magnas virtútes operátus est, et omnis terra doctrína ejus repléta est:\n* Ipse intercédat pro peccátis ómnium populórum.\nV. Iste est, qui contémpsit vitam mundi, et pervénit ad cæléstia regna.\nR. Ipse intercédat pro peccátis ómnium populórum."
|
||||
en: "R. This is he which wrought great wonders before God, and the whole earth is full of his teaching\n* May he pray for all people, that their sins may be forgiven unto them\nV. This is he which loved not his life in this world, and hath attained unto the kingdom of heaven.\nR. May he pray for all people, that their sins may be forgiven unto them"
|
||||
- la: "R. Amávit eum Dóminus, et ornávit eum: stolam glóriæ índuit eum,\n* Et ad portas paradísi coronávit eum.\nV. Induit eum Dóminus lorícam fídei, et ornávit eum.\nR. Et ad portas paradísi coronávit eum."
|
||||
en: "R. The Lord loved him and beautified him He clothed him with a robe of glory\n* And crowned him at the gates of Paradise.\nV. The Lord hath put on him the breast-plate of faith, and hath adorned him.\nR. And crowned him at the gates of Paradise."
|
||||
- la: "R. Sint lumbi vestri præcíncti, et lucérnæ ardéntes in mánibus vestris:\n* Et vos símiles homínibus exspectántibus dóminum suum, quando revertátur a núptiis.\nV. Vigiláte ergo, quia nescítis qua hora Dóminus vester ventúrus sit.\nR. Et vos símiles homínibus exspectántibus dóminum suum, quando revertátur a núptiis."
|
||||
en: "R. Let your loins be girded about, and your lights burning;\n* And ye yourselves like unto men that wait for their lord, when he will return from the wedding.\nV. Watch therefore, for ye know not what hour your Lord doth come.\nR. And ye yourselves like unto men that wait for their lord, when he will return from the wedding."
|
||||
common-of-a-confessor-doctor:
|
||||
- la: "R. Euge, serve bone et fidélis, quia in pauca fuísti fidélis, supra multa te constítuam:\n* Intra in gáudium Dómini tui.\nV. Dómine, quinque talénta tradidísti mihi, ecce ália quinque superlucrátus sum.\nR. Intra in gáudium Dómini tui."
|
||||
en: "R. Well done, thou good and faithful servant, thou hast been faithful over a few things. I will make thee ruler over many things:\n* Enter thou into the joy of thy Lord.\nV. Lord, thou deliveredst unto me five talents; behold, I have gained beside them five talents more.\nR. Enter thou into the joy of thy Lord."
|
||||
- la: "R. Ecce sacérdos magnus, qui in diébus suis plácuit Deo:\n* Ideo jurejurándo fecit illum Dóminus créscere in plebem suam.\nV. Benedictiónem ómnium géntium dedit illi, et testaméntum suum confirmávit super caput ejus.\nR. Ideo jurejurándo fecit illum Dóminus créscere in plebem suam."
|
||||
en: "R. Behold an high priest, who in his days pleased God\n* Therefore the Lord assured him by an oath that He would multiply his seed among His people.\nV. He hath made him a blessing unto all nations, and hath established His covenant upon his head.\nR. Therefore the Lord assured him by an oath that He would multiply his seed among His people"
|
||||
- la: "R. Jurávit Dóminus, et non pœnitébit eum:\n* Tu es sacérdos in ætérnum secúndum órdinem Melchísedech.\nV. Dixit Dóminus Dómino meo, Sede a dextris meis.\nR. Tu es sacérdos in ætérnum secúndum órdinem Melchísedech."
|
||||
en: "R. The Lord hath sworn and will not repent\n* Thou art a Priest for ever after the order of Melchisedek.\nV. The Lord said unto my Lord Sit Thou at My right hand.\nR. Thou art a Priest for ever after the order of Melchisedek."
|
||||
- la: "R. Invéni David servum meum, óleo sancto meo unxi eum:\n* Manus enim mea auxiliábitur ei.\nV. Nihil profíciet inimícus in eo, et fílius iniquitátis non nocébit ei.\nR. Manus enim mea auxiliábitur ei."
|
||||
en: "R. I have found David My servant, with My holy oil have I anointed him\n* For My hand shall help him.\nV. The enemy shall prevail nothing against him, nor the son of wickedness afflict him.\nR. For My hand shall help him."
|
||||
- la: "R. Pósui adjutórium super poténtem, et exaltávi eléctum de plebe mea:\n* Manus enim mea auxiliábitur ei.\nV. Invéni David servum meum, óleo sancto meo unxi eum.\nR. Manus enim mea auxiliábitur ei."
|
||||
en: "R. I have laid help upon one that is mighty, and have exalted one chosen out of My people\n* For My hand shall help him.\nV. I have found David My servant, with My holy oil have I anointed him.\nR. For My hand shall help him."
|
||||
- la: "R. Iste est, qui ante Deum magnas virtútes operátus est, et omnis terra doctrína ejus repléta est:\n* Ipse intercédat pro peccátis ómnium populórum.\nV. Iste est, qui contémpsit vitam mundi, et pervénit ad cæléstia regna.\nR. Ipse intercédat pro peccátis ómnium populórum."
|
||||
en: "R. This is he which wrought great wonders before God, and the whole earth is full of his teaching\n* May he pray for all people, that their sins may be forgiven unto them\nV. This is he which loved not his life in this world, and hath attained unto the kingdom of heaven.\nR. May he pray for all people, that their sins may be forgiven unto them"
|
||||
- la: "R. Amávit eum Dóminus, et ornávit eum: stolam glóriæ índuit eum,\n* Et ad portas paradísi coronávit eum.\nV. Induit eum Dóminus lorícam fídei, et ornávit eum.\nR. Et ad portas paradísi coronávit eum."
|
||||
en: "R. The Lord loved him and beautified him He clothed him with a robe of glory\n* And crowned him at the gates of Paradise.\nV. The Lord hath put on him the breast-plate of faith, and hath adorned him.\nR. And crowned him at the gates of Paradise."
|
||||
- la: "R. Sint lumbi vestri præcíncti, et lucérnæ ardéntes in mánibus vestris:\n* Et vos símiles homínibus exspectántibus dóminum suum, quando revertátur a núptiis.\nV. Vigiláte ergo, quia nescítis qua hora Dóminus vester ventúrus sit.\nR. Et vos símiles homínibus exspectántibus dóminum suum, quando revertátur a núptiis."
|
||||
en: "R. Let your loins be girded about, and your lights burning;\n* And ye yourselves like unto men that wait for their lord, when he will return from the wedding.\nV. Watch therefore, for ye know not what hour your Lord doth come.\nR. And ye yourselves like unto men that wait for their lord, when he will return from the wedding."
|
||||
common-of-a-confessor-not-bishop:
|
||||
- la: "R. Justus germinábit sicut lílium:\n* Et florébit in ætérnum ante Dóminum.\nV. Plantátus in domo Dómini, in átriis domus Dei nostri.\nR. Et florébit in ætérnum ante Dóminum."
|
||||
en: "R. The righteous shall grow as the lily;\n* Yea, he shall flourish in the presence of the Lord for ever.\nV. Those that be planted in the house of the Lord, shall flourish in the courts of the house of our God.\nR. Yea, he shall flourish in the presence of the Lord for ever."
|
||||
- la: "R. Iste cognóvit justítiam, et vidit mirabília magna, et exorávit Altíssimum:\n* Et invéntus est in número Sanctórum.\nV. Iste est qui contémpsit vitam mundi, et pervénit ad cæléstia regna.\nR. Et invéntus est in número Sanctórum."
|
||||
en: "R. This is he which knew righteousness, and saw great wonders, and made his prayer unto the Most High;\n* And he is numbered among the Saints.\nV. This is he which loved not his life in this world, and is come unto an everlasting kingdom.\nR. And he is numbered among the Saints."
|
||||
- la: "R. Honéstum fecit illum Dóminus, et custodívit eum ab inimícis, et a seductóribus tutávit illum:\n* Et dedit illi claritátem ætérnam.\nV. Justum dedúxit Dóminus per vias rectas, et osténdit illi regnum Dei.\nR. Et dedit illi claritátem ætérnam."
|
||||
en: "R. The Lord made him honourable, and defended him from his enemies, and kept him safe from those that lay in wait for him;\n* And gave him perpetual glory.\nV. He went down with him into the pit, and left him not in bonds.\nR. And gave him perpetual glory."
|
||||
- la: "R. Amávit eum Dóminus, et ornávit eum: stolam glóriæ índuit eum,\n* Et ad portas paradísi coronávit eum.\nV. Índuit eum Dóminus lorícam fídei, et ornávit eum.\nR. Et ad portas paradísi coronávit eum."
|
||||
en: "R. The Lord loved him and beautified him; He clothed him with a robe of glory,\n* And crowned him at the gates of Paradise.\nV. The Lord hath put on him the breast-plate of faith, and hath adorned him.\nR. And crowned him at the gates of Paradise."
|
||||
- la: "R. Iste homo perfécit ómnia quæ locútus est ei Deus, et dixit ad eum: Ingrédere in réquiem meam:\n* Quia te vidi justum coram me ex ómnibus géntibus.\nV. Iste est, qui contémpsit vitam mundi, et pervénit ad cæléstia regna.\nR. Quia te vidi justum coram me ex ómnibus géntibus."
|
||||
en: "R. This is he which did according unto all that God commanded him; and God said unto him: Enter thou into My rest,\n* For thee have I seen righteous before Me among all people.\nV. This is he which loved not his life in this world, and is come unto an everlasting kingdom.\nR. For thee have I seen righteous before Me among all people."
|
||||
- la: "R. Iste est qui ante Deum magnas virtútes operátus est, et de omni corde suo laudávit Dóminum:\n* Ipse intercédat pro peccátis ómnium populórum.\nV. Ecce homo sine queréla, verus Dei cultor, ábstinens se ab omni ópere malo, et pérmanens in innocéntia sua.\nR. Ipse intercédat pro peccátis ómnium populórum."
|
||||
en: "R. This is he which wrought great wonders before God, and praised the Lord with all his heart.\n* May he pray for all people, that their sins may be forgiven unto them.\nV. Behold a man without blame, a worshipper of God in truth, keeping himself clean from every evil work, and abiding still in his innocency.\nR. May he pray for all people, that their sins may be forgiven unto them."
|
||||
common-of-a-confessor-pope:
|
||||
- la: "R. Euge, serve bone et fidélis, quia in pauca fuísti fidélis, supra multa te constítuam:\n* Intra in gáudium Dómini tui.\nV. Dómine, quinque talénta tradidísti mihi, ecce ália quinque superlucrátus sum.\nR. Intra in gáudium Dómini tui."
|
||||
en: "R. Well done, thou good and faithful servant, thou hast been faithful over a few things. I will make thee ruler over many things:\n* Enter thou into the joy of thy Lord.\nV. Lord, thou deliveredst unto me five talents; behold, I have gained beside them five talents more.\nR. Enter thou into the joy of thy Lord."
|
||||
- la: "R. Ecce sacérdos magnus, qui in diébus suis plácuit Deo:\n* Ideo jurejurándo fecit illum Dóminus créscere in plebem suam.\nV. Benedictiónem ómnium géntium dedit illi, et testaméntum suum confirmávit super caput ejus.\nR. Ideo jurejurándo fecit illum Dóminus créscere in plebem suam."
|
||||
en: "R. Behold an high priest, who in his days pleased God\n* Therefore the Lord assured him by an oath that He would multiply his seed among His people.\nV. He hath made him a blessing unto all nations, and hath established His covenant upon his head.\nR. Therefore the Lord assured him by an oath that He would multiply his seed among His people"
|
||||
- la: "R. Jurávit Dóminus, et non pœnitébit eum:\n* Tu es sacérdos in ætérnum secúndum órdinem Melchísedech.\nV. Dixit Dóminus Dómino meo, Sede a dextris meis.\nR. Tu es sacérdos in ætérnum secúndum órdinem Melchísedech."
|
||||
en: "R. The Lord hath sworn and will not repent\n* Thou art a Priest for ever after the order of Melchisedek.\nV. The Lord said unto my Lord Sit Thou at My right hand.\nR. Thou art a Priest for ever after the order of Melchisedek."
|
||||
- la: "R. Invéni David servum meum, óleo sancto meo unxi eum:\n* Manus enim mea auxiliábitur ei.\nV. Nihil profíciet inimícus in eo, et fílius iniquitátis non nocébit ei.\nR. Manus enim mea auxiliábitur ei."
|
||||
en: "R. I have found David My servant, with My holy oil have I anointed him\n* For My hand shall help him.\nV. The enemy shall prevail nothing against him, nor the son of wickedness afflict him.\nR. For My hand shall help him."
|
||||
- la: "R. Pósui adjutórium super poténtem, et exaltávi eléctum de plebe mea:\n* Manus enim mea auxiliábitur ei.\nV. Invéni David servum meum, óleo sancto meo unxi eum.\nR. Manus enim mea auxiliábitur ei."
|
||||
en: "R. I have laid help upon one that is mighty, and have exalted one chosen out of My people\n* For My hand shall help him.\nV. I have found David My servant, with My holy oil have I anointed him.\nR. For My hand shall help him."
|
||||
- la: "R. Iste est, qui ante Deum magnas virtútes operátus est, et omnis terra doctrína ejus repléta est:\n* Ipse intercédat pro peccátis ómnium populórum.\nV. Iste est, qui contémpsit vitam mundi, et pervénit ad cæléstia regna.\nR. Ipse intercédat pro peccátis ómnium populórum."
|
||||
en: "R. This is he which wrought great wonders before God, and the whole earth is full of his teaching\n* May he pray for all people, that their sins may be forgiven unto them\nV. This is he which loved not his life in this world, and hath attained unto the kingdom of heaven.\nR. May he pray for all people, that their sins may be forgiven unto them"
|
||||
- la: "R. Amávit eum Dóminus, et ornávit eum: stolam glóriæ índuit eum,\n* Et ad portas paradísi coronávit eum.\nV. Induit eum Dóminus lorícam fídei, et ornávit eum.\nR. Et ad portas paradísi coronávit eum."
|
||||
en: "R. The Lord loved him and beautified him He clothed him with a robe of glory\n* And crowned him at the gates of Paradise.\nV. The Lord hath put on him the breast-plate of faith, and hath adorned him.\nR. And crowned him at the gates of Paradise."
|
||||
- la: "R. Sint lumbi vestri præcíncti, et lucérnæ ardéntes in mánibus vestris:\n* Et vos símiles homínibus exspectántibus dóminum suum, quando revertátur a núptiis.\nV. Vigiláte ergo, quia nescítis qua hora Dóminus vester ventúrus sit.\nR. Et vos símiles homínibus exspectántibus dóminum suum, quando revertátur a núptiis."
|
||||
en: "R. Let your loins be girded about, and your lights burning;\n* And ye yourselves like unto men that wait for their lord, when he will return from the wedding.\nV. Watch therefore, for ye know not what hour your Lord doth come.\nR. And ye yourselves like unto men that wait for their lord, when he will return from the wedding."
|
||||
common-of-a-dedication:
|
||||
- la: "R. In dedicatióne templi decantábat pópulus laudem:\n* Et in ore eórum dulcis resonábat sonus.\nV. Fundáta est domus Dómini supra vérticem móntium, et vénient ad eam omnes gentes.\nR. Et in ore eórum dulcis resonábat sonus."
|
||||
en: "R. When the Temple was dedicated the people sang praise;\n* And sweet in their mouths was the sound.\nV. The Lord's house is established in the top of the mountains; and all nations shall flow unto it.\nR. And sweet in their mouths was the sound."
|
||||
- la: "R. Fundáta est domus Dómini supra vérticem móntium, et exaltáta est super omnes colles:\n* Et vénient ad eam omnes gentes, et dicent: Glória tibi, Dómine.\nV. Veniéntes autem vénient cum exsultatióne, portántes manípulos suos.\nR. Et vénient ad eam omnes gentes, et dicent: Glória tibi, Dómine."
|
||||
en: "R. The Lord's house is established in the top of the mountains, and exalted above the hills;\n* And all nations shall flow unto it, and shall say: Glory be to thee, O Lord!\nV. They shall doubtless come again with rejoicing, bringing their sheaves with them.\nR. And all nations shall flow unto it, and shall say: Glory be to thee, O Lord!"
|
||||
- la: "R. Bénedic, Dómine, domum istam, quam ædificávi nómini tuo: veniéntium in loco isto\n* Exáudi preces in excélso sólio glóriæ tuæ.\nV. Dómine, si convérsus fúerit pópulus tuus, et oráverit ad sanctuárium tuum.\nR. Exáudi preces in excélso sólio glóriæ tuæ."
|
||||
en: "R. O Lord, bless this house which I have built unto thy name. whosoever shall come unto this place and pray, then\n* Hear thou from the excellent throne of thy glory.\nV. O Lord, if thy people turn and pray toward thy sanctuary.\nR. Hear thou from the excellent throne of thy glory."
|
||||
- la: "R. Orántibus in loco isto,\n* Dimítte peccáta pópuli tui, Deus, et osténde eis viam bonam per quam ámbulent, et da glóriam in loco isto.\nV. Qui regis Israël inténde, qui dedúcis velut ovem Joseph, qui sedes super Chérubim.\nR. Dimítte peccáta pópuli tui, Deus, et osténde eis viam bonam per quam ámbulent, et da glóriam in loco isto."
|
||||
en: "R. If they pray toward this place,\n* Forgive the sin of thy people, O God, and teach them the good way wherein they should walk, and manifest forth thy glory in this place.\nV. Give ear, O Shepherd of Israel, thou that leadest Joseph like a flock, thou that sittest upon the cherubim.\nR. Forgive the sin of thy people, O God, and teach them the good way wherein they should walk, and manifest forth thy glory in this place."
|
||||
- la: "R. O quam metuéndus est locus iste:\n* Vere non est hic áliud nisi domus Dei et porta cæli.\nV. Hæc est domus Dómini fírmiter ædificáta, bene fundáta est supra firmam petram.\nR. Vere non est hic áliud nisi domus Dei et porta cæli."
|
||||
en: "R. How dreadful is this place!\n* Surely this is none other but the house of God, and this is the gate of heaven.\nV. This is the house of God, stoutly builded, well founded upon a sure rock.\nR. Surely this is none other but the house of God, and this is the gate of heaven."
|
||||
- la: "R. Mane surgens Jacob, erigébat lápidem in títulum, fundens óleum désuper; votum vovit Dómino:\n* Vere locus iste sanctus est, et ego nesciébam.\nV. Cumque evigilásset Jacob de somno, ait.\nR. Vere locus iste sanctus est, et ego nesciébam."
|
||||
en: "R. Jacob rose up early in the morning, and set up the stone for a pillar, and poured oil upon the top of it, and vowed a vow unto the Lord.\n* Surely this place is holy, and I knew it not.\nV. And Jacob awaked out of his sleep, and he said\nR. Surely this place is holy, and I knew it not."
|
||||
- la: "R. Domus mea, domus oratiónis vocábitur, dicit Dóminus: in ea omnis qui petit, áccipit; et qui quærit, ínvenit;\n* Et pulsánti aperiétur.\nV. Pétite, et accipiétis; quǽrite, et inveniétis.\nR. Et pulsánti aperiétur."
|
||||
en: "R. My house shall be called the house of prayer, saith the Lord. Therein, he that asketh, receiveth; he that seeketh, findeth;\n* And to him that knocketh, it shall be opened.\nV. Ask, and ye shall receive; seek, and ye shall find.\nR. And to him that knocketh, it shall be opened."
|
||||
- la: "R. Lápides pretiósi omnes muri tui,\n* Et turres Jerúsalem gemmis ædificabúntur.\nV. Portæ Jerúsalem ex sapphíro et smarágdo ædificabúntur, et ex lápide pretióso omnis circúitus muri ejus.\nR. Et turres Jerúsalem gemmis ædificabúntur."
|
||||
en: "R. All thy walls are of stones most precious.\n* The towers of Jerusalem shall be built up with jewels.\nV. The gates of Jerusalem shall be built up with the sapphire stone, and the emerald, and all her walls round about with stones most precious.\nR. The towers of Jerusalem shall be built up with jewels."
|
||||
common-of-a-holy-woman:
|
||||
- la: "R. Fallax grátia, et vana est pulchritúdo:\n* Múlier timens Dóminum, ipsa laudábitur.\nV. Date ei de fructu mánuum suárum, et laudent eam in portis ópera ejus.\nR. Múlier timens Dóminum, ipsa laudábitur."
|
||||
en: "R. Favour is deceitful, and beauty is vain\n* A woman that feareth God she shall be praised.\nV. Give her of the fruit of her hands, and let her own works praise her in the gates.\nR. A woman that feareth God she shall be praised."
|
||||
- la: "R. Os suum apéruit sapiéntiæ, et lex cleméntiæ in lingua ejus: considerávit sémitas domus suæ,\n* Et panem otiósa non comédit.\nV. Gustávit et vidit quia bona est negotiátio ejus: non exstinguétur in nocte lucérna ejus.\nR. Et panem otiósa non comédit."
|
||||
en: "R. She openeth her mouth with wisdom, and in her tongue is the law of kindness. She looketh well to the ways of her household\n* And eateth not the bread of idleness.\nV. She tasteth and perceiveth that her merchandise is good. Her candle goeth not out by night.\nR. And she eateth not the bread of idleness."
|
||||
- la: "R. Regnum mundi et omnem ornátum sǽculi contémpsi, propter amórem Dómini mei Jesu Christi:\n* Quem vidi, quem amávi, in quem crédidi, quem diléxi.\nV. Eructávit cor meum verbum bonum: dico ego ópera mea Regi.\nR. Quem vidi, quem amávi, in quem crédidi, quem diléxi."
|
||||
en: "R. The kingdom of this world and all the beauty of life I have esteemed as nothing, for the excellency of the love of Jesus Christ my Lord\n* Whom, having seen, I loved Whom, having believed, I longed after.\nV. My heart is overflowing with a good matter I speak of my works unto the King.\nR. Whom, having seen, I loved Whom, having believed, I longed after."
|
||||
common-of-a-martyr:
|
||||
- la: "R. Iste Sanctus pro lege Dei sui certávit usque ad mortem, et a verbis impiórum non tímuit:\n* Fundátus enim erat supra firmam petram.\nV. Iste est qui contémpsit vitam mundi, et pervénit ad cæléstia regna.\nR. Fundátus enim erat supra firmam petram."
|
||||
en: "R. This man is holy, for he hath striven for the law of his God even unto death, and hath not feared for the words of the ungodly;\n* For he had his foundation upon a strong rock.\nV. This is he which loved not his life in this world, and is come unto an everlasting kingdom.\nR. For he had his foundation upon a strong rock."
|
||||
- la: "R. Justus germinábit sicut lílium:\n* Et florébit in ætérnum ante Dóminum.\nV. Plantátus in domo Dómini, in átriis domus Dei nostri.\nR. Et florébit in ætérnum ante Dóminum."
|
||||
en: "R. The righteous shall grow as the lily\n* Yea, he shall flourish in the presence of the Lord for ever.\nV. Those that be planted in the house of the Lord, shall flourish in the courts of the house of our God.\nR. Yea, he shall flourish in the presence of the Lord for ever."
|
||||
- la: "R. Iste cognóvit justítiam, et vidit mirabília magna, et exorávit Altíssimum\n* Et invéntus est in número Sanctórum.\nV. Iste est qui contémpsit vitam mundi, et pervénit ad cæléstia regna.\nR. Et invéntus est in número Sanctórum."
|
||||
en: "R. This is he which knew righteousness, and saw great wonders, and made his prayer unto the Most High\n* And he is numbered among the Saints.\nV. This is he which loved not his life in this world, and is come unto an everlasting kingdom.\nR. And he is numbered among the Saints."
|
||||
- la: "R. Honéstum fecit illum Dóminus, et custodívit eum ab inimícis, et a seductóribus tutávit illum:\n* Et dedit illi claritátem ætérnam.\nV. Descendítque cum illo in fóveam, et in vínculis non derelíquit eum.\nR. Et dedit illi claritátem ætérnam."
|
||||
en: "R. The Lord made him honourable, and defended him from his enemies, and kept him safe from those that lay in wait for him,\n* And gave him perpetual glory.\nV. He went down with him into the pit, and left him not in bonds.\nR. And gave him perpetual glory."
|
||||
- la: "R. Desidérium ánimæ ejus tribuísti ei Dómine,\n* Et voluntáte labiórum ejus non fraudásti eum.\nV. Quóniam prævenísti eum in benedictiónibus dulcédinis: posuísti in cápite ejus corónam de lápide pretióso.\nR. Et voluntáte labiórum ejus non fraudásti eum."
|
||||
en: "R. Lord, Thou hast given him his heart's desire.\n* And hast not withholden the request of his lips.\nV. For Thou hast prevented him with the blessings of sweetness: Thou hast set a crown of precious stones upon his head.\nR. And hast not withholden the request of his lips."
|
||||
- la: "R. Stola jucunditátis índuit eum Dóminus:\n* Et corónam pulchritúdinis pósuit super caput ejus.\nV. Cibávit illum Dóminus pane vitæ et intelléctus: et aqua sapiéntiæ salutáris potávit illum.\nR. Et corónam pulchritúdinis pósuit super caput ejus."
|
||||
en: "R. The Lord hath put on him a robe of honour,\n* And put about his head a crown of joy.\nV. With the bread of life and understanding hath the Lord fed him, and given him the water of health and wisdom to drink.\nR. And put about his head a crown of joy."
|
||||
- la: "R. Coróna áurea super caput ejus,\n* Expréssa signo sanctitátis, glória honóris, et opus fortitúdinis.\nV. Quóniam prævenísti eum in benedictiónibus dulcédinis, posuísti in cápite ejus corónam de lápide pretióso.\nR. Expréssa signo sanctitátis, glória honóris, et opus fortitúdinis."
|
||||
en: "R. A crown of gold upon his head,\n* Wherein is engraved Holiness, an ornament of honour, a costly work.\nV. For Thou hast prevented him with the blessings of sweetness, Thou hast set a crown of precious stones upon his head.\nR. Wherein is engraved Holiness, an ornament of honour, a costly work."
|
||||
- la: "R. Hic est vere Martyr, qui pro Christi nómine sánguinem suum fudit:\n* Qui minas júdicum non tímuit, nec terrénæ dignitátis glóriam quæsívit, sed ad cæléstia regna pervénit.\nV. Justum dedúxit Dóminus per vias rectas, et osténdit illi regnum Dei.\nR. Qui minas júdicum non tímuit, nec terrénæ dignitátis glóriam quæsívit, sed ad cæléstia regna pervénit."
|
||||
en: "R. This is a Martyr indeed, who shed his blood for Christ's Name's sake\n* Who feared not for the threats of judges, nor sought to be great with the glory of this world, but pressed on unto the kingdom of heaven.\nV. The Lord guided the righteous in right paths, and showed him the kingdom of God.\nR. Who feared not for the threats of judges, nor sought to be great with the glory of this world, but pressed on unto the kingdom of heaven."
|
||||
common-of-a-martyr-bishop:
|
||||
- la: "R. Iste Sanctus pro lege Dei sui certávit usque ad mortem, et a verbis impiórum non tímuit:\n* Fundátus enim erat supra firmam petram.\nV. Iste est qui contémpsit vitam mundi, et pervénit ad cæléstia regna.\nR. Fundátus enim erat supra firmam petram."
|
||||
en: "R. This man is holy, for he hath striven for the law of his God even unto death, and hath not feared for the words of the ungodly;\n* For he had his foundation upon a strong rock.\nV. This is he which loved not his life in this world, and is come unto an everlasting kingdom.\nR. For he had his foundation upon a strong rock."
|
||||
- la: "R. Justus germinábit sicut lílium:\n* Et florébit in ætérnum ante Dóminum.\nV. Plantátus in domo Dómini, in átriis domus Dei nostri.\nR. Et florébit in ætérnum ante Dóminum."
|
||||
en: "R. The righteous shall grow as the lily\n* Yea, he shall flourish in the presence of the Lord for ever.\nV. Those that be planted in the house of the Lord, shall flourish in the courts of the house of our God.\nR. Yea, he shall flourish in the presence of the Lord for ever."
|
||||
- la: "R. Iste cognóvit justítiam, et vidit mirabília magna, et exorávit Altíssimum\n* Et invéntus est in número Sanctórum.\nV. Iste est qui contémpsit vitam mundi, et pervénit ad cæléstia regna.\nR. Et invéntus est in número Sanctórum."
|
||||
en: "R. This is he which knew righteousness, and saw great wonders, and made his prayer unto the Most High\n* And he is numbered among the Saints.\nV. This is he which loved not his life in this world, and is come unto an everlasting kingdom.\nR. And he is numbered among the Saints."
|
||||
- la: "R. Honéstum fecit illum Dóminus, et custodívit eum ab inimícis, et a seductóribus tutávit illum:\n* Et dedit illi claritátem ætérnam.\nV. Descendítque cum illo in fóveam, et in vínculis non derelíquit eum.\nR. Et dedit illi claritátem ætérnam."
|
||||
en: "R. The Lord made him honourable, and defended him from his enemies, and kept him safe from those that lay in wait for him,\n* And gave him perpetual glory.\nV. He went down with him into the pit, and left him not in bonds.\nR. And gave him perpetual glory."
|
||||
- la: "R. Desidérium ánimæ ejus tribuísti ei Dómine,\n* Et voluntáte labiórum ejus non fraudásti eum.\nV. Quóniam prævenísti eum in benedictiónibus dulcédinis: posuísti in cápite ejus corónam de lápide pretióso.\nR. Et voluntáte labiórum ejus non fraudásti eum."
|
||||
en: "R. Lord, Thou hast given him his heart's desire.\n* And hast not withholden the request of his lips.\nV. For Thou hast prevented him with the blessings of sweetness: Thou hast set a crown of precious stones upon his head.\nR. And hast not withholden the request of his lips."
|
||||
- la: "R. Stola jucunditátis índuit eum Dóminus:\n* Et corónam pulchritúdinis pósuit super caput ejus.\nV. Cibávit illum Dóminus pane vitæ et intelléctus: et aqua sapiéntiæ salutáris potávit illum.\nR. Et corónam pulchritúdinis pósuit super caput ejus."
|
||||
en: "R. The Lord hath put on him a robe of honour,\n* And put about his head a crown of joy.\nV. With the bread of life and understanding hath the Lord fed him, and given him the water of health and wisdom to drink.\nR. And put about his head a crown of joy."
|
||||
- la: "R. Coróna áurea super caput ejus,\n* Expréssa signo sanctitátis, glória honóris, et opus fortitúdinis.\nV. Quóniam prævenísti eum in benedictiónibus dulcédinis, posuísti in cápite ejus corónam de lápide pretióso.\nR. Expréssa signo sanctitátis, glória honóris, et opus fortitúdinis."
|
||||
en: "R. A crown of gold upon his head,\n* Wherein is engraved Holiness, an ornament of honour, a costly work.\nV. For Thou hast prevented him with the blessings of sweetness, Thou hast set a crown of precious stones upon his head.\nR. Wherein is engraved Holiness, an ornament of honour, a costly work."
|
||||
- la: "R. Hic est vere Martyr, qui pro Christi nómine sánguinem suum fudit:\n* Qui minas júdicum non tímuit, nec terrénæ dignitátis glóriam quæsívit, sed ad cæléstia regna pervénit.\nV. Justum dedúxit Dóminus per vias rectas, et osténdit illi regnum Dei.\nR. Qui minas júdicum non tímuit, nec terrénæ dignitátis glóriam quæsívit, sed ad cæléstia regna pervénit."
|
||||
en: "R. This is a Martyr indeed, who shed his blood for Christ's Name's sake\n* Who feared not for the threats of judges, nor sought to be great with the glory of this world, but pressed on unto the kingdom of heaven.\nV. The Lord guided the righteous in right paths, and showed him the kingdom of God.\nR. Who feared not for the threats of judges, nor sought to be great with the glory of this world, but pressed on unto the kingdom of heaven."
|
||||
common-of-a-virgin:
|
||||
- la: "R. Veni Sponsa Christi, áccipe corónam, quam tibi Dóminus præparávit in ætérnum; pro cujus amóre sánguinem tuum fudísti,\n* Et cum Ángelis in paradísum introísti.\nV. Veni, elécta mea, et ponam in te thronum meum; quia concupívit Rex spéciem tuam.\nR. Et cum Ángelis in paradísum introísti."
|
||||
en: "R. Come, Bride of Christ, and take the everlasting crown, which the Lord hath prepared for thee, even for thee who for the love of Him hast shed thy blood;\n* And art entered with Angels into His garden.\nV. Come, O My chosen one, and I will establish My throne in thee, for the King hath reatly desired thy beauty\nR. And art entered with Angels into His garden."
|
||||
- la: "R. Diffúsa est grátia in lábiis tuis,\n* Proptérea benedíxit te Deus in ætérnum.\nV. Spécie tua et pulchritúdine tua inténde, próspere procéde, et regna.\nR. Proptérea benedíxit te Deus in ætérnum."
|
||||
en: "R. Grace is poured into thy lips, therefore;\n* God hath blessed thee for ever.\nV. In thy comeliness and thy beauty, go forward, fare prosperously, and reign.\nR. God hath blessed thee for ever."
|
||||
- la: "R. Spécie tua et pulchritúdine tua\n* Inténde, próspere procéde, et regna.\nV. Diffúsa est grátia in lábiis tuis, proptérea benedíxit te Deus in ætérnum.\nR. Inténde, próspere procéde, et regna."
|
||||
en: "R. In thy comeliness and thy beauty;\n* Go forward, fare prosperously, and reign.\nV. Grace is poured into thy lips, therefore God hath blessed thee for ever.\nR. Go forward, fare prosperously, and reign."
|
||||
- la: "R. Propter veritátem, et mansuetúdinem, et justítiam:\n* Et dedúcet te mirabíliter déxtera tua.\nV. Spécie tua et pulchritúdine tua inténde, próspere procéde, et regna.\nR. Et dedúcet te mirabíliter déxtera tua."
|
||||
en: "R. Because of truth, and meekness, and righteousness;\n* And thy right hand shall lead thee wonderfully.\nV. In thy comeliness, and thy beauty, go forward, fare prosperously, and reign.\nR. And thy right hand shall lead thee wonderfully."
|
||||
- la: "R. Dilexísti justítiam, et odísti iniquitátem:\n* Proptérea unxit te Deus, Deus tuus, óleo lætítiæ.\nV. Propter veritátem, et mansuetúdinem, et justítiam.\nR. Proptérea unxit te Deus, Deus tuus, óleo lætítiæ."
|
||||
en: "R. Thou hast loved righteousness, and hated iniquity;\n* Therefore God, thy God, hath anointed thee with the oil of gladness.\nV. Because of truth, and meekness, and righteousness.\nR. Therefore God, thy God, hath anointed thee with the oil of gladness."
|
||||
- la: "R. Afferéntur Regi vírgines post eam, próximæ ejus;\n* Afferéntur tibi in lætítia et exsultatióne.\nV. Spécie tua et pulchritúdine tua; inténde, próspere procéde, et regna.\nR. Afferéntur tibi in lætítia et exsultatióne."
|
||||
en: "R. After her shall virgins be brought unto the King, her fellows\n* They shall be brought unto thee with gladness and rejoicing.\nV. In thy comeliness and thy beauty, go forward, fare prosperously, and reign.\nR. They shall be brought unto thee with gladness and rejoicing."
|
||||
- la: "R. Hæc est Virgo sápiens, quam Dóminus vigilántem invénit, quæ accéptis lampádibus sumpsit secum óleum:\n* Et veniénte Dómino, introívit cum eo ad núptias.\nV. Média nocte clamor factus est: Ecce sponsus venit, exíte óbviam ei.\nR. Et veniénte Dómino, introívit cum eo ad núptias."
|
||||
en: "R. This is one of those wise virgins, whom the Lord found watching, for when she took her lamp, she took oil with her.\n* And when the Lord came, she went in with him to the marriage.\nV. At midnight there was a cry made: Behold, the Bridegroom cometh, go ye out to meet him.\nR. And when the Lord came, she went in with him to the marriage."
|
||||
- la: "R. Média nocte clamor factus est:\n* Ecce sponsus venit, exíte óbviam ei.\nV. Prudéntes vírgines, aptáte vestras lámpades.\nR. Ecce sponsus venit, exíte óbviam ei."
|
||||
en: "R. At midnight there was a cry made:\n* Behold, the Bridegroom cometh, go ye out to meet him.\nV. Trim your lamps, O ye wise virgins.\nR. Behold, the Bridegroom cometh, go ye out to meet him."
|
||||
common-of-a-virgin-martyr:
|
||||
- la: "R. Veni Sponsa Christi, áccipe corónam, quam tibi Dóminus præparávit in ætérnum; pro cujus amóre sánguinem tuum fudísti,\n* Et cum Ángelis in paradísum introísti.\nV. Veni, elécta mea, et ponam in te thronum meum; quia concupívit Rex spéciem tuam.\nR. Et cum Ángelis in paradísum introísti."
|
||||
en: "R. Come, Bride of Christ, and take the everlasting crown, which the Lord hath prepared for thee, even for thee who for the love of Him hast shed thy blood;\n* And art entered with Angels into His garden.\nV. Come, O My chosen one, and I will establish My throne in thee, for the King hath reatly desired thy beauty\nR. And art entered with Angels into His garden."
|
||||
- la: "R. Diffúsa est grátia in lábiis tuis,\n* Proptérea benedíxit te Deus in ætérnum.\nV. Spécie tua et pulchritúdine tua inténde, próspere procéde, et regna.\nR. Proptérea benedíxit te Deus in ætérnum."
|
||||
en: "R. Grace is poured into thy lips, therefore;\n* God hath blessed thee for ever.\nV. In thy comeliness and thy beauty, go forward, fare prosperously, and reign.\nR. God hath blessed thee for ever."
|
||||
- la: "R. Spécie tua et pulchritúdine tua\n* Inténde, próspere procéde, et regna.\nV. Diffúsa est grátia in lábiis tuis, proptérea benedíxit te Deus in ætérnum.\nR. Inténde, próspere procéde, et regna."
|
||||
en: "R. In thy comeliness and thy beauty;\n* Go forward, fare prosperously, and reign.\nV. Grace is poured into thy lips, therefore God hath blessed thee for ever.\nR. Go forward, fare prosperously, and reign."
|
||||
- la: "R. Propter veritátem, et mansuetúdinem, et justítiam:\n* Et dedúcet te mirabíliter déxtera tua.\nV. Spécie tua et pulchritúdine tua inténde, próspere procéde, et regna.\nR. Et dedúcet te mirabíliter déxtera tua."
|
||||
en: "R. Because of truth, and meekness, and righteousness;\n* And thy right hand shall lead thee wonderfully.\nV. In thy comeliness, and thy beauty, go forward, fare prosperously, and reign.\nR. And thy right hand shall lead thee wonderfully."
|
||||
- la: "R. Dilexísti justítiam, et odísti iniquitátem:\n* Proptérea unxit te Deus, Deus tuus, óleo lætítiæ.\nV. Propter veritátem, et mansuetúdinem, et justítiam.\nR. Proptérea unxit te Deus, Deus tuus, óleo lætítiæ."
|
||||
en: "R. Thou hast loved righteousness, and hated iniquity;\n* Therefore God, thy God, hath anointed thee with the oil of gladness.\nV. Because of truth, and meekness, and righteousness.\nR. Therefore God, thy God, hath anointed thee with the oil of gladness."
|
||||
- la: "R. Afferéntur Regi vírgines post eam, próximæ ejus;\n* Afferéntur tibi in lætítia et exsultatióne.\nV. Spécie tua et pulchritúdine tua; inténde, próspere procéde, et regna.\nR. Afferéntur tibi in lætítia et exsultatióne."
|
||||
en: "R. After her shall virgins be brought unto the King, her fellows\n* They shall be brought unto thee with gladness and rejoicing.\nV. In thy comeliness and thy beauty, go forward, fare prosperously, and reign.\nR. They shall be brought unto thee with gladness and rejoicing."
|
||||
- la: "R. Hæc est Virgo sápiens, quam Dóminus vigilántem invénit, quæ accéptis lampádibus sumpsit secum óleum:\n* Et veniénte Dómino, introívit cum eo ad núptias.\nV. Média nocte clamor factus est: Ecce sponsus venit, exíte óbviam ei.\nR. Et veniénte Dómino, introívit cum eo ad núptias."
|
||||
en: "R. This is one of those wise virgins, whom the Lord found watching, for when she took her lamp, she took oil with her.\n* And when the Lord came, she went in with him to the marriage.\nV. At midnight there was a cry made: Behold, the Bridegroom cometh, go ye out to meet him.\nR. And when the Lord came, she went in with him to the marriage."
|
||||
- la: "R. Média nocte clamor factus est:\n* Ecce sponsus venit, exíte óbviam ei.\nV. Prudéntes vírgines, aptáte vestras lámpades.\nR. Ecce sponsus venit, exíte óbviam ei."
|
||||
en: "R. At midnight there was a cry made:\n* Behold, the Bridegroom cometh, go ye out to meet him.\nV. Trim your lamps, O ye wise virgins.\nR. Behold, the Bridegroom cometh, go ye out to meet him."
|
||||
common-of-a-widow:
|
||||
- la: "R. Fallax grátia, et vana est pulchritúdo:\n* Múlier timens Dóminum, ipsa laudábitur.\nV. Date ei de fructu mánuum suárum, et laudent eam in portis ópera ejus.\nR. Múlier timens Dóminum, ipsa laudábitur."
|
||||
en: "R. Favour is deceitful, and beauty is vain\n* A woman that feareth God she shall be praised.\nV. Give her of the fruit of her hands, and let her own works praise her in the gates.\nR. A woman that feareth God she shall be praised."
|
||||
- la: "R. Os suum apéruit sapiéntiæ, et lex cleméntiæ in lingua ejus: considerávit sémitas domus suæ,\n* Et panem otiósa non comédit.\nV. Gustávit et vidit quia bona est negotiátio ejus: non exstinguétur in nocte lucérna ejus.\nR. Et panem otiósa non comédit."
|
||||
en: "R. She openeth her mouth with wisdom, and in her tongue is the law of kindness. She looketh well to the ways of her household\n* And eateth not the bread of idleness.\nV. She tasteth and perceiveth that her merchandise is good. Her candle goeth not out by night.\nR. And she eateth not the bread of idleness."
|
||||
- la: "R. Regnum mundi et omnem ornátum sǽculi contémpsi, propter amórem Dómini mei Jesu Christi:\n* Quem vidi, quem amávi, in quem crédidi, quem diléxi.\nV. Eructávit cor meum verbum bonum: dico ego ópera mea Regi.\nR. Quem vidi, quem amávi, in quem crédidi, quem diléxi."
|
||||
en: "R. The kingdom of this world and all the beauty of life I have esteemed as nothing, for the excellency of the love of Jesus Christ my Lord\n* Whom, having seen, I loved Whom, having believed, I longed after.\nV. My heart is overflowing with a good matter I speak of my works unto the King.\nR. Whom, having seen, I loved Whom, having believed, I longed after."
|
||||
common-of-an-abbot:
|
||||
- la: "R. Justus germinábit sicut lílium:\n* Et florébit in ætérnum ante Dóminum.\nV. Plantátus in domo Dómini, in átriis domus Dei nostri.\nR. Et florébit in ætérnum ante Dóminum."
|
||||
en: "R. The righteous shall grow as the lily;\n* Yea, he shall flourish in the presence of the Lord for ever.\nV. Those that be planted in the house of the Lord, shall flourish in the courts of the house of our God.\nR. Yea, he shall flourish in the presence of the Lord for ever."
|
||||
- la: "R. Iste cognóvit justítiam, et vidit mirabília magna, et exorávit Altíssimum:\n* Et invéntus est in número Sanctórum.\nV. Iste est qui contémpsit vitam mundi, et pervénit ad cæléstia regna.\nR. Et invéntus est in número Sanctórum."
|
||||
en: "R. This is he which knew righteousness, and saw great wonders, and made his prayer unto the Most High;\n* And he is numbered among the Saints.\nV. This is he which loved not his life in this world, and is come unto an everlasting kingdom.\nR. And he is numbered among the Saints."
|
||||
- la: "R. Honéstum fecit illum Dóminus, et custodívit eum ab inimícis, et a seductóribus tutávit illum:\n* Et dedit illi claritátem ætérnam.\nV. Justum dedúxit Dóminus per vias rectas, et osténdit illi regnum Dei.\nR. Et dedit illi claritátem ætérnam."
|
||||
en: "R. The Lord made him honourable, and defended him from his enemies, and kept him safe from those that lay in wait for him;\n* And gave him perpetual glory.\nV. He went down with him into the pit, and left him not in bonds.\nR. And gave him perpetual glory."
|
||||
- la: "R. Amávit eum Dóminus, et ornávit eum: stolam glóriæ índuit eum,\n* Et ad portas paradísi coronávit eum.\nV. Índuit eum Dóminus lorícam fídei, et ornávit eum.\nR. Et ad portas paradísi coronávit eum."
|
||||
en: "R. The Lord loved him and beautified him; He clothed him with a robe of glory,\n* And crowned him at the gates of Paradise.\nV. The Lord hath put on him the breast-plate of faith, and hath adorned him.\nR. And crowned him at the gates of Paradise."
|
||||
- la: "R. Iste homo perfécit ómnia quæ locútus est ei Deus, et dixit ad eum: Ingrédere in réquiem meam:\n* Quia te vidi justum coram me ex ómnibus géntibus.\nV. Iste est, qui contémpsit vitam mundi, et pervénit ad cæléstia regna.\nR. Quia te vidi justum coram me ex ómnibus géntibus."
|
||||
en: "R. This is he which did according unto all that God commanded him; and God said unto him: Enter thou into My rest,\n* For thee have I seen righteous before Me among all people.\nV. This is he which loved not his life in this world, and is come unto an everlasting kingdom.\nR. For thee have I seen righteous before Me among all people."
|
||||
- la: "R. Iste est qui ante Deum magnas virtútes operátus est, et de omni corde suo laudávit Dóminum:\n* Ipse intercédat pro peccátis ómnium populórum.\nV. Ecce homo sine queréla, verus Dei cultor, ábstinens se ab omni ópere malo, et pérmanens in innocéntia sua.\nR. Ipse intercédat pro peccátis ómnium populórum."
|
||||
en: "R. This is he which wrought great wonders before God, and praised the Lord with all his heart.\n* May he pray for all people, that their sins may be forgiven unto them.\nV. Behold a man without blame, a worshipper of God in truth, keeping himself clean from every evil work, and abiding still in his innocency.\nR. May he pray for all people, that their sins may be forgiven unto them."
|
||||
common-of-an-apostle:
|
||||
- la: "R. Ecce ego mitto vos sicut oves in médio lupórum, dicit Dóminus:\n* Estóte ergo prudéntes sicut serpéntes, et símplices sicut colúmbæ.\nV. Dum lucem habétis, crédite in lucem, ut fílii lucis sitis.\nR. Estóte ergo prudéntes sicut serpéntes, et símplices sicut colúmbæ."
|
||||
en: "R. Behold, I send you as sheep in the midst of wolves, said the Lord:\n* Be ye, therefore, wise as serpents and simple as doves.\nV. Whilst you have the light, believe in the light, that you may be the children of light.\nR. Be ye therefore wise as serpents and simple as doves."
|
||||
- la: "R. Tóllite jugum meum super vos, dicit Dóminus, et díscite a me, quia mitis sum et húmilis corde:\n* Jugum enim meum suáve est, et onus meum leve.\nV. Et inveniétis réquiem animábus vestris.\nR. Jugum enim meum suáve est, et onus meum leve."
|
||||
en: "R. Take up my yoke upon you, said the Lord, and learn of me, because I am meek, and humble of heart.\n* For my yoke is sweet and my burden light.\nV. And you shall find rest to your souls.\nR. For my yoke is sweet and my burden light."
|
||||
- la: "R. Dum stetéritis ante reges et prǽsides, nolíte cogitáre quómodo aut quid loquámini:\n* Dábitur enim vobis in illa hora, quid loquámini.\nV. Non enim vos estis qui loquímini: sed Spíritus Patris vestri, qui lóquitur in vobis.\nR. Dábitur enim vobis in illa hora, quid loquámini."
|
||||
en: "R. But when they shall deliver you up to the judges, take no thought how or what to speak:\n* for it shall be given you in that hour what to speak:\nV. For it is not you that speak, but the spirit of your Father that speaketh in you.\nR. For it shall be given you in that hour what to speak."
|
||||
- la: "R. Vidi conjúnctos viros, habéntes spléndidas vestes, et Ángelus Dómini locútus est ad me, dicens:\n* Isti sunt viri sancti facti amíci Dei.\nV. Vidi Ángelum Dei fortem, volántem per médium cælum, voce magna clamántem et dicéntem.\nR. Isti sunt viri sancti facti amíci Dei."
|
||||
en: "R. I saw men standing together, clad in shining raiment, and the Angel of the Lord spoke unto me, saying:\n* These men are holy, for they are the friends of God.\nV. I saw a strong Angel of God fly into the midst of heaven, saying with a loud voice:\nR. These men are holy, for they are the friends of God."
|
||||
- la: "R. Beáti estis, cum maledíxerint vobis hómines, et persecúti vos fúerint, et díxerint omne malum advérsum vos, mentiéntes, propter me:\n* Gaudéte et exsultáte, quóniam merces vestra copiósa est in cælis.\nV. Cum vos óderint hómines, et cum separáverint vos, et exprobráverint, et ejécerint nomen vestrum tamquam malum propter Fílium hóminis.\nR. Gaudéte et exsultáte, quóniam merces vestra copiósa est in cælis."
|
||||
en: "R. Blessed are ye when men shall revile you, and persecute you, and shall say all manner of evil against you falsely, for My sake;\n* Rejoice, and be exceeding glad, for great is your reward in heaven.\nV. When men shall hate you, and when they shall separate you from their company, and shall reproach you, and cast out your name as evil, for the Son of Man's sake.\nR. Rejoice, and be exceeding glad, for great is your reward in heaven."
|
||||
- la: "R. Isti sunt triumphatóres et amíci Dei, qui contemnéntes jussa príncipum, meruérunt prǽmia ætérna:\n* Modo coronántur, et accípiunt palmam.\nV. Isti sunt qui venérunt ex magna tribulatióne, et lavérunt stolas suas in sánguine Agni.\nR. Modo coronántur, et accípiunt palmam."
|
||||
en: "R. These are they which have conquered, and are become the friends of God, who recked not of the commandments of princes, and earned the everlasting reward.\n* And now have they crowns on their heads, and palms in their hands.\nV. These are they which came out of great tribulation, and have washed their robes in the blood of the Lamb.\nR. And now have they crowns on their heads, and palms in their hands."
|
||||
- la: "R. Isti sunt qui vivéntes in carne, plantavérunt Ecclésiam sánguine suo:\n* Cálicem Dómini bibérunt, et amíci Dei facti sunt.\nV. In omnem terram exívit sonus eórum, et in fines orbis terræ verba eórum.\nR. Cálicem Dómini bibérunt, et amíci Dei facti sunt."
|
||||
en: "R. These are they who while yet they lived in the flesh, planted the Church in their own blood;\n* They drank of the Lord's cup, and became the friends of God.\nV. Their sound is gone out through all the earth, and their words to the ends of the world.\nR. They drank of the Lord's cup, and became the friends of God."
|
||||
- la: "R. Isti sunt viri sancti, quos elégit Dóminus in caritáte non ficta, et dedit illis glóriam sempitérnam:\n* Quorum doctrína fulget Ecclésia, ut sole luna.\nV. Sancti per fidem vicérunt regna: operáti sunt justítiam.\nR. Quorum doctrína fulget Ecclésia, ut sole luna."
|
||||
en: "R. These men are saints, whom the Lord hath chosen in love unfeigned, and hath given them glory everlasting. These are they\n* By the light of whose teaching the Church is glorified, even as the moon is glorified by the light of the sun.\nV. The saints through faith subdued kingdoms, wrought righteousness.\nR. By the light of whose teaching the Church is glorified, even as the moon is glorified by the light of the sun."
|
||||
common-of-apostles:
|
||||
- la: "R. Ecce ego mitto vos sicut oves in médio lupórum, dicit Dóminus:\n* Estóte ergo prudéntes sicut serpéntes, et símplices sicut colúmbæ.\nV. Dum lucem habétis, crédite in lucem, ut fílii lucis sitis.\nR. Estóte ergo prudéntes sicut serpéntes, et símplices sicut colúmbæ."
|
||||
en: "R. Behold, I send you as sheep in the midst of wolves, said the Lord:\n* Be ye, therefore, wise as serpents and simple as doves.\nV. Whilst you have the light, believe in the light, that you may be the children of light.\nR. Be ye therefore wise as serpents and simple as doves."
|
||||
- la: "R. Tóllite jugum meum super vos, dicit Dóminus, et díscite a me, quia mitis sum et húmilis corde:\n* Jugum enim meum suáve est, et onus meum leve.\nV. Et inveniétis réquiem animábus vestris.\nR. Jugum enim meum suáve est, et onus meum leve."
|
||||
en: "R. Take up my yoke upon you, said the Lord, and learn of me, because I am meek, and humble of heart.\n* For my yoke is sweet and my burden light.\nV. And you shall find rest to your souls.\nR. For my yoke is sweet and my burden light."
|
||||
- la: "R. Dum stetéritis ante reges et prǽsides, nolíte cogitáre quómodo aut quid loquámini:\n* Dábitur enim vobis in illa hora, quid loquámini.\nV. Non enim vos estis qui loquímini: sed Spíritus Patris vestri, qui lóquitur in vobis.\nR. Dábitur enim vobis in illa hora, quid loquámini."
|
||||
en: "R. But when they shall deliver you up to the judges, take no thought how or what to speak:\n* for it shall be given you in that hour what to speak:\nV. For it is not you that speak, but the spirit of your Father that speaketh in you.\nR. For it shall be given you in that hour what to speak."
|
||||
- la: "R. Vidi conjúnctos viros, habéntes spléndidas vestes, et Ángelus Dómini locútus est ad me, dicens:\n* Isti sunt viri sancti facti amíci Dei.\nV. Vidi Ángelum Dei fortem, volántem per médium cælum, voce magna clamántem et dicéntem.\nR. Isti sunt viri sancti facti amíci Dei."
|
||||
en: "R. I saw men standing together, clad in shining raiment, and the Angel of the Lord spoke unto me, saying:\n* These men are holy, for they are the friends of God.\nV. I saw a strong Angel of God fly into the midst of heaven, saying with a loud voice:\nR. These men are holy, for they are the friends of God."
|
||||
- la: "R. Beáti estis, cum maledíxerint vobis hómines, et persecúti vos fúerint, et díxerint omne malum advérsum vos, mentiéntes, propter me:\n* Gaudéte et exsultáte, quóniam merces vestra copiósa est in cælis.\nV. Cum vos óderint hómines, et cum separáverint vos, et exprobráverint, et ejécerint nomen vestrum tamquam malum propter Fílium hóminis.\nR. Gaudéte et exsultáte, quóniam merces vestra copiósa est in cælis."
|
||||
en: "R. Blessed are ye when men shall revile you, and persecute you, and shall say all manner of evil against you falsely, for My sake;\n* Rejoice, and be exceeding glad, for great is your reward in heaven.\nV. When men shall hate you, and when they shall separate you from their company, and shall reproach you, and cast out your name as evil, for the Son of Man's sake.\nR. Rejoice, and be exceeding glad, for great is your reward in heaven."
|
||||
- la: "R. Isti sunt triumphatóres et amíci Dei, qui contemnéntes jussa príncipum, meruérunt prǽmia ætérna:\n* Modo coronántur, et accípiunt palmam.\nV. Isti sunt qui venérunt ex magna tribulatióne, et lavérunt stolas suas in sánguine Agni.\nR. Modo coronántur, et accípiunt palmam."
|
||||
en: "R. These are they which have conquered, and are become the friends of God, who recked not of the commandments of princes, and earned the everlasting reward.\n* And now have they crowns on their heads, and palms in their hands.\nV. These are they which came out of great tribulation, and have washed their robes in the blood of the Lamb.\nR. And now have they crowns on their heads, and palms in their hands."
|
||||
- la: "R. Isti sunt qui vivéntes in carne, plantavérunt Ecclésiam sánguine suo:\n* Cálicem Dómini bibérunt, et amíci Dei facti sunt.\nV. In omnem terram exívit sonus eórum, et in fines orbis terræ verba eórum.\nR. Cálicem Dómini bibérunt, et amíci Dei facti sunt."
|
||||
en: "R. These are they who while yet they lived in the flesh, planted the Church in their own blood;\n* They drank of the Lord's cup, and became the friends of God.\nV. Their sound is gone out through all the earth, and their words to the ends of the world.\nR. They drank of the Lord's cup, and became the friends of God."
|
||||
- la: "R. Isti sunt viri sancti, quos elégit Dóminus in caritáte non ficta, et dedit illis glóriam sempitérnam:\n* Quorum doctrína fulget Ecclésia, ut sole luna.\nV. Sancti per fidem vicérunt regna: operáti sunt justítiam.\nR. Quorum doctrína fulget Ecclésia, ut sole luna."
|
||||
en: "R. These men are saints, whom the Lord hath chosen in love unfeigned, and hath given them glory everlasting. These are they\n* By the light of whose teaching the Church is glorified, even as the moon is glorified by the light of the sun.\nV. The saints through faith subdued kingdoms, wrought righteousness.\nR. By the light of whose teaching the Church is glorified, even as the moon is glorified by the light of the sun."
|
||||
common-of-several-confessors:
|
||||
- la: "R. Justus germinábit sicut lílium:\n* Et florébit in ætérnum ante Dóminum.\nV. Plantátus in domo Dómini, in átriis domus Dei nostri.\nR. Et florébit in ætérnum ante Dóminum."
|
||||
en: "R. The righteous shall grow as the lily;\n* Yea, he shall flourish in the presence of the Lord for ever.\nV. Those that be planted in the house of the Lord, shall flourish in the courts of the house of our God.\nR. Yea, he shall flourish in the presence of the Lord for ever."
|
||||
- la: "R. Iste cognóvit justítiam, et vidit mirabília magna, et exorávit Altíssimum:\n* Et invéntus est in número Sanctórum.\nV. Iste est qui contémpsit vitam mundi, et pervénit ad cæléstia regna.\nR. Et invéntus est in número Sanctórum."
|
||||
en: "R. This is he which knew righteousness, and saw great wonders, and made his prayer unto the Most High;\n* And he is numbered among the Saints.\nV. This is he which loved not his life in this world, and is come unto an everlasting kingdom.\nR. And he is numbered among the Saints."
|
||||
- la: "R. Honéstum fecit illum Dóminus, et custodívit eum ab inimícis, et a seductóribus tutávit illum:\n* Et dedit illi claritátem ætérnam.\nV. Justum dedúxit Dóminus per vias rectas, et osténdit illi regnum Dei.\nR. Et dedit illi claritátem ætérnam."
|
||||
en: "R. The Lord made him honourable, and defended him from his enemies, and kept him safe from those that lay in wait for him;\n* And gave him perpetual glory.\nV. He went down with him into the pit, and left him not in bonds.\nR. And gave him perpetual glory."
|
||||
- la: "R. Amávit eum Dóminus, et ornávit eum: stolam glóriæ índuit eum,\n* Et ad portas paradísi coronávit eum.\nV. Índuit eum Dóminus lorícam fídei, et ornávit eum.\nR. Et ad portas paradísi coronávit eum."
|
||||
en: "R. The Lord loved him and beautified him; He clothed him with a robe of glory,\n* And crowned him at the gates of Paradise.\nV. The Lord hath put on him the breast-plate of faith, and hath adorned him.\nR. And crowned him at the gates of Paradise."
|
||||
- la: "R. Iste homo perfécit ómnia quæ locútus est ei Deus, et dixit ad eum: Ingrédere in réquiem meam:\n* Quia te vidi justum coram me ex ómnibus géntibus.\nV. Iste est, qui contémpsit vitam mundi, et pervénit ad cæléstia regna.\nR. Quia te vidi justum coram me ex ómnibus géntibus."
|
||||
en: "R. This is he which did according unto all that God commanded him; and God said unto him: Enter thou into My rest,\n* For thee have I seen righteous before Me among all people.\nV. This is he which loved not his life in this world, and is come unto an everlasting kingdom.\nR. For thee have I seen righteous before Me among all people."
|
||||
- la: "R. Iste est qui ante Deum magnas virtútes operátus est, et de omni corde suo laudávit Dóminum:\n* Ipse intercédat pro peccátis ómnium populórum.\nV. Ecce homo sine queréla, verus Dei cultor, ábstinens se ab omni ópere malo, et pérmanens in innocéntia sua.\nR. Ipse intercédat pro peccátis ómnium populórum."
|
||||
en: "R. This is he which wrought great wonders before God, and praised the Lord with all his heart.\n* May he pray for all people, that their sins may be forgiven unto them.\nV. Behold a man without blame, a worshipper of God in truth, keeping himself clean from every evil work, and abiding still in his innocency.\nR. May he pray for all people, that their sins may be forgiven unto them."
|
||||
common-of-several-martyrs:
|
||||
- la: "R. Abstérget Deus omnem lácrimam ab óculis Sanctórum: et jam non erit ámplius neque luctus, neque clamor, sed nec ullus dolor:\n* Quóniam prióra transiérunt.\nV. Non esúrient, neque sítient ámplius, neque cadet super illos sol, neque ullus æstus.\nR. Quóniam prióra transiérunt."
|
||||
en: "R. God shall wipe away all tears from the eyes of His Saints, and there shall be no more sorrow, there shall be no more death, neither sorrow, nor crying, neither shall there be any more pain;\n* For the former things are passed away.\nV. They shall hunger no more, neither thirst any more, neither shall the sun light on them, nor any heat.\nR. For the former things are passed away."
|
||||
- la: "R. Viri sancti gloriósum sánguinem fudérunt pro Dómino, amavérunt Christum in vita sua, imitáti sunt eum in morte sua:\n* Et ídeo corónas triumpháles meruérunt.\nV. Unus spíritus, et una fides erat in eis.\nR. Et ídeo corónas triumpháles meruérunt."
|
||||
en: "R. These men are holy, who have gloriously shed their blood for the Lord's sake, yea, who loved Christ in their lives, and were made like unto Him in their flesh,\n* And therefore they have earned crowns of victory.\nV. One spirit, and one faith was in them.\nR. And therefore they have earned crowns of victory."
|
||||
- la: "R. Tradidérunt córpora sua propter Deum ad supplícia:\n* Et meruérunt habére corónas perpétuas.\nV. Isti sunt qui venérunt ex magna tribulatióne, et lavérunt stolas suas in sánguine Agni.\nR. Et meruérunt habére corónas perpétuas."
|
||||
en: "R. They gave their bodies for God’s sake to death\n* And gained the everlasting crown.\nV. These are they which came out of great tribulation, and have washed their robes in the Blood of the Lamb.\nR. And gained the everlasting crown."
|
||||
- la: "R. Sancti tui, Dómine, mirábile consecúti sunt iter, serviéntes præcéptis tuis, ut inveniréntur illǽsi in aquis válidis:\n* Terra appáruit árida: et in Mari Rubro via sine impediménto.\nV. Quóniam percússit petram, et fluxérunt aquæ, et torréntes inundavérunt.\nR. Terra appáruit árida: et in Mari Rubro via sine impediménto."
|
||||
en: "R. thy Saints, O Lord, have passed a wonderful way, serving thy commandments, that they might be found without hurt in the midst of the mighty waters.\n* Dry land appeared, and, out of the Red Sea, a way without impediment.\nV. He smote the rock, and the waters gushed out, and the streams overflowed.\nR. Dry land appeared, and, out of the Red Sea, a way without impediment."
|
||||
- la: "R. Vérbera carníficum non timuérunt Sancti Dei, moriéntes pro Christi nómine:\n* Ut herédes fíerent in domo Dómini.\nV. Tradidérunt córpora sua propter Deum ad supplícia.\nR. Ut herédes fíerent in domo Dómini."
|
||||
en: "R. The Saints of God shrank not from the stripes of the executioners, but died for Christ's Name's sake\n* That they might be made joint-heirs in the house of the Lord.\nV. They gave their bodies for God's sake to death.\nR. That they might be made joint-heirs in the house of the Lord."
|
||||
- la: "R. Tamquam aurum in fornáce probávit eléctos Dóminus, et quasi holocáusti hóstiam accépit illos: et in témpore erit respéctus illórum:\n* Quóniam donum et pax est eléctis Dei.\nV. Qui confídunt in illum, intélligent veritátem, et fidéles in dilectióne acquiéscent illi.\nR. Quóniam donum et pax est eléctis Dei."
|
||||
en: "R. As gold in the furnace hath the Lord tried His chosen ones, and received them as a burnt-offering, and yet a while, and they shall be regarded;\n* For the grace of God, and His peace, are with His chosen.\nV. They that put their trust in Him shall understand the truth and such as be faithful in love shall abide with Him.\nR. For the grace of God, and His peace, are with His chosen."
|
||||
- la: "R. Propter testaméntum Dómini, et leges patérnas, Sancti Dei perstitérunt in amóre fraternitátis:\n* Quia unus fuit semper spíritus in eis, et una fides.\nV. Ecce quam bonum et quam jucúndum habitáre fratres in unum.\nR. Quia unus fuit semper spíritus in eis, et una fides."
|
||||
en: "R. Because of the covenant of the Lord, and the laws of their fathers, the Saints of God abode in brotherly love,\n* For one spirit and one faith was ever in them.\nV. Behold how good and how pleasant it is for brethren to dwell together in unity.\nR. For one spirit and one faith was ever in them."
|
||||
- la: "R. Sancti mei, qui in carne pósiti, certámen habuístis:\n* Mercédem labóris ego reddam vobis.\nV. Veníte benedícti Patris mei, percípite regnum.\nR. Mercédem labóris ego reddam vobis."
|
||||
en: "R. O ye My Saints, who, being in the flesh, didst have striving\n* I will render unto you a reward of your labours.\nV. Come, ye blessed of My Father, inherit the kingdom\nR. I will render unto you a reward of your labours."
|
||||
common-of-several-women-martyrs:
|
||||
- la: "R. Fallax grátia, et vana est pulchritúdo:\n* Múlier timens Dóminum, ipsa laudábitur.\nV. Date ei de fructu mánuum suárum, et laudent eam in portis ópera ejus.\nR. Múlier timens Dóminum, ipsa laudábitur."
|
||||
en: "R. Favour is deceitful, and beauty is vain\n* A woman that feareth God she shall be praised.\nV. Give her of the fruit of her hands, and let her own works praise her in the gates.\nR. A woman that feareth God she shall be praised."
|
||||
- la: "R. Os suum apéruit sapiéntiæ, et lex cleméntiæ in lingua ejus: considerávit sémitas domus suæ,\n* Et panem otiósa non comédit.\nV. Gustávit et vidit quia bona est negotiátio ejus: non exstinguétur in nocte lucérna ejus.\nR. Et panem otiósa non comédit."
|
||||
en: "R. She openeth her mouth with wisdom, and in her tongue is the law of kindness. She looketh well to the ways of her household\n* And eateth not the bread of idleness.\nV. She tasteth and perceiveth that her merchandise is good. Her candle goeth not out by night.\nR. And she eateth not the bread of idleness."
|
||||
- la: "R. Regnum mundi et omnem ornátum sǽculi contémpsi, propter amórem Dómini mei Jesu Christi:\n* Quem vidi, quem amávi, in quem crédidi, quem diléxi.\nV. Eructávit cor meum verbum bonum: dico ego ópera mea Regi.\nR. Quem vidi, quem amávi, in quem crédidi, quem diléxi."
|
||||
en: "R. The kingdom of this world and all the beauty of life I have esteemed as nothing, for the excellency of the love of Jesus Christ my Lord\n* Whom, having seen, I loved Whom, having believed, I longed after.\nV. My heart is overflowing with a good matter I speak of my works unto the King.\nR. Whom, having seen, I loved Whom, having believed, I longed after."
|
||||
common-of-the-bvm:
|
||||
- la: "R. Sancta et immaculáta virgínitas, quibus te láudibus éfferam, néscio:\n* Quia quem cæli cápere non póterant, tuo grémio contulísti.\nV. Benedícta tu in muliéribus, et benedíctus fructus ventris tui.\nR. Quia quem cæli cápere non póterant, tuo grémio contulisti."
|
||||
en: "R. O how holy and how spotless is thy virginity; I am too dull to praise thee:\n* For thou hast borne in thy breast Him Whom the heavens cannot contain.\nV. Blessed art thou among women, and blessed is the fruit of thy womb.\nR. For thou hast borne in thy breast Him Whom the heavens cannot contain."
|
||||
- la: "R. Congratulámini mihi, omnes qui dilígitis Dóminum: quia cum essem párvula, plácui Altíssimo,\n* Et de meis viscéribus génui Deum et hóminem.\nV. Beátam me dicent omnes generatiónes, quia ancíllam húmilem respéxit Deus.\nR. Et de meis viscéribus génui Deum et hóminem."
|
||||
en: "R. Rejoice with me, all ye that love the Lord, for while I was yet a little one, I pleased the Most High.\n* And I have brought forth from my bowels God and man.\nV. All generations shall call me blessed, since the Lord hath regarded the lowliness of his handmaiden.\nR. And I have brought forth from my bowels God and man."
|
||||
- la: "R. Beáta es, Virgo María, quæ Dóminum portásti, Creatórem mundi:\n* Genuísti qui te fecit, et in ætérnum pérmanes Virgo.\nV. Ave, María, grátia plena; Dóminus tecum.\nR. Genuísti qui te fecit, et in ætérnum pérmanes Virgo."
|
||||
en: "R. Blessed art thou, O Virgin Mary, who hast carried the Lord, the Maker of the world.\n* Thou hast borne Him Who created thee, and thou abidest a virgin for ever.\nV. Hail, Mary, full of grace. the Lord is with thee.\nR. Thou hast borne Him Who created thee, and thou abidest a virgin for ever."
|
||||
- la: "R. Sicut cedrus exaltáta sum in Líbano, et sicut cypréssus in monte Sion: quasi myrrha elécta,\n* Dedi suavitátem odóris.\nV. Et sicut cinnamómum et bálsamum aromatízans.\nR. Dedi suavitátem odóris."
|
||||
en: "R. I was exalted like a cedar in Lebanon, and as a cypress-tree upon Mount Zion. Like the best myrrh\n* I yielded a pleasant odour.\nV. Like cinnamon and sweet balsam.\nR. I yielded a pleasant odour."
|
||||
- la: "R. Quæ est ista quæ procéssit sicut sol, et formósa tamquam Jerúsalem?\n* Vidérunt eam fíliæ Sion, et beátam dixérunt, et regínæ laudavérunt eam.\nV. Et sicut dies verni circúmdabant eam flores rosárum et lília convállium.\nR. Vidérunt eam fíliæ Sion, et beátam dixérunt, et regínæ laudavérunt eam."
|
||||
en: "R. Who is this that cometh up like the sun? This, comely as Jerusalem?\n* The daughters of Zion saw her, and called her blessed: the queens also, and they praised her.\nV. And about her it was as the flower of roses in the spring of the year, and lilies of the valleys.\nR. The daughters of Zion saw her, and called her blessed the queens also, and they praised her."
|
||||
- la: "R. Ornátam monílibus fíliam Jerúsalem Dóminus concupívit:\n* Et vidéntes eam fíliæ Sion, beatíssimam prædicavérunt, dicéntes: * Unguéntum effúsum nomen tuum.\nV. Astitit regína a dextris tuis in vestítu deauráto, circúmdata varietáte.\nR. Et vidéntes eam fíliæ Sion, beatíssimam prædicavérunt, dicéntes:"
|
||||
en: "R. When the Lord beheld the daughter of Jerusalem adorned with her jewels, He greatly desired her beauty\n* And when the daughters of Zion saw her, they cried out that she was most blessed, saying thy name is as ointment poured forth.\nV. Upon thy right hand did stand the Queen in a vesture of gold wrought about with diverse colours.\nR. And when the daughters of Zion saw her, they cried out that she was most blessed, saying:"
|
||||
- la: "R. Felix namque es, sacra Virgo María, et omni laude digníssima:\n* Quia ex te ortus est sol justítiæ, Christus, Deus noster.\nV. Ora pro pópulo, intérveni pro clero, intercéde pro devóto femíneo sexu: séntiant omnes tuum juvámen, quicúmque célebrant tuam sanctam festivitátem.\nR. Quia ex te ortus est sol justítiæ, Christus, Deus noster."
|
||||
en: "R. O Holy Virgin Mary, happy indeed art thou, and right worthy of all praise\n* For out of thee rose the Sun of righteousness, even Christ our God.\nV. Pray for the people, plead for the clergy, make intercession for all women vowed to God. May all that are keeping this thine holy Feast day feel the might of thine assistance.\nR. For out of thee rose the Sun of righteousness, even Christ our God."
|
||||
- la: "R. Beátam me dicent omnes generatiónes,\n* Quia fecit mihi Dóminus magna qui potens est, et sanctum nomen ejus.\nV. Et misericórdia ejus a progénie in progénies timéntibus eum.\nR. Quia fecit mihi Dóminus magna qui potens est, et sanctum nomen ejus."
|
||||
en: "R. All generations shall call me blessed.\n* For He that is mighty, even the Lord, hath done to me great things; and Holy is His Name.\nV. And his mercy is on them that fear Him, from generation to generation.\nR. He that is mighty, even the Lord, hath done to me great things; and Holy is His Name."
|
||||
@@ -1,7 +1,8 @@
|
||||
# Live-verified 2026-09-04 — see lauds-hymn-lent.yml's own header.
|
||||
id: lauds-hymn-lent-doxology-per-annum
|
||||
text:
|
||||
la: "Te rerum univérsitas,\nClemens, adóret, Trínitas,\nEt nos novi per véniam,\nNovum canámus cánticum.\nAmen."
|
||||
en: "May heaven and earth aloud proclaim\nThe Trinity's almighty fame;\nAnd we, restored to grace, rejoice\nIn newness both of heart and voice.\nAmen."
|
||||
status:
|
||||
la: draft
|
||||
en: draft
|
||||
la: verified
|
||||
en: verified
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
# Sourced from Divinum Officium's Monastic block ("[HymnusM Quad
|
||||
# Laudes]", Psalterium/Special/Major Special.txt) — full separate
|
||||
# Monastic text ("Jam Christe sol justítiæ"), not a substitution against
|
||||
# the Roman "O sol salútis, íntimis". Not live-query-verified (see
|
||||
# TODO.md).
|
||||
# the Roman "O sol salútis, íntimis". Live-verified 2026-09-04 (already
|
||||
# seen live against a Lenten Ember Saturday, 2026-02-28, while checking
|
||||
# lauds-hymn-saturday.yml's own real content earlier the same session —
|
||||
# byte-identical).
|
||||
id: lauds-hymn-lent
|
||||
text:
|
||||
la: |
|
||||
@@ -46,5 +48,5 @@ text:
|
||||
May we of their indulgence share,
|
||||
And bless the God that grants our prayer.
|
||||
status:
|
||||
la: draft
|
||||
en: draft
|
||||
la: verified
|
||||
en: verified
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
# Throughout Paschaltide (Eastertide/Ascensiontide/Pentecost), the whole
|
||||
# ordinary 5-suffrage set (Cross/BVM/Joseph/Apostles/Peace) collapses into
|
||||
# this single alleluia-form "Suffragium Paschale" instead — live-verified
|
||||
# against Divinum Officium (Monastic Tridentinum 1617 and Tridentine 1906,
|
||||
# byte-identical between the two tracks), Lauds live query, 2026-04-20 (a
|
||||
# plain Eastertide feria). Distinct antiphon from Vespers' own
|
||||
# (vespers-suffrage-paschale.yml, "Crucem sanctam súbiit..."); the
|
||||
# versicle/response and collect are shared between both hours.
|
||||
id: lauds-suffrage-paschale
|
||||
text:
|
||||
la: |
|
||||
Ant. Crucifíxus surréxit a mórtuis, et redémit nos, allelúja, allelúja.
|
||||
V. Dícite in natiónibus, allelúja.
|
||||
R. Quia Dóminus regnávit a ligno, allelúja.
|
||||
Orémus.
|
||||
Deus qui pro nobis Fílium tuum Crucis patíbulum subíre voluísti, ut inimíci a nobis expélleres potestátem: concéde nobis fámulis tuis; ut resurrectiónis grátiam consequámur.
|
||||
Per eúmdem Dóminum nostrum Jesum Christum Fílium tuum, qui tecum vivit et regnat in unitáte Spíritus Sancti, Deus, per ómnia sǽcula sæculórum.
|
||||
R. Amen.
|
||||
en: |
|
||||
Ant. He that was crucified is risen from the dead, and hath redeemed us. Alleluia, alleluia.
|
||||
V. Say among the heathen, alleluia.
|
||||
R. That the Lord reigneth from the tree, alleluia.
|
||||
Let us pray.
|
||||
O God, who didst send thy Son to suffer death for us upon the Cross, that thou mightest deliver us from the power of the enemy: grant unto us thy servants to be made partakers of his Resurrection.
|
||||
Through the same Jesus Christ, thy Son, Our Lord, Who liveth and reigneth with thee in the unity of the Holy Ghost, God, world without end.
|
||||
R. Amen.
|
||||
status:
|
||||
la: verified
|
||||
en: verified
|
||||
@@ -1,6 +1,6 @@
|
||||
# Sourced from Divinum Officium's Monastic block ("[Quad Vespera_]",
|
||||
# Psalterium/Special/Major Special.txt). Not live-query-verified (see
|
||||
# TODO.md) — read directly from source.
|
||||
# Psalterium/Special/Major Special.txt). Live-verified 2026-09-04 against
|
||||
# a plain Lenten Wednesday (2026-03-04).
|
||||
id: vespers-capitulum-lent
|
||||
text:
|
||||
la: "Inter vestíbulum et altáre plorábunt sacerdótes, minístri Dómini, et dicent: Parce, Dómine, parce pópulo tuo: et ne des hereditátem tuam in oppróbrium, ut dominéntur eis natiónes."
|
||||
@@ -9,5 +9,5 @@ citation:
|
||||
la: "Joel 2:17"
|
||||
en: "Joel 2:17"
|
||||
status:
|
||||
la: draft
|
||||
en: draft
|
||||
la: verified
|
||||
en: verified
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
# Live-verified 2026-09-04 against a plain Lenten Wednesday (2026-03-04)
|
||||
# — same text as matins-hymn-lent.yml's own baked-in closing stanza.
|
||||
id: vespers-hymn-lent-doxology-per-annum
|
||||
text:
|
||||
la: "Præsta, beáta Trínitas,\nConcéde, simplex Únitas;\nUt fructuósa sint tuis\nJejuniórum múnera.\nAmen."
|
||||
en: "We pray thee, Holy Trinity,\nOne God, unchanging Unity,\nThat we from this our abstinence\nMay reap the fruits of penitence.\nAmen."
|
||||
status:
|
||||
la: draft
|
||||
en: draft
|
||||
la: verified
|
||||
en: verified
|
||||
|
||||
@@ -2,8 +2,9 @@
|
||||
# Vespera]", Psalterium/Special/Major Special.txt): two substitutions
|
||||
# against the base "[Hymnus Quad Vespera]" text — a word-order swap in
|
||||
# stanza 3 ("Ad nóminis laudem tui" -> "Ad laudem tui nóminis") and a full
|
||||
# replacement of stanza 4 — applied by hand here. Not live-query-verified
|
||||
# (see TODO.md). English has no separate Monastic variant in the source.
|
||||
# replacement of stanza 4 — applied by hand here. Live-verified 2026-09-04
|
||||
# against a plain Lenten Wednesday (2026-03-04), including the Monastic
|
||||
# swap. English has no separate Monastic variant in the source.
|
||||
id: vespers-hymn-lent
|
||||
text:
|
||||
la: |
|
||||
@@ -47,5 +48,5 @@ text:
|
||||
That fasting inward secretly
|
||||
The soul may purely dwell with thee.
|
||||
status:
|
||||
la: draft
|
||||
en: draft
|
||||
la: verified
|
||||
en: verified
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Sourced from Divinum Officium's Monastic block ("[Responsory Quad
|
||||
# Vespera]", Psalterium/Special/Major Special.txt). Not
|
||||
# live-query-verified (see TODO.md) — read directly from source.
|
||||
# Vespera]", Psalterium/Special/Major Special.txt). Live-verified
|
||||
# 2026-09-04 against a plain Lenten Wednesday (2026-03-04).
|
||||
id: vespers-responsory-lent
|
||||
text:
|
||||
la: |
|
||||
@@ -18,5 +18,5 @@ text:
|
||||
V. Glory be to the Father, and to the Son, * and to the Holy Ghost.
|
||||
R. He will overshadow * thee with his shoulders.
|
||||
status:
|
||||
la: draft
|
||||
en: draft
|
||||
la: verified
|
||||
en: verified
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
# Vespers' own antiphon for the same "Suffragium Paschale" substitution
|
||||
# described in lauds-suffrage-paschale.yml's own header — shares that
|
||||
# file's versicle/response and collect, but its own distinct antiphon
|
||||
# ("Crucem sanctam súbiit..."), live-verified against Divinum Officium
|
||||
# (Monastic Tridentinum 1617), Vespers live query, 2026-04-20 (a plain
|
||||
# Eastertide feria). English antiphon translation is this project's own
|
||||
# (the reference engine's own English-language render leaves this
|
||||
# particular antiphon untranslated, Latin-only) — status left `draft`
|
||||
# for the English text specifically pending a better-sourced translation.
|
||||
id: vespers-suffrage-paschale
|
||||
text:
|
||||
la: |
|
||||
Ant. Crucem sanctam súbiit, qui inférnum confrégit; accínctus est poténtia, surréxit die tértia, allelúja.
|
||||
V. Dícite in natiónibus, allelúja.
|
||||
R. Quia Dóminus regnávit a ligno, allelúja.
|
||||
Orémus.
|
||||
Deus qui pro nobis Fílium tuum Crucis patíbulum subíre voluísti, ut inimíci a nobis expélleres potestátem: concéde nobis fámulis tuis; ut resurrectiónis grátiam consequámur.
|
||||
Per eúmdem Dóminum nostrum Jesum Christum Fílium tuum, qui tecum vivit et regnat in unitáte Spíritus Sancti, Deus, per ómnia sǽcula sæculórum.
|
||||
R. Amen.
|
||||
en: |
|
||||
Ant. He bore the holy Cross, who broke the gates of hell; he was girded with power, and rose again on the third day, alleluia.
|
||||
V. Say among the heathen, alleluia.
|
||||
R. That the Lord reigneth from the tree, alleluia.
|
||||
Let us pray.
|
||||
O God, who didst send thy Son to suffer death for us upon the Cross, that thou mightest deliver us from the power of the enemy: grant unto us thy servants to be made partakers of his Resurrection.
|
||||
Through the same Jesus Christ, thy Son, Our Lord, Who liveth and reigneth with thee in the unity of the Holy Ghost, God, world without end.
|
||||
R. Amen.
|
||||
status:
|
||||
la: verified
|
||||
en: draft
|
||||
@@ -2,8 +2,8 @@
|
||||
# Officium's Monastic block ("[Quad Versum 3]", Psalterium/Special/Major
|
||||
# Special.txt) — "[Quad Versum 2]" (Lauds' own) is a bare alias to this
|
||||
# same text, so Lauds and Vespers share it here too (see
|
||||
# lauds-versicle-lent.yml). Not live-query-verified (see TODO.md) — read
|
||||
# directly from source.
|
||||
# lauds-versicle-lent.yml). Live-verified 2026-09-04 against a plain
|
||||
# Lenten Wednesday (2026-03-04).
|
||||
id: vespers-versicle-lent
|
||||
text:
|
||||
la: |
|
||||
@@ -13,5 +13,5 @@ text:
|
||||
V. God hath given His Angels charge over thee.
|
||||
R. To keep thee in all thy ways.
|
||||
status:
|
||||
la: draft
|
||||
en: draft
|
||||
la: verified
|
||||
en: verified
|
||||
|
||||
+11
-1
@@ -26,6 +26,7 @@ import {
|
||||
resolveResponsory,
|
||||
resolveOfficeBundle,
|
||||
resolveSuffrages,
|
||||
isPaschaltide,
|
||||
} from './resolve-common';
|
||||
import laudsDefinitionData from '../data/hours/lauds.yml';
|
||||
import laudsAntiphonsData from '../data/hours/lauds-antiphons.yml';
|
||||
@@ -366,7 +367,7 @@ function resolvePart(part: HourPart, day: LiturgicalDay): ResolvedPart[] {
|
||||
case 'day-collects':
|
||||
return getDayCollects(day);
|
||||
case 'suffrages':
|
||||
return resolveSuffrages(day, part.omitOnDouble);
|
||||
return resolveSuffrages(day, part.omitOnDouble, 'lauds');
|
||||
case 'versicle':
|
||||
case 'chapter':
|
||||
case 'responsory':
|
||||
@@ -377,6 +378,15 @@ function resolvePart(part: HourPart, day: LiturgicalDay): ResolvedPart[] {
|
||||
return [{ kind: 'preces', text: resolveCommon(id), label: getMarianAntiphonLabel(id) }];
|
||||
}
|
||||
case 'lauds-preces': {
|
||||
// Throughout Paschaltide, the whole ferial-Preces litany drops
|
||||
// entirely rather than being replaced by anything — live-verified
|
||||
// ("Preces Feriales{omittitur}" against both Monastic Tridentinum
|
||||
// 1617 and Tridentine 1906, a plain Eastertide feria, 2026-04-20).
|
||||
// Sunday/feast's own short litany is untouched — that's a separate,
|
||||
// universal collect-opening dialogue, not this ferial-specific one.
|
||||
if (isFerialOrVigil(day) && isPaschaltide(day.season)) {
|
||||
return [];
|
||||
}
|
||||
const id = isFerialOrVigil(day) ? 'lauds-preces-feriales' : 'lauds-short-litany';
|
||||
return [{ kind: 'preces', text: resolveCommon(id) }];
|
||||
}
|
||||
|
||||
+28
-6
@@ -95,6 +95,7 @@ import { getTemporalFeastRecord } from '../calendar/temporal-feasts';
|
||||
import { getBiblePlanReadings } from '../propers/bible-plan';
|
||||
import { getNocturnReadings, type NocturnReading } from '../propers/nocturn-readings';
|
||||
import { getOctaveReading } from '../propers/octave-readings';
|
||||
import { getResponsoryForCommon } from '../propers/matins-responsories';
|
||||
import { getGospelIncipitFromCitation } from '../propers/bible-book-incipits';
|
||||
import { getMatinsSaintOverride, getMatinsCommonOverride, type MatinsPsalmodyScheme } from './matins-psalmody-overrides';
|
||||
import matinsSundayAntiphonsData from '../data/hours/matins-sunday-antiphons.yml';
|
||||
@@ -752,12 +753,19 @@ function fallbackHagiographicLabel(id: string): string | undefined {
|
||||
return name.startsWith('The ') ? `On the ${name.slice(4)}` : `On ${name}`;
|
||||
}
|
||||
|
||||
function nocturnReadingPart(r: NocturnReading, id: string): ResolvedPart {
|
||||
/** `index` is this reading's position among this same id's own
|
||||
* nocturn-readings (not the whole day's pool) — the cycling key for
|
||||
* `getResponsoryForCommon` when `r` has no proper `responsory` of its own,
|
||||
* same convention as the per-book pool. Common-category fallback only
|
||||
* applies to a real saint id (`getSaintRecord(id)?.common`) — a temporal or
|
||||
* octave id has no Commune category to fall back to. */
|
||||
function nocturnReadingPart(r: NocturnReading, id: string, index: number): ResolvedPart {
|
||||
const responsoryText = r.responsory ?? getResponsoryForCommon(getSaintRecord(id)?.common, index);
|
||||
return {
|
||||
kind: 'lesson',
|
||||
text: { text: r.text, status: r.status, citation: r.citation },
|
||||
label: r.source ?? fallbackHagiographicLabel(id),
|
||||
responsory: r.responsory ? { text: r.responsory, status: { la: 'verified', en: 'verified' } } : undefined,
|
||||
responsory: responsoryText ? { text: responsoryText, status: { la: 'verified', en: 'verified' } } : undefined,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -769,14 +777,15 @@ function nocturnReadingPart(r: NocturnReading, id: string): ResolvedPart {
|
||||
* ResolvedPart can't be split across two nocturns by `distributeIntoNocturns`,
|
||||
* whereas two adjacent pool entries could be (and, before this, sometimes
|
||||
* were). */
|
||||
function gospelReadingPart(r: NocturnReading, homily: NocturnReading | undefined): ResolvedPart {
|
||||
function gospelReadingPart(r: NocturnReading, homily: NocturnReading | undefined, id: string, index: number): ResolvedPart {
|
||||
const incipit = getGospelIncipitFromCitation(r.citation);
|
||||
const responsoryText = r.responsory ?? getResponsoryForCommon(getSaintRecord(id)?.common, index);
|
||||
return {
|
||||
kind: 'gospel',
|
||||
text: { text: r.text, status: r.status, citation: r.citation },
|
||||
source: r.source,
|
||||
label: incipit ? { la: incipit.la, en: incipit.en } : undefined,
|
||||
responsory: r.responsory ? { text: r.responsory, status: { la: 'verified', en: 'verified' } } : undefined,
|
||||
responsory: responsoryText ? { text: responsoryText, status: { la: 'verified', en: 'verified' } } : undefined,
|
||||
homily: homily
|
||||
? { source: homily.source, text: { text: homily.text, status: homily.status, citation: homily.citation } }
|
||||
: undefined,
|
||||
@@ -830,10 +839,23 @@ function buildReadingPool(day: LiturgicalDay, temporalId: string, date: string,
|
||||
// must be handled, not just the usual Sunday/feast pair.
|
||||
const ids = nocturnReadingIds(day, temporalId, date, threeNocturns);
|
||||
const byNocturn = new Map<number, ResolvedPart[]>();
|
||||
// The reference engine's own Tempora files sometimes independently reuse
|
||||
// the exact same excerpt across two different Sunday-numbering schemes
|
||||
// (e.g. a Pentecost-numbered Sunday and a calendar-month Sunday landing on
|
||||
// the same date — see month-week-092.yml's own header) — only one of
|
||||
// those numbering schemes is ever in force on a given real calendar, but
|
||||
// `nocturnReadingIds` can legitimately pool both ids for the *same* day
|
||||
// here, which would otherwise surface the identical reading twice in one
|
||||
// hour. Dedupe by Latin text, keeping the first (earliest-id) occurrence.
|
||||
const seenReadingText = new Set<string>();
|
||||
for (const id of ids) {
|
||||
const readings = getNocturnReadings(id);
|
||||
let commonPoolIndex = 0;
|
||||
for (let i = 0; i < readings.length; i++) {
|
||||
const reading = readings[i]!;
|
||||
const textKey = reading.text.la ?? reading.text.en ?? '';
|
||||
if (textKey && seenReadingText.has(textKey)) continue;
|
||||
if (textKey) seenReadingText.add(textKey);
|
||||
const bucket = byNocturn.get(reading.nocturn) ?? [];
|
||||
if (reading.isGospel) {
|
||||
// A genuine separate homily on this pericope is the very next
|
||||
@@ -845,10 +867,10 @@ function buildReadingPool(day: LiturgicalDay, temporalId: string, date: string,
|
||||
// apart by distributeIntoNocturns.
|
||||
const next = readings[i + 1];
|
||||
const homily = next && !next.isGospel && next.nocturn === reading.nocturn ? next : undefined;
|
||||
bucket.push(gospelReadingPart(reading, homily));
|
||||
bucket.push(gospelReadingPart(reading, homily, id, commonPoolIndex++));
|
||||
if (homily) i++;
|
||||
} else {
|
||||
bucket.push(nocturnReadingPart(reading, id));
|
||||
bucket.push(nocturnReadingPart(reading, id, commonPoolIndex++));
|
||||
}
|
||||
byNocturn.set(reading.nocturn, bucket);
|
||||
}
|
||||
|
||||
@@ -306,6 +306,15 @@ export function getMinorHourOverrideId(day: LiturgicalDay): string | undefined {
|
||||
*/
|
||||
const PASCHALTIDE_SEASONS = new Set(['eastertide', 'ascensiontide', 'pentecost']);
|
||||
|
||||
/** Whether `season` falls within the same broad Paschaltide window
|
||||
* `PASCHALTIDE_SEASONS` already governs elsewhere in this file (Marian
|
||||
* antiphon, Common-category text, hymn doxology) — exported so
|
||||
* hours/lauds.ts's and hours/vespers.ts's own ferial-Preces omission can
|
||||
* share the identical boundary rather than redeclaring it. */
|
||||
export function isPaschaltide(season: string): boolean {
|
||||
return PASCHALTIDE_SEASONS.has(season);
|
||||
}
|
||||
|
||||
/**
|
||||
* Which seasonal office-content suffix (if any) a day's season maps to —
|
||||
* shared by Lauds' and Vespers' own resolveOffice, both of which fall
|
||||
@@ -789,7 +798,11 @@ const SUFFRAGE_LABELS: Record<string, string> = {
|
||||
* the caveat on what real practice also suppresses them for that isn't
|
||||
* modeled.
|
||||
*/
|
||||
export function resolveSuffrages(day: LiturgicalDay, omitOnDouble: boolean | undefined): ResolvedPart[] {
|
||||
export function resolveSuffrages(
|
||||
day: LiturgicalDay,
|
||||
omitOnDouble: boolean | undefined,
|
||||
hourId: 'lauds' | 'vespers' = 'lauds',
|
||||
): ResolvedPart[] {
|
||||
// isDoubleOrHigher only ever looks at a sanctoral rank — Christ the
|
||||
// King is modeled as a named temporal winner (see
|
||||
// ALWAYS_OVERRIDE_TEMPORAL_IDS above) with no FeastClass to check at
|
||||
@@ -812,6 +825,18 @@ export function resolveSuffrages(day: LiturgicalDay, omitOnDouble: boolean | und
|
||||
if (omitOnDouble && (isDoubleOrHigher(day.winner) || isChristTheKing || isSeasonallyExcluded || isWithinAnOctave)) {
|
||||
return [];
|
||||
}
|
||||
// Throughout the rest of Paschaltide, the whole ordinary 5-suffrage set
|
||||
// below collapses into a single alleluia-form "Suffragium Paschale" —
|
||||
// live-verified against both Monastic Tridentinum 1617 and Tridentine
|
||||
// 1906 directly (a plain Eastertide feria, 2026-04-20), byte-identical
|
||||
// between the two tracks. Checked after the omit-entirely gate above
|
||||
// (an active octave/Double+/Advent-Christmastide-Passiontide already
|
||||
// drops suffrages regardless of season, unaffected by this) but before
|
||||
// the ordinary per-suffrage filtering below, since this replaces that
|
||||
// filtering outright rather than adjusting it.
|
||||
if (isPaschaltide(day.season)) {
|
||||
return [{ kind: 'preces', text: resolveCommon(`${hourId}-suffrage-paschale`) }];
|
||||
}
|
||||
// "Of the Holy Cross" is the real *ferial*-office suffrage, sourced
|
||||
// from Tridentine 1906/1910 (a different track than the other four,
|
||||
// which come from Monastic 1617 -- that track has no Cross suffrage
|
||||
|
||||
@@ -26,6 +26,7 @@ import {
|
||||
resolveResponsory,
|
||||
resolveOfficeBundle,
|
||||
resolveSuffrages,
|
||||
isPaschaltide,
|
||||
} from './resolve-common';
|
||||
import vespersDefinitionData from '../data/hours/vespers.yml';
|
||||
import vespersAntiphonsData from '../data/hours/vespers-antiphons.yml';
|
||||
@@ -275,13 +276,19 @@ function resolvePart(part: HourPart, day: LiturgicalDay, weekday: Weekday): Reso
|
||||
];
|
||||
}
|
||||
case 'vespers-preces': {
|
||||
// Throughout Paschaltide, the whole ferial-Preces litany drops
|
||||
// entirely rather than being replaced by anything — see lauds.ts's
|
||||
// identical 'lauds-preces' case for the live-verification detail.
|
||||
if (isFerialOrVigil(day) && isPaschaltide(day.season)) {
|
||||
return [];
|
||||
}
|
||||
const id = isFerialOrVigil(day) ? 'vespers-preces-feriales' : 'lauds-short-litany';
|
||||
return [{ kind: 'preces', text: resolveCommon(id) }];
|
||||
}
|
||||
case 'day-collects':
|
||||
return getDayCollects(day);
|
||||
case 'suffrages':
|
||||
return resolveSuffrages(day, part.omitOnDouble);
|
||||
return resolveSuffrages(day, part.omitOnDouble, 'vespers');
|
||||
case 'preces':
|
||||
return [{ kind: 'preces', text: resolveCommon(part.textRef.id), label: part.label }];
|
||||
case 'versicle':
|
||||
|
||||
@@ -22,6 +22,9 @@ import { resolvePassages, type ScriptureCitation } from './octave-readings';
|
||||
import { getResponsoryForBook } from './matins-responsories';
|
||||
import { getBookIncipit } from './bible-book-incipits';
|
||||
import { canonicalBook } from '../scripture';
|
||||
import { adventStart } from '../calendar/temporal';
|
||||
import { addDays, daysBetween } from '../calendar/date-math';
|
||||
import type { Weekday } from '../calendar/types';
|
||||
|
||||
const GOSPEL_BOOKS = new Set(['matt', 'mark', 'luke', 'john']);
|
||||
|
||||
@@ -154,10 +157,54 @@ for (const mod of Object.values(modules)) {
|
||||
}
|
||||
}
|
||||
|
||||
const WEEKDAYS: Weekday[] = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'];
|
||||
|
||||
/** Advent's own reading plan (`advent-1-sunday` through `advent-4-saturday`,
|
||||
* 28 rows, one per day of a full 4-week Advent) is longer than Advent
|
||||
* itself ever actually runs: Advent's last real day is Dec 23 (Dec 24 is
|
||||
* the Vigil of Christmas's own temporal id, calendar/temporal-id.ts) but
|
||||
* Advent 1 Sunday falls anywhere from Nov 27 to Dec 3 (the Sunday nearest
|
||||
* Nov 30) — even in the longest possible Advent (Advent 1 Sunday = Nov 27,
|
||||
* 27 real days before Dec 24) the 28th planned reading never lands on its
|
||||
* own natural date, and in the shortest (Advent 1 Sunday = Dec 3, 21 real
|
||||
* days) the entire last week's worth (7 readings) never does. Rather than
|
||||
* silently drop that content, whatever didn't land on its own natural date
|
||||
* carries forward one reading per day starting Christmas Day itself,
|
||||
* pooled alongside whatever Christmastide's own calendar-dated rows
|
||||
* already have for that day (never replacing them) — same "every
|
||||
* contributing source pools, none override" design as everywhere else in
|
||||
* this file and in hours/matins.ts's own reading-pool assembly. User
|
||||
* direction, 2026-09-05: "for advent only, we need to show all of those
|
||||
* chapters," accepting the spillover into Christmastide as the trade-off.
|
||||
*
|
||||
* Real day-by-day for `date`'s own year: the pool has no calendar-year
|
||||
* awareness anywhere else (temporal ids are already year-independent), so
|
||||
* this is the one place in this file that computes real dates. */
|
||||
function adventCarryoverReadings(date: string): BiblePlanReading[] {
|
||||
const year = Number(date.slice(0, 4));
|
||||
const christmasDay = `${year}-12-25`;
|
||||
const daysAfterChristmas = daysBetween(christmasDay, date);
|
||||
if (daysAfterChristmas < 0) return [];
|
||||
|
||||
const vigilOfChristmas = `${year}-12-24`;
|
||||
const start = adventStart(year);
|
||||
const skippedKeys: string[] = [];
|
||||
for (let i = 0; i < 28; i++) {
|
||||
if (addDays(start, i) >= vigilOfChristmas) {
|
||||
const week = Math.floor(i / 7) + 1;
|
||||
skippedKeys.push(`advent-${week}-${WEEKDAYS[i % 7]}`);
|
||||
}
|
||||
}
|
||||
const key = skippedKeys[daysAfterChristmas];
|
||||
return key ? (readingsByTemporalKey.get(key) ?? []) : [];
|
||||
}
|
||||
|
||||
/** Every reading this plan contributes to Matins' pooled reading list for
|
||||
* `date` — both the (temporalId, weekday) row and the fixed-calendar-date
|
||||
* row (if any), pooled together rather than one overriding the other, since
|
||||
* both can genuinely apply to the same date (see this file's header).
|
||||
* `date` — the (temporalId, weekday) row, the fixed-calendar-date row (if
|
||||
* any), and (Christmas Day onward) any Advent reading bumped past its own
|
||||
* natural date by a short Advent that year (see `adventCarryoverReadings`)
|
||||
* — all pooled together rather than one overriding another, since more
|
||||
* than one can genuinely apply to the same date (see this file's header).
|
||||
* Empty array, not undefined, when nothing's authored for this day yet —
|
||||
* every caller already treats "no readings" as a valid, renderable state
|
||||
* (see hours/matins.ts), so there's no separate "missing entirely" signal
|
||||
@@ -165,5 +212,6 @@ for (const mod of Object.values(modules)) {
|
||||
export function getBiblePlanReadings(temporalId: string, weekday: string, date: string): BiblePlanReading[] {
|
||||
const byTemporal = readingsByTemporalKey.get(`${temporalId}-${weekday}`) ?? [];
|
||||
const byCalendarDate = readingsByCalendarDate.get(date.slice(5)) ?? [];
|
||||
return [...byTemporal, ...byCalendarDate];
|
||||
const carryover = adventCarryoverReadings(date);
|
||||
return [...byTemporal, ...byCalendarDate, ...carryover];
|
||||
}
|
||||
|
||||
@@ -2,6 +2,11 @@
|
||||
// data/hours/matins-responsories-by-book.yml's own header for why matching
|
||||
// is book-level, not citation-level, and why this is a seeded subset, not
|
||||
// a full pool.
|
||||
//
|
||||
// This file also holds the sibling per-Common-category pool (see
|
||||
// data/hours/matins-responsories-by-common.yml's own header) — used to
|
||||
// fill in a real responsory for a saint's own Nocturn 2/3 patristic
|
||||
// reading when that reading has no proper `responsory` of its own.
|
||||
import type { LanguageCode, TranslationStatus } from '../psalter/types';
|
||||
|
||||
interface BilingualText {
|
||||
@@ -37,9 +42,28 @@ for (const mod of Object.values(modules)) {
|
||||
}
|
||||
}
|
||||
|
||||
/** Builds the full "R. ...\n* ...\nV. ...\nR. ..." block — same R./V./repeat
|
||||
* convention as octave-readings.ts's own `responsory` field and every
|
||||
* nocturn-readings/*.yml file's inline `responsory` — from the pool's
|
||||
* plain `{r, v}` text (no "R."/"V." labels, `r` already carries a `*`
|
||||
* marking where the repeat begins, per the extraction convention
|
||||
* documented in the data file's own header). Previously joined these with
|
||||
* a bare newline and no R./V. labels at all — a real, visible
|
||||
* inconsistency (caught 2026-09-04): every other responsory source in
|
||||
* this app labels its lines. */
|
||||
function joinOne(r: string | undefined, v: string | undefined): string | undefined {
|
||||
if (!r) return undefined;
|
||||
const starIndex = r.indexOf('*');
|
||||
const repeat = starIndex >= 0 ? r.slice(starIndex + 1).trim() : r;
|
||||
const lines = [`R. ${r}`];
|
||||
if (v) lines.push(`V. ${v}`);
|
||||
lines.push(`R. ${repeat}`);
|
||||
return lines.join('\n');
|
||||
}
|
||||
|
||||
function joinResponsory(record: ResponsoryRecord): MatinsResponsory {
|
||||
const la = record.r.la && record.v.la ? `${record.r.la}\n${record.v.la}` : record.r.la;
|
||||
const en = record.r.en && record.v.en ? `${record.r.en}\n${record.v.en}` : record.r.en;
|
||||
const la = joinOne(record.r.la, record.v.la);
|
||||
const en = joinOne(record.r.en, record.v.en);
|
||||
return {
|
||||
text: { la, en },
|
||||
status: { la: la ? 'verified' : 'missing', en: en ? 'verified' : 'missing' },
|
||||
@@ -56,3 +80,38 @@ export function getResponsoryForBook(book: string, index: number): MatinsRespons
|
||||
if (!pool || pool.length === 0) return undefined;
|
||||
return joinResponsory(pool[index % pool.length]!);
|
||||
}
|
||||
|
||||
interface FullTextResponsory {
|
||||
la: string;
|
||||
en: string;
|
||||
}
|
||||
|
||||
const commonModules = import.meta.glob<{ default: Record<string, FullTextResponsory[]> }>(
|
||||
'../data/hours/matins-responsories-by-common.yml',
|
||||
{ eager: true },
|
||||
);
|
||||
|
||||
const poolByCommon = new Map<string, FullTextResponsory[]>();
|
||||
for (const mod of Object.values(commonModules)) {
|
||||
for (const [commonId, entries] of Object.entries(mod.default)) {
|
||||
poolByCommon.set(commonId, entries);
|
||||
}
|
||||
}
|
||||
|
||||
/** Same cycling convention as getResponsoryForBook, but the pooled text is
|
||||
* already the full "R. ...\n* ...\nV. ...\nR. ..." block (matching the
|
||||
* inline `responsory` convention every nocturn-readings/*.yml file uses),
|
||||
* ready to drop straight into a reading's `responsory` field — not the
|
||||
* split {r, v} shape the book pool uses. Undefined when the saint has no
|
||||
* `common` category, or that category isn't seeded (e.g. angel/evangelist/
|
||||
* vigil — see the data file's own header for why those are out of scope). */
|
||||
export function getResponsoryForCommon(
|
||||
commonId: string | undefined,
|
||||
index: number,
|
||||
): Partial<Record<LanguageCode, string>> | undefined {
|
||||
if (!commonId) return undefined;
|
||||
const pool = poolByCommon.get(commonId);
|
||||
if (!pool || pool.length === 0) return undefined;
|
||||
const entry = pool[index % pool.length]!;
|
||||
return { la: entry.la, en: entry.en };
|
||||
}
|
||||
|
||||
@@ -38,3 +38,40 @@ describe('getBiblePlanReadings label uses the same book-alias normalization as v
|
||||
expect(readings[0]?.label?.la).toBe('Léctio libri Judith');
|
||||
});
|
||||
});
|
||||
|
||||
// The Advent reading plan has 28 rows (advent-1-sunday through
|
||||
// advent-4-saturday, a full 4-week Advent), but real Advent is never that
|
||||
// long -- its last real day is always Dec 23 (Dec 24 is the Vigil of
|
||||
// Christmas's own temporal id), while Advent 1 Sunday itself lands anywhere
|
||||
// from Nov 27 to Dec 3. Even the longest possible Advent (Nov 27) is 27
|
||||
// real days, one short of the full plan; the shortest (Dec 3) is 21, a
|
||||
// whole week short. Whatever doesn't land on its own natural date carries
|
||||
// forward one reading per day starting Christmas Day, pooled alongside
|
||||
// whatever Christmastide's own calendar-dated rows already have. User
|
||||
// direction, 2026-09-05: "for advent only, we need to show all of those
|
||||
// chapters," accepting the spillover into Christmastide as the trade-off.
|
||||
describe('Advent reading-plan carryover into Christmastide', () => {
|
||||
it('a short Advent (2028: Advent 1 Sunday = Dec 3, latest possible) carries all 7 of week 4\'s readings forward, one per day', () => {
|
||||
const isaiahCitations = [25, 26, 27, 28, 29, 30, 31].map(
|
||||
(day) => getBiblePlanReadings('christmas-octave-sunday', 'monday', `2028-12-${day}`).find((r) => r.citation.la?.startsWith('Isa'))?.citation.la,
|
||||
);
|
||||
expect(isaiahCitations).toEqual(['Isa 46-48', 'Isa 49-51', 'Isa 52-54', 'Isa 55-57', 'Isa 58-60', 'Isa 61-63', 'Isa 64-66']);
|
||||
});
|
||||
|
||||
it('a long Advent (2027: Advent 1 Sunday = Nov 28, near-earliest) carries only the last 2 readings forward', () => {
|
||||
const isaiahCitations = [25, 26, 27, 28].map(
|
||||
(day) => getBiblePlanReadings('christmas-octave-sunday', 'monday', `2027-12-${day}`).find((r) => r.citation.la?.startsWith('Isa'))?.citation.la,
|
||||
);
|
||||
expect(isaiahCitations).toEqual(['Isa 61-63', 'Isa 64-66', undefined, undefined]);
|
||||
});
|
||||
|
||||
it('carried-over readings pool alongside Christmastide\'s own calendar-dated rows, never replacing them', () => {
|
||||
const readings = getBiblePlanReadings('christmas-octave-sunday', 'friday', '2028-12-25');
|
||||
expect(readings.map((r) => r.citation.la)).toEqual(['Cant 1', 'Isa 46-48']);
|
||||
});
|
||||
|
||||
it('does not carry anything over before Christmas Day', () => {
|
||||
const readings = getBiblePlanReadings('vigil-of-christmas', 'thursday', '2028-12-24');
|
||||
expect(readings.find((r) => r.citation.la?.startsWith('Isa'))).toBeUndefined();
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user