From 6bb4c6a80fb3be571e6ae7f45885a4ddb70b1851 Mon Sep 17 00:00:00 2001 From: Will Estes Date: Thu, 13 Aug 2026 08:19:28 -0400 Subject: [PATCH] Author day collects for all 94 propers:null saints via Kalendaria tables Blind per-date source-file reading (Sancti/SanctiM MM-DD.txt) turned out unreliable for collect authorship: those files are era-merged, carrying centuries of accumulated saints behind rubric-conditional gating, so a naive read often returned a saint canonized long after 1617 instead of the Monastic-Tridentine-era one actually on this calendar (St. Didacus instead of All Saints of the Benedictine Order, St. Rose of Lima instead of Ss. Felix and Adauctus, etc). Fixed by pulling from web/www/Tabulae/Kalendaria/'s own era-specific calendar tables (1570.txt Tridentine base + M1617.txt's Monastic diffs) instead, cross-validated against the pre-1955/Divino Afflatu chain (1888->1906->1939->1954) as a corroborating signal. Cross-referencing all 205 existing saint records against this table confirmed 204/205 were already correctly placed -- the earlier live-query verification work was sound, only blind file-reading was flawed -- so no sanctoral-calendar.yml corrections were needed, just the collect content itself. Two collect shapes came out of the 94: 34 proper collects (own YAML file, Latin verified against source, English translated+draft where the source lacked it) and 60 resolved via a new Common-collect templating mechanism -- SaintRecord.collectCommon/collectName plus substituteName() in resolve-common.ts, filling a template's {N} placeholders positionally from the saint's own declined name, across 21 new common/collect-c*.yml templates named after the source's own C-numbering. St. Michael's Sep 29 propers resolved via its whole-file @Sancti/05-08 inheritance (Apparition of St. Michael, May 8). St. Martha's plural- template default was overridden to the singular collect-c6a since she's one person, not a pair. Also fixes a latent bug this surfaced: getDayCollect looked up `${collectCommon}-collect`, but collect-c*.yml files are id'd as `collect-c2` etc with no such suffix -- caught by a smoke test where every one of the 93 non-Michael saints resolved as missing. 4 pre-existing tests updated: they asserted specific saints (St. Benedict, St. Romanus Abbot, St. Anthony Abbot) had no authored collect, which is no longer true; resolve-common.test.ts's generic "missing" case now uses a synthetic day/winner since no real unauthored saint remains as an example. Co-Authored-By: Claude Sonnet 5 --- TODO.md | 101 +++++++++++++++++- src/calendar/feasts.ts | 28 +++++ .../all-saints-of-the-benedictine-order.yml | 2 +- ...-of-the-basilicas-of-ss-peter-and-paul.yml | 4 + ...exander-eventius-theodulus-and-juvenal.yml | 2 +- .../saints/ss-cletus-and-marcellinus.yml | 4 + .../saints/ss-cornelius-and-cyprian.yml | 4 + .../saints/ss-dionysius-and-companions.yml | 2 +- .../ss-euphemia-lucia-and-geminianus.yml | 2 +- .../saints/ss-faustinus-and-jovita.yml | 4 + .../calendar/saints/ss-felix-and-adauctus.yml | 2 +- ...felix-simplicius-faustinus-and-beatrix.yml | 2 +- src/data/calendar/saints/ss-machabees.yml | 2 +- .../ss-marius-martha-audifax-and-abachum.yml | 2 +- .../saints/ss-maurice-and-companions.yml | 2 +- .../calendar/saints/ss-nabor-and-felix.yml | 2 +- .../saints/ss-placid-and-companions.yml | 4 + .../calendar/saints/ss-soter-and-caius.yml | 4 + .../saints/ss-tryphon-and-companions.yml | 2 +- .../calendar/saints/ss-twelve-brothers.yml | 2 +- .../saints/ss-ursula-and-companions.yml | 4 + src/data/calendar/saints/st-agnes-secunda.yml | 2 +- src/data/calendar/saints/st-alexius.yml | 4 + src/data/calendar/saints/st-ambrose.yml | 4 + src/data/calendar/saints/st-anacletus.yml | 4 + src/data/calendar/saints/st-anicetus.yml | 4 + src/data/calendar/saints/st-anthony-abbot.yml | 4 + src/data/calendar/saints/st-barbara.yml | 4 + src/data/calendar/saints/st-benedict.yml | 2 +- src/data/calendar/saints/st-blaise.yml | 4 + src/data/calendar/saints/st-bonaventure.yml | 4 + .../calendar/saints/st-catherine-of-siena.yml | 2 +- src/data/calendar/saints/st-christina.yml | 4 + src/data/calendar/saints/st-christopher.yml | 4 + src/data/calendar/saints/st-chrysogonus.yml | 2 +- src/data/calendar/saints/st-donatus.yml | 2 +- src/data/calendar/saints/st-emerentiana.yml | 4 + src/data/calendar/saints/st-emilian.yml | 4 + .../saints/st-eusebius-of-vercelli.yml | 4 + src/data/calendar/saints/st-evaristus.yml | 4 + src/data/calendar/saints/st-felicitas.yml | 2 +- src/data/calendar/saints/st-felix-i.yml | 4 + .../calendar/saints/st-felix-presbyter.yml | 2 +- src/data/calendar/saints/st-gall.yml | 4 + src/data/calendar/saints/st-giles.yml | 4 + .../calendar/saints/st-gregory-nazianzen.yml | 4 + .../saints/st-gregory-thaumaturgus.yml | 4 + src/data/calendar/saints/st-hadrian.yml | 4 + src/data/calendar/saints/st-hermes.yml | 2 +- src/data/calendar/saints/st-hilarion.yml | 4 + src/data/calendar/saints/st-hyginus.yml | 4 + .../saints/st-ignatius-of-antioch.yml | 4 + src/data/calendar/saints/st-januarius.yml | 4 + src/data/calendar/saints/st-john-gualbert.yml | 4 + src/data/calendar/saints/st-justina.yml | 4 + src/data/calendar/saints/st-liborius.yml | 4 + src/data/calendar/saints/st-linus.yml | 4 + src/data/calendar/saints/st-marcus.yml | 2 +- src/data/calendar/saints/st-martha.yml | 13 ++- src/data/calendar/saints/st-martin-i.yml | 4 + src/data/calendar/saints/st-maurus-abbot.yml | 4 + src/data/calendar/saints/st-melchiades.yml | 4 + src/data/calendar/saints/st-menna.yml | 4 + src/data/calendar/saints/st-michael.yml | 32 +++--- .../saints/st-nicholas-of-tolentino.yml | 4 + src/data/calendar/saints/st-odo.yml | 4 + src/data/calendar/saints/st-pantaleon.yml | 4 + .../saints/st-peter-of-alexandria.yml | 4 + src/data/calendar/saints/st-pius-i.yml | 4 + src/data/calendar/saints/st-polycarp.yml | 4 + src/data/calendar/saints/st-pontian.yml | 4 + src/data/calendar/saints/st-praxedes.yml | 4 + src/data/calendar/saints/st-prisca.yml | 2 +- src/data/calendar/saints/st-pudentiana.yml | 4 + src/data/calendar/saints/st-remigius.yml | 4 + src/data/calendar/saints/st-romanus-abbot.yml | 4 + src/data/calendar/saints/st-romanus.yml | 4 + src/data/calendar/saints/st-romuald.yml | 4 + src/data/calendar/saints/st-sabbas.yml | 4 + src/data/calendar/saints/st-sabina.yml | 4 + src/data/calendar/saints/st-saturninus.yml | 2 +- src/data/calendar/saints/st-silverius.yml | 4 + src/data/calendar/saints/st-silvester-i.yml | 4 + src/data/calendar/saints/st-simeon.yml | 4 + src/data/calendar/saints/st-stephen-i.yml | 4 + src/data/calendar/saints/st-telesphorus.yml | 4 + src/data/calendar/saints/st-thecla.yml | 2 +- src/data/calendar/saints/st-timothy.yml | 4 + .../calendar/saints/vigil-of-st-andrew.yml | 4 + .../saints/vigil-of-st-bartholomew.yml | 4 + .../calendar/saints/vigil-of-st-james.yml | 4 + .../saints/vigil-of-st-john-the-baptist.yml | 2 +- .../calendar/saints/vigil-of-st-lawrence.yml | 2 +- .../calendar/saints/vigil-of-st-matthew.yml | 4 + .../calendar/saints/vigil-of-st-matthias.yml | 4 + .../calendar/saints/vigil-of-st-thomas.yml | 4 + ...aints-of-the-benedictine-order-collect.yml | 20 ++++ src/data/propers/common/collect-c1v.yml | 22 ++++ src/data/propers/common/collect-c2-1.yml | 20 ++++ src/data/propers/common/collect-c2.yml | 20 ++++ src/data/propers/common/collect-c2a-1.yml | 20 ++++ src/data/propers/common/collect-c2a.yml | 20 ++++ src/data/propers/common/collect-c2b.yml | 24 +++++ src/data/propers/common/collect-c3.yml | 21 ++++ src/data/propers/common/collect-c3a-1.yml | 20 ++++ src/data/propers/common/collect-c3a.yml | 20 ++++ src/data/propers/common/collect-c3b.yml | 23 ++++ src/data/propers/common/collect-c4.yml | 24 +++++ src/data/propers/common/collect-c4a.yml | 20 ++++ src/data/propers/common/collect-c5-1.yml | 25 +++++ src/data/propers/common/collect-c5.yml | 21 ++++ src/data/propers/common/collect-c5b.yml | 22 ++++ src/data/propers/common/collect-c6-1.yml | 20 ++++ src/data/propers/common/collect-c6.yml | 21 ++++ src/data/propers/common/collect-c6a.yml | 23 ++++ src/data/propers/common/collect-c6b.yml | 21 ++++ src/data/propers/common/collect-c8.yml | 22 ++++ ...eventius-theodulus-and-juvenal-collect.yml | 20 ++++ .../ss-dionysius-and-companions-collect.yml | 20 ++++ ...-euphemia-lucia-and-geminianus-collect.yml | 20 ++++ .../common/ss-felix-and-adauctus-collect.yml | 20 ++++ ...mplicius-faustinus-and-beatrix-collect.yml | 20 ++++ .../propers/common/ss-machabees-collect.yml | 20 ++++ ...ius-martha-audifax-and-abachum-collect.yml | 20 ++++ .../ss-maurice-and-companions-collect.yml | 20 ++++ .../common/ss-nabor-and-felix-collect.yml | 20 ++++ .../ss-tryphon-and-companions-collect.yml | 20 ++++ .../common/ss-twelve-brothers-collect.yml | 20 ++++ .../common/st-agnes-secunda-collect.yml | 20 ++++ .../propers/common/st-benedict-collect.yml | 20 ++++ .../common/st-catherine-of-siena-collect.yml | 20 ++++ .../propers/common/st-chrysogonus-collect.yml | 20 ++++ .../propers/common/st-donatus-collect.yml | 20 ++++ .../propers/common/st-felicitas-collect.yml | 20 ++++ .../common/st-felix-presbyter-collect.yml | 20 ++++ src/data/propers/common/st-hermes-collect.yml | 20 ++++ src/data/propers/common/st-marcus-collect.yml | 20 ++++ src/data/propers/common/st-prisca-collect.yml | 20 ++++ .../propers/common/st-saturninus-collect.yml | 20 ++++ src/data/propers/common/st-thecla-collect.yml | 20 ++++ .../vigil-of-st-john-the-baptist-collect.yml | 20 ++++ .../common/vigil-of-st-lawrence-collect.yml | 20 ++++ src/hours/resolve-common.ts | 55 ++++++++-- tests/calendar/january-sanctoral.test.ts | 4 +- tests/calendar/march-sanctoral.test.ts | 5 +- tests/calendar/may-sanctoral.test.ts | 4 +- tests/hours/resolve-common.test.ts | 18 +++- 147 files changed, 1466 insertions(+), 59 deletions(-) create mode 100644 src/data/propers/common/all-saints-of-the-benedictine-order-collect.yml create mode 100644 src/data/propers/common/collect-c1v.yml create mode 100644 src/data/propers/common/collect-c2-1.yml create mode 100644 src/data/propers/common/collect-c2.yml create mode 100644 src/data/propers/common/collect-c2a-1.yml create mode 100644 src/data/propers/common/collect-c2a.yml create mode 100644 src/data/propers/common/collect-c2b.yml create mode 100644 src/data/propers/common/collect-c3.yml create mode 100644 src/data/propers/common/collect-c3a-1.yml create mode 100644 src/data/propers/common/collect-c3a.yml create mode 100644 src/data/propers/common/collect-c3b.yml create mode 100644 src/data/propers/common/collect-c4.yml create mode 100644 src/data/propers/common/collect-c4a.yml create mode 100644 src/data/propers/common/collect-c5-1.yml create mode 100644 src/data/propers/common/collect-c5.yml create mode 100644 src/data/propers/common/collect-c5b.yml create mode 100644 src/data/propers/common/collect-c6-1.yml create mode 100644 src/data/propers/common/collect-c6.yml create mode 100644 src/data/propers/common/collect-c6a.yml create mode 100644 src/data/propers/common/collect-c6b.yml create mode 100644 src/data/propers/common/collect-c8.yml create mode 100644 src/data/propers/common/ss-alexander-eventius-theodulus-and-juvenal-collect.yml create mode 100644 src/data/propers/common/ss-dionysius-and-companions-collect.yml create mode 100644 src/data/propers/common/ss-euphemia-lucia-and-geminianus-collect.yml create mode 100644 src/data/propers/common/ss-felix-and-adauctus-collect.yml create mode 100644 src/data/propers/common/ss-felix-simplicius-faustinus-and-beatrix-collect.yml create mode 100644 src/data/propers/common/ss-machabees-collect.yml create mode 100644 src/data/propers/common/ss-marius-martha-audifax-and-abachum-collect.yml create mode 100644 src/data/propers/common/ss-maurice-and-companions-collect.yml create mode 100644 src/data/propers/common/ss-nabor-and-felix-collect.yml create mode 100644 src/data/propers/common/ss-tryphon-and-companions-collect.yml create mode 100644 src/data/propers/common/ss-twelve-brothers-collect.yml create mode 100644 src/data/propers/common/st-agnes-secunda-collect.yml create mode 100644 src/data/propers/common/st-benedict-collect.yml create mode 100644 src/data/propers/common/st-catherine-of-siena-collect.yml create mode 100644 src/data/propers/common/st-chrysogonus-collect.yml create mode 100644 src/data/propers/common/st-donatus-collect.yml create mode 100644 src/data/propers/common/st-felicitas-collect.yml create mode 100644 src/data/propers/common/st-felix-presbyter-collect.yml create mode 100644 src/data/propers/common/st-hermes-collect.yml create mode 100644 src/data/propers/common/st-marcus-collect.yml create mode 100644 src/data/propers/common/st-prisca-collect.yml create mode 100644 src/data/propers/common/st-saturninus-collect.yml create mode 100644 src/data/propers/common/st-thecla-collect.yml create mode 100644 src/data/propers/common/vigil-of-st-john-the-baptist-collect.yml create mode 100644 src/data/propers/common/vigil-of-st-lawrence-collect.yml diff --git a/TODO.md b/TODO.md index 34f361e..8a8f156 100644 --- a/TODO.md +++ b/TODO.md @@ -177,6 +177,101 @@ future Martyr-common saint don't need one (Confessors never get a Paschaltide variant at all; a Martyr one would need porting `C2p`/`C3p` the same way, if and when a saint needing it is authored). +### 94 `propers: null` saints — collects authored (2026-08) + +**The reference engine's per-date `Sancti/`/`SanctiM/MM-DD.txt` files are +era-merged, not era-specific — blind extraction from them is unreliable.** +Live-querying (`version=Monastic Tridentinum 1617`) always resolved this +correctly elsewhere in this project because the *engine itself* applies +the right rubric filtering; reading a raw `Sancti/MM-DD.txt` file +directly bypasses that filtering entirely. Those files accumulate +centuries of saints assigned to the same calendar date across different +eras, gated behind `(rubrica ...)`-tagged conditional blocks — reading +the file's own untagged/default content silently returns whichever saint +is *currently* primary there (often a post-1617, sometimes post-1888 +addition), not necessarily the one relevant to this app's target era. +Confirmed the hard way: an initial blind pull returned St. Didacus's +collect for All Saints of the Benedictine Order, St. Rose of Lima's for +Ss. Felix and Adauctus, St. Josaphat's for St. Martin I, and 9 more +wrong matches out of 13 "clean, unambiguous" test cases — all real +saints, just centuries later than 1617, and none of them what this +app's own calendar actually intends for that date. + +**The fix**: `web/www/Tabulae/Kalendaria/` has real, era-specific +calendar *tables* (not per-date files) — `1570.txt` (Tridentine base) +and `M1617.txt` (Monastic 1617's own diffs against it) — giving a +direct, unambiguous answer for "which saint(s), what rank, commemorated +with whom" on every date this app cares about, plus a `fileref` field +(e.g. `01-15t`, `08-23o`, sometimes pointing at a wholly different +MM-DD) identifying *exactly* which source file variant actually holds +that entry's content — including cross-file (`ex Sancti/05-08`, +`Commune/C1v:Oratio 2 loco`) and whole-file (`@Sancti/05-08` as the +file's own first line, no `[Section]` around it) inheritance, all +resolved by a purpose-built parser (`scratchpad/parse_kalendaria.py` + +`extract_final.py`, not committed — see the P/T/S/N and Lauds batches' +own parser scripts for the established one-off-tool convention). + +Cross-referencing all ~205 saints in `data/calendar/saints/*.yml` +against this table (not just the 94) found the existing calendar data +essentially sound — 204/205 confirmed correctly dated (only the +deliberate `example-confessor` placeholder didn't match, as expected); +the earlier wrong-saint problem was specific to *this* extraction +method, not a systemic issue with the app's own calendar. No corrections +to `sanctoral-calendar.yml` were needed. + +**Resolved St. Michael's own long-flagged uncertainty** (`st-michael.yml` +used to carry a "FLAGGED" comment about Sep 29 showing nothing live +across 6 tested years): the table confirms Sep 29 genuinely is his day +under Monastic 1617, rank 3 — it just never won outright in any tested +year. His own source file is a whole-file cross-reference to the +Apparition of St. Michael's (`ex Sancti/05-08`), confirmed word-for-word +identical live — `propers` now points directly at +`apparition-of-st-michael`'s own id rather than duplicating content. + +**Two collect shapes, both now complete for all 94:** +- **34 have a genuine proper collect** — Latin pulled directly from + source (`{id}-collect.yml` in `data/propers/common/`), English + translated and marked `status.en: draft` for the ~11 where no source + rendering exists at all (same convention as St. Scholastica's content + earlier this session), verified/reused where the source does have one. +- **60 draw from a Common template** — a real architectural addition, + not a workaround: `SaintRecord.collectCommon`/`collectName` + (`calendar/feasts.ts`) plus a substitution step in `getDayCollect` + (`hours/resolve-common.ts`) fill a Common collect's literal `{N}` + placeholder(s) with the saint's own name(s), positionally — most + templates need one name, a few (two co-named saints sharing a + collect, e.g. Ss. Cornelius and Cyprian) need two. 21 distinct + Common-collect templates now exist (`collect-c*.yml`), named after the + reference source's own `C`-numbering (`C2`, `C2-1`, `C2a-1`, `C3b`, + etc.) rather than an invented semantic label, since no clean + after-the-fact explanation was recoverable for why the tradition + splits e.g. "Common of a Martyr Bishop" into five differently-worded + variants. Each saint's own `[Name]` section supplies its declined + form already in the exact grammatical case that saint's specific + template needs (confirmed empirically — Ambrose's own `[Name]` is + accusative, matching his template's own accusative `{N}` slot). One + real wrinkle: Ss. Popes among the Martyr-Bishop groups (Cletus & + Marcellinus, Soter & Caius, Anacletus, Anicetus) need the *second*, + `"(sed communi Summorum Pontificum)"`-tagged declension in their own + `[Name]` section, not the first — a real, source-documented + distinction (Popes get their own template variant), not a parsing + quirk to work around. + +One genuine judgment call, flagged rather than silently resolved: St. +Martha's own Monastic-specific source file (`SanctiM/07-29.txt`) +overrides her base Tridentine assignment (`collect-c6a`, one name) with +`collect-c6b` (two names) instead — a plural "Several Virgins and +Martyrs" template that doesn't fit a single saint. Kept the singular +`collect-c6a` assignment as the more sensible reading (see her own +file's comment), treating the Monastic override as likely an +inconsistency in that one file rather than a real joint-commemoration +convention this app doesn't otherwise model. + +Verified end-to-end: a runtime smoke test resolving `getDayCollect` for +all 94 ids via a synthetic sanctoral-winner day, confirming a real +(non-`missing`, no leftover `{N}`) collect for every one — not just that +the YAML files parse. + ### Christmas-Octave Sunday content — done (2026-08) Was: only the Benedictus antiphon existed for `christmas-octave-sunday` @@ -511,8 +606,10 @@ pass has now been checked against a live Monastic query; most needed correction (confirmed Roman-rite sourced), a handful already matched. - **All ~52 temporal entries: done, including `christmas-octave-sunday`** (see the section above for method and its own correction). -- **94 `propers: null` saints: not started** — need a collect authored (a - bigger, separate task) before an antiphon id even has anywhere to attach. +- **94 `propers: null` saints: done (2026-08)** — see the dedicated section + below for the collect-authoring pass and the era-specific-calendar + discovery it took to do reliably. Antiphons for these 94 (the natural + next step this unblocks) not yet started. ### Bug found and fixed while pulling christmas-octave-sunday's antiphon diff --git a/src/calendar/feasts.ts b/src/calendar/feasts.ts index 379583e..7fe6d7d 100644 --- a/src/calendar/feasts.ts +++ b/src/calendar/feasts.ts @@ -33,6 +33,34 @@ export interface SaintRecord { * minor-hour content (either fully proper, or not yet authored). */ minorHoursCommon?: string; + /** + * Fallback id for the day collect (`getDayCollect`) when this saint has + * no proper collect of their own (`propers` may still be non-null — + * e.g. St. Agatha and St. Lucy both have a proper antiphon but a + * Common-sourced collect) — the *full* id of a `data/propers/common/ + * collect-c*.yml` file (e.g. `collect-c2-1`, not `c2-1` — no suffix + * gets appended), a *template* with a literal `{N}` standing in for + * the saint's own name, substituted via `collectName` below. + * Deliberately more granular than `common` above: the reference + * source's own Commune files split e.g. "Common of a Martyr Bishop" + * into several differently-worded collect templates (its own `C2`, + * `C2-1`, `C2a-1`, `C2b`, `C2b-1` — no clean semantic label recovered + * for *why* each saint gets a particular one, so these ids trace + * straight back to the source's own naming, e.g. `collect-c2-1`, + * rather than inventing a name that might be wrong. + */ + collectCommon?: string; + /** The `{N}` substitution values for `collectCommon`'s template, in + * whatever grammatical case that specific template's own placeholder + * position needs — taken directly from the reference source's own + * per-saint `[Name]` section (Latin/English/Sancti or SanctiM + * `MM-DD.txt`), not re-declined by hand. Arrays, filled in + * left-to-right against the template's own `{N}` occurrences in + * document order — most saints need exactly one name, but several + * Common templates (e.g. `collect-c3`, two co-named Martyr-Bishops) + * have two or more `{N}` placeholders for a group commemorated + * together, one array entry per saint in the group. */ + collectName?: { la: string[]; en: string[] }; /** See calendar/types.ts's OctaveConfig doc comment. Absent for the vast * majority of saints — only ones with a real octave declare it. */ octave?: OctaveConfig; diff --git a/src/data/calendar/saints/all-saints-of-the-benedictine-order.yml b/src/data/calendar/saints/all-saints-of-the-benedictine-order.yml index a940bab..b9001a8 100644 --- a/src/data/calendar/saints/all-saints-of-the-benedictine-order.yml +++ b/src/data/calendar/saints/all-saints-of-the-benedictine-order.yml @@ -13,4 +13,4 @@ id: all-saints-of-the-benedictine-order name: "All Saints of the Order of St. Benedict" rank: duplex-2-classis common: proper-to-all-saints -propers: null +propers: "all-saints-of-the-benedictine-order" diff --git a/src/data/calendar/saints/dedication-of-the-basilicas-of-ss-peter-and-paul.yml b/src/data/calendar/saints/dedication-of-the-basilicas-of-ss-peter-and-paul.yml index d010522..c81e92a 100644 --- a/src/data/calendar/saints/dedication-of-the-basilicas-of-ss-peter-and-paul.yml +++ b/src/data/calendar/saints/dedication-of-the-basilicas-of-ss-peter-and-paul.yml @@ -11,3 +11,7 @@ name: "Dedication of the Basilicas of Ss. Peter and Paul" rank: duplex common: common-of-an-apostle propers: null +collectCommon: collect-c8 +collectName: + la: [] + en: [] diff --git a/src/data/calendar/saints/ss-alexander-eventius-theodulus-and-juvenal.yml b/src/data/calendar/saints/ss-alexander-eventius-theodulus-and-juvenal.yml index 31e3bbd..59ee599 100644 --- a/src/data/calendar/saints/ss-alexander-eventius-theodulus-and-juvenal.yml +++ b/src/data/calendar/saints/ss-alexander-eventius-theodulus-and-juvenal.yml @@ -11,4 +11,4 @@ id: ss-alexander-eventius-theodulus-and-juvenal name: "Ss. Alexander I, Eventius, and Theodulus, Martyrs, and Juvenal, Bishop and Confessor" rank: simplex common: common-of-several-martyrs -propers: null +propers: "ss-alexander-eventius-theodulus-and-juvenal" diff --git a/src/data/calendar/saints/ss-cletus-and-marcellinus.yml b/src/data/calendar/saints/ss-cletus-and-marcellinus.yml index 40b2ef0..e216ca5 100644 --- a/src/data/calendar/saints/ss-cletus-and-marcellinus.yml +++ b/src/data/calendar/saints/ss-cletus-and-marcellinus.yml @@ -6,3 +6,7 @@ name: "Ss. Cletus and Marcellinus, Popes and Martyrs" rank: semiduplex common: common-of-several-martyrs propers: null +collectCommon: collect-c3b +collectName: + la: ["Cletum", "Marcellínum"] + en: ["Cletus", "Marcellinus"] diff --git a/src/data/calendar/saints/ss-cornelius-and-cyprian.yml b/src/data/calendar/saints/ss-cornelius-and-cyprian.yml index dc974a4..e0cf7f9 100644 --- a/src/data/calendar/saints/ss-cornelius-and-cyprian.yml +++ b/src/data/calendar/saints/ss-cornelius-and-cyprian.yml @@ -11,3 +11,7 @@ name: "Ss. Cornelius, Pope, and Cyprian, Bishop, Martyrs" rank: semiduplex common: common-of-several-martyrs propers: null +collectCommon: collect-c3 +collectName: + la: ["Cornélii", "Cypriáni"] + en: ["Cornelius", "Cyprian"] diff --git a/src/data/calendar/saints/ss-dionysius-and-companions.yml b/src/data/calendar/saints/ss-dionysius-and-companions.yml index c33798f..fa42f9c 100644 --- a/src/data/calendar/saints/ss-dionysius-and-companions.yml +++ b/src/data/calendar/saints/ss-dionysius-and-companions.yml @@ -9,4 +9,4 @@ id: ss-dionysius-and-companions name: "St. Dionysius, Bishop, and Companions, Martyrs" rank: semiduplex common: common-of-a-martyr-bishop -propers: null +propers: "ss-dionysius-and-companions" diff --git a/src/data/calendar/saints/ss-euphemia-lucia-and-geminianus.yml b/src/data/calendar/saints/ss-euphemia-lucia-and-geminianus.yml index bb8dc61..2c2ca6b 100644 --- a/src/data/calendar/saints/ss-euphemia-lucia-and-geminianus.yml +++ b/src/data/calendar/saints/ss-euphemia-lucia-and-geminianus.yml @@ -12,4 +12,4 @@ id: ss-euphemia-lucia-and-geminianus name: "Ss. Euphemia, Lucy, and Geminianus, Martyrs" rank: simplex common: common-of-several-martyrs -propers: null +propers: "ss-euphemia-lucia-and-geminianus" diff --git a/src/data/calendar/saints/ss-faustinus-and-jovita.yml b/src/data/calendar/saints/ss-faustinus-and-jovita.yml index eaa4050..9f746de 100644 --- a/src/data/calendar/saints/ss-faustinus-and-jovita.yml +++ b/src/data/calendar/saints/ss-faustinus-and-jovita.yml @@ -7,3 +7,7 @@ name: "Ss. Faustinus and Jovita, Martyrs" rank: simplex common: common-of-several-martyrs propers: null +collectCommon: collect-c3a-1 +collectName: + la: ["Faustíni", "Jovítæ"] + en: ["Faustinus", "Jovita"] diff --git a/src/data/calendar/saints/ss-felix-and-adauctus.yml b/src/data/calendar/saints/ss-felix-and-adauctus.yml index 7ecf73e..9d195ed 100644 --- a/src/data/calendar/saints/ss-felix-and-adauctus.yml +++ b/src/data/calendar/saints/ss-felix-and-adauctus.yml @@ -13,4 +13,4 @@ id: ss-felix-and-adauctus name: "Ss. Felix and Adauctus, Martyrs" rank: simplex common: common-of-several-martyrs -propers: null +propers: "ss-felix-and-adauctus" diff --git a/src/data/calendar/saints/ss-felix-simplicius-faustinus-and-beatrix.yml b/src/data/calendar/saints/ss-felix-simplicius-faustinus-and-beatrix.yml index 771012e..9f055d4 100644 --- a/src/data/calendar/saints/ss-felix-simplicius-faustinus-and-beatrix.yml +++ b/src/data/calendar/saints/ss-felix-simplicius-faustinus-and-beatrix.yml @@ -11,4 +11,4 @@ id: ss-felix-simplicius-faustinus-and-beatrix name: "Ss. Felix, Simplicius, Faustinus, and Beatrix, Martyrs" rank: simplex common: common-of-several-martyrs -propers: null +propers: "ss-felix-simplicius-faustinus-and-beatrix" diff --git a/src/data/calendar/saints/ss-machabees.yml b/src/data/calendar/saints/ss-machabees.yml index e78a4d0..64ef860 100644 --- a/src/data/calendar/saints/ss-machabees.yml +++ b/src/data/calendar/saints/ss-machabees.yml @@ -6,4 +6,4 @@ id: ss-machabees name: "Ss. Machabees, Martyrs" rank: simplex common: common-of-several-martyrs -propers: null +propers: "ss-machabees" diff --git a/src/data/calendar/saints/ss-marius-martha-audifax-and-abachum.yml b/src/data/calendar/saints/ss-marius-martha-audifax-and-abachum.yml index c5bb9ad..9271b21 100644 --- a/src/data/calendar/saints/ss-marius-martha-audifax-and-abachum.yml +++ b/src/data/calendar/saints/ss-marius-martha-audifax-and-abachum.yml @@ -9,4 +9,4 @@ id: ss-marius-martha-audifax-and-abachum name: "Ss. Marius, Martha, Audifax, and Abachum, Martyrs" rank: simplex common: common-of-several-martyrs -propers: null +propers: "ss-marius-martha-audifax-and-abachum" diff --git a/src/data/calendar/saints/ss-maurice-and-companions.yml b/src/data/calendar/saints/ss-maurice-and-companions.yml index 5ba3b24..1a31868 100644 --- a/src/data/calendar/saints/ss-maurice-and-companions.yml +++ b/src/data/calendar/saints/ss-maurice-and-companions.yml @@ -10,4 +10,4 @@ id: ss-maurice-and-companions name: "Ss. Maurice and Companions, Martyrs" rank: simplex common: common-of-several-martyrs -propers: null +propers: "ss-maurice-and-companions" diff --git a/src/data/calendar/saints/ss-nabor-and-felix.yml b/src/data/calendar/saints/ss-nabor-and-felix.yml index a67920b..ca5191a 100644 --- a/src/data/calendar/saints/ss-nabor-and-felix.yml +++ b/src/data/calendar/saints/ss-nabor-and-felix.yml @@ -11,4 +11,4 @@ id: ss-nabor-and-felix name: "Ss. Nabor and Felix, Martyrs" rank: simplex common: common-of-several-martyrs -propers: null +propers: "ss-nabor-and-felix" diff --git a/src/data/calendar/saints/ss-placid-and-companions.yml b/src/data/calendar/saints/ss-placid-and-companions.yml index 5771cab..e324830 100644 --- a/src/data/calendar/saints/ss-placid-and-companions.yml +++ b/src/data/calendar/saints/ss-placid-and-companions.yml @@ -13,3 +13,7 @@ name: "Ss. Placid and Companions, Martyrs" rank: duplex-2-classis common: common-of-several-martyrs propers: null +collectCommon: collect-c3a +collectName: + la: ["Plácidi", "Sociórum ejus"] + en: ["Placidus", "his companions"] diff --git a/src/data/calendar/saints/ss-soter-and-caius.yml b/src/data/calendar/saints/ss-soter-and-caius.yml index 62d615e..1350941 100644 --- a/src/data/calendar/saints/ss-soter-and-caius.yml +++ b/src/data/calendar/saints/ss-soter-and-caius.yml @@ -9,3 +9,7 @@ name: "Ss. Soter and Caius, Popes and Martyrs" rank: semiduplex common: common-of-several-martyrs propers: null +collectCommon: collect-c3b +collectName: + la: ["Sotérem", "Cajum"] + en: ["Soter", "Caius"] diff --git a/src/data/calendar/saints/ss-tryphon-and-companions.yml b/src/data/calendar/saints/ss-tryphon-and-companions.yml index 72f8960..56d60ed 100644 --- a/src/data/calendar/saints/ss-tryphon-and-companions.yml +++ b/src/data/calendar/saints/ss-tryphon-and-companions.yml @@ -8,4 +8,4 @@ id: ss-tryphon-and-companions name: "Ss. Tryphon, Respicius, and Nympha, Martyrs" rank: simplex common: common-of-several-martyrs -propers: null +propers: "ss-tryphon-and-companions" diff --git a/src/data/calendar/saints/ss-twelve-brothers.yml b/src/data/calendar/saints/ss-twelve-brothers.yml index fe4f153..6d10959 100644 --- a/src/data/calendar/saints/ss-twelve-brothers.yml +++ b/src/data/calendar/saints/ss-twelve-brothers.yml @@ -6,4 +6,4 @@ id: ss-twelve-brothers name: "Ss. Twelve Brothers, Martyrs" rank: simplex common: common-of-several-martyrs -propers: null +propers: "ss-twelve-brothers" diff --git a/src/data/calendar/saints/ss-ursula-and-companions.yml b/src/data/calendar/saints/ss-ursula-and-companions.yml index 43e41af..aea2075 100644 --- a/src/data/calendar/saints/ss-ursula-and-companions.yml +++ b/src/data/calendar/saints/ss-ursula-and-companions.yml @@ -7,3 +7,7 @@ name: "Ss. Ursula and Companions, Virgins and Martyrs" rank: simplex common: common-of-several-martyrs propers: null +collectCommon: collect-c6b +collectName: + la: ["Ursulæ", "Sociárum"] + en: ["Ursula", "her companions"] diff --git a/src/data/calendar/saints/st-agnes-secunda.yml b/src/data/calendar/saints/st-agnes-secunda.yml index ffc43f6..f847a0f 100644 --- a/src/data/calendar/saints/st-agnes-secunda.yml +++ b/src/data/calendar/saints/st-agnes-secunda.yml @@ -9,4 +9,4 @@ id: st-agnes-secunda name: "St. Agnes, Virgin and Martyr, Second Feast" rank: simplex common: common-of-a-virgin-martyr -propers: null +propers: "st-agnes-secunda" diff --git a/src/data/calendar/saints/st-alexius.yml b/src/data/calendar/saints/st-alexius.yml index 6e4f2f7..ccfd000 100644 --- a/src/data/calendar/saints/st-alexius.yml +++ b/src/data/calendar/saints/st-alexius.yml @@ -8,3 +8,7 @@ name: "St. Alexius, Confessor" rank: simplex common: common-of-a-confessor propers: null +collectCommon: collect-c5 +collectName: + la: ["Aléxii"] + en: ["Alexis"] diff --git a/src/data/calendar/saints/st-ambrose.yml b/src/data/calendar/saints/st-ambrose.yml index d5d9500..d1cd928 100644 --- a/src/data/calendar/saints/st-ambrose.yml +++ b/src/data/calendar/saints/st-ambrose.yml @@ -10,3 +10,7 @@ name: "St. Ambrose, Bishop, Confessor and Doctor of the Church" rank: duplex common: common-of-a-confessor-bishop propers: null +collectCommon: collect-c4a +collectName: + la: ["Ambrósium"] + en: ["Ambrose"] diff --git a/src/data/calendar/saints/st-anacletus.yml b/src/data/calendar/saints/st-anacletus.yml index 0813d47..cb3a2da 100644 --- a/src/data/calendar/saints/st-anacletus.yml +++ b/src/data/calendar/saints/st-anacletus.yml @@ -7,3 +7,7 @@ name: "St. Anacletus, Pope and Martyr" rank: semiduplex common: common-of-a-martyr-bishop propers: null +collectCommon: collect-c2b +collectName: + la: ["Anaclétum"] + en: ["Anacletus"] diff --git a/src/data/calendar/saints/st-anicetus.yml b/src/data/calendar/saints/st-anicetus.yml index 95a68d8..f84df14 100644 --- a/src/data/calendar/saints/st-anicetus.yml +++ b/src/data/calendar/saints/st-anicetus.yml @@ -6,3 +6,7 @@ name: "St. Anicetus, Pope and Martyr" rank: simplex common: common-of-a-martyr-bishop propers: null +collectCommon: collect-c2b +collectName: + la: ["Anicétum"] + en: ["Anciet"] diff --git a/src/data/calendar/saints/st-anthony-abbot.yml b/src/data/calendar/saints/st-anthony-abbot.yml index 91663cf..cf12ec5 100644 --- a/src/data/calendar/saints/st-anthony-abbot.yml +++ b/src/data/calendar/saints/st-anthony-abbot.yml @@ -10,3 +10,7 @@ name: "St. Anthony, Abbot" rank: duplex common: common-of-an-abbot propers: null +collectCommon: collect-c5b +collectName: + la: ["Antónii"] + en: ["Anthony"] diff --git a/src/data/calendar/saints/st-barbara.yml b/src/data/calendar/saints/st-barbara.yml index a7f22ad..144f4e0 100644 --- a/src/data/calendar/saints/st-barbara.yml +++ b/src/data/calendar/saints/st-barbara.yml @@ -11,3 +11,7 @@ name: "St. Barbara, Virgin and Martyr" rank: simplex common: common-of-a-virgin-martyr propers: null +collectCommon: collect-c6 +collectName: + la: ["Bárbaræ"] + en: ["Barbara"] diff --git a/src/data/calendar/saints/st-benedict.yml b/src/data/calendar/saints/st-benedict.yml index 592f52f..e47f7e7 100644 --- a/src/data/calendar/saints/st-benedict.yml +++ b/src/data/calendar/saints/st-benedict.yml @@ -11,4 +11,4 @@ id: st-benedict name: "St. Benedict, Abbot (Transitus)" rank: duplex-1-classis common: common-of-an-abbot -propers: null +propers: "st-benedict" diff --git a/src/data/calendar/saints/st-blaise.yml b/src/data/calendar/saints/st-blaise.yml index 7dfbf92..e3670b7 100644 --- a/src/data/calendar/saints/st-blaise.yml +++ b/src/data/calendar/saints/st-blaise.yml @@ -10,3 +10,7 @@ name: "St. Blaise, Bishop and Martyr" rank: simplex common: common-of-a-martyr-bishop propers: null +collectCommon: collect-c2-1 +collectName: + la: [Blásii] + en: [Blaise] diff --git a/src/data/calendar/saints/st-bonaventure.yml b/src/data/calendar/saints/st-bonaventure.yml index ece752b..86c2b1b 100644 --- a/src/data/calendar/saints/st-bonaventure.yml +++ b/src/data/calendar/saints/st-bonaventure.yml @@ -7,3 +7,7 @@ name: "St. Bonaventure, Bishop, Confessor and Doctor of the Church" rank: duplex common: common-of-a-confessor-bishop propers: null +collectCommon: collect-c4a +collectName: + la: ["Bonaventúram"] + en: ["Bonaventure"] diff --git a/src/data/calendar/saints/st-catherine-of-siena.yml b/src/data/calendar/saints/st-catherine-of-siena.yml index 6abeab1..02cea52 100644 --- a/src/data/calendar/saints/st-catherine-of-siena.yml +++ b/src/data/calendar/saints/st-catherine-of-siena.yml @@ -10,4 +10,4 @@ id: st-catherine-of-siena name: "St. Catherine of Siena, Virgin" rank: simplex common: common-of-a-virgin -propers: null +propers: "st-catherine-of-siena" diff --git a/src/data/calendar/saints/st-christina.yml b/src/data/calendar/saints/st-christina.yml index 73ebb76..2a8e65b 100644 --- a/src/data/calendar/saints/st-christina.yml +++ b/src/data/calendar/saints/st-christina.yml @@ -12,3 +12,7 @@ name: "St. Christina, Virgin and Martyr" rank: simplex common: common-of-a-virgin-martyr propers: null +collectCommon: collect-c6-1 +collectName: + la: ["Christína"] + en: ["Christina"] diff --git a/src/data/calendar/saints/st-christopher.yml b/src/data/calendar/saints/st-christopher.yml index 55c8a35..040f668 100644 --- a/src/data/calendar/saints/st-christopher.yml +++ b/src/data/calendar/saints/st-christopher.yml @@ -12,3 +12,7 @@ name: "St. Christopher, Martyr" rank: simplex common: common-of-a-martyr propers: null +collectCommon: collect-c2a +collectName: + la: ["Christóphori"] + en: ["Christopher"] diff --git a/src/data/calendar/saints/st-chrysogonus.yml b/src/data/calendar/saints/st-chrysogonus.yml index b536801..184f411 100644 --- a/src/data/calendar/saints/st-chrysogonus.yml +++ b/src/data/calendar/saints/st-chrysogonus.yml @@ -13,4 +13,4 @@ id: st-chrysogonus name: "St. Chrysogonus, Martyr" rank: simplex common: common-of-a-martyr -propers: null +propers: "st-chrysogonus" diff --git a/src/data/calendar/saints/st-donatus.yml b/src/data/calendar/saints/st-donatus.yml index b49b58c..942f5e8 100644 --- a/src/data/calendar/saints/st-donatus.yml +++ b/src/data/calendar/saints/st-donatus.yml @@ -19,4 +19,4 @@ id: st-donatus name: "St. Donatus, Bishop and Martyr" rank: simplex common: common-of-a-martyr-bishop -propers: null +propers: "st-donatus" diff --git a/src/data/calendar/saints/st-emerentiana.yml b/src/data/calendar/saints/st-emerentiana.yml index 192ef5c..f99d659 100644 --- a/src/data/calendar/saints/st-emerentiana.yml +++ b/src/data/calendar/saints/st-emerentiana.yml @@ -10,3 +10,7 @@ name: "St. Emerentiana, Virgin and Martyr" rank: simplex common: common-of-a-virgin-martyr propers: null +collectCommon: collect-c6-1 +collectName: + la: ["Emerentiána"] + en: ["Emerentiana"] diff --git a/src/data/calendar/saints/st-emilian.yml b/src/data/calendar/saints/st-emilian.yml index 3987a7e..6e8b23a 100644 --- a/src/data/calendar/saints/st-emilian.yml +++ b/src/data/calendar/saints/st-emilian.yml @@ -12,3 +12,7 @@ name: "St. Emilian, Abbot" rank: duplex common: common-of-an-abbot propers: null +collectCommon: collect-c5b +collectName: + la: ["Æmiliani"] + en: ["Emilian"] diff --git a/src/data/calendar/saints/st-eusebius-of-vercelli.yml b/src/data/calendar/saints/st-eusebius-of-vercelli.yml index 7b2c9e7..8641bd7 100644 --- a/src/data/calendar/saints/st-eusebius-of-vercelli.yml +++ b/src/data/calendar/saints/st-eusebius-of-vercelli.yml @@ -14,3 +14,7 @@ name: "St. Eusebius of Vercelli, Bishop and Martyr" rank: semiduplex common: common-of-a-martyr-bishop propers: null +collectCommon: collect-c2-1 +collectName: + la: ["Eusébii"] + en: ["Eusebius"] diff --git a/src/data/calendar/saints/st-evaristus.yml b/src/data/calendar/saints/st-evaristus.yml index 376f36d..c5b15ea 100644 --- a/src/data/calendar/saints/st-evaristus.yml +++ b/src/data/calendar/saints/st-evaristus.yml @@ -7,3 +7,7 @@ name: "St. Evaristus, Pope and Martyr" rank: simplex common: common-of-a-martyr-bishop propers: null +collectCommon: collect-c2b +collectName: + la: ["Evarístum"] + en: ["Evaristus"] diff --git a/src/data/calendar/saints/st-felicitas.yml b/src/data/calendar/saints/st-felicitas.yml index ab4dfd8..5483be8 100644 --- a/src/data/calendar/saints/st-felicitas.yml +++ b/src/data/calendar/saints/st-felicitas.yml @@ -6,4 +6,4 @@ id: st-felicitas name: "St. Felicitas, Martyr" rank: simplex common: common-of-a-martyr -propers: null +propers: "st-felicitas" diff --git a/src/data/calendar/saints/st-felix-i.yml b/src/data/calendar/saints/st-felix-i.yml index 18b2449..1ffa467 100644 --- a/src/data/calendar/saints/st-felix-i.yml +++ b/src/data/calendar/saints/st-felix-i.yml @@ -6,3 +6,7 @@ name: "St. Felix I, Pope and Martyr" rank: simplex common: common-of-a-martyr-bishop propers: null +collectCommon: collect-c2b +collectName: + la: ["Felícem"] + en: ["Felix"] diff --git a/src/data/calendar/saints/st-felix-presbyter.yml b/src/data/calendar/saints/st-felix-presbyter.yml index 5dec4e0..99d764d 100644 --- a/src/data/calendar/saints/st-felix-presbyter.yml +++ b/src/data/calendar/saints/st-felix-presbyter.yml @@ -9,4 +9,4 @@ id: st-felix-presbyter name: "St. Felix, Priest and Martyr" rank: simplex common: common-of-a-martyr -propers: null +propers: "st-felix-presbyter" diff --git a/src/data/calendar/saints/st-gall.yml b/src/data/calendar/saints/st-gall.yml index 4cf354b..ff02300 100644 --- a/src/data/calendar/saints/st-gall.yml +++ b/src/data/calendar/saints/st-gall.yml @@ -12,3 +12,7 @@ name: "St. Gall, Abbot" rank: duplex common: common-of-an-abbot propers: null +collectCommon: collect-c5b +collectName: + la: ["Galli"] + en: ["Gall"] diff --git a/src/data/calendar/saints/st-giles.yml b/src/data/calendar/saints/st-giles.yml index f02ca62..320290e 100644 --- a/src/data/calendar/saints/st-giles.yml +++ b/src/data/calendar/saints/st-giles.yml @@ -8,3 +8,7 @@ name: "St. Giles, Abbot" rank: simplex common: common-of-an-abbot propers: null +collectCommon: collect-c5b +collectName: + la: ["Ægídii"] + en: ["Giles"] diff --git a/src/data/calendar/saints/st-gregory-nazianzen.yml b/src/data/calendar/saints/st-gregory-nazianzen.yml index f41f5a3..550aae9 100644 --- a/src/data/calendar/saints/st-gregory-nazianzen.yml +++ b/src/data/calendar/saints/st-gregory-nazianzen.yml @@ -7,3 +7,7 @@ name: "St. Gregory Nazianzen, Bishop, Confessor and Doctor of the Church" rank: duplex common: common-of-a-confessor-bishop propers: null +collectCommon: collect-c4a +collectName: + la: ["Gregorii Nazianzéni"] + en: ["Gregory Nazianzen"] diff --git a/src/data/calendar/saints/st-gregory-thaumaturgus.yml b/src/data/calendar/saints/st-gregory-thaumaturgus.yml index 1872e1b..7a3a5d3 100644 --- a/src/data/calendar/saints/st-gregory-thaumaturgus.yml +++ b/src/data/calendar/saints/st-gregory-thaumaturgus.yml @@ -7,3 +7,7 @@ name: "St. Gregory Thaumaturgus, Bishop and Confessor" rank: semiduplex common: common-of-a-confessor-bishop propers: null +collectCommon: collect-c4 +collectName: + la: ["Gregórii"] + en: ["Gregory"] diff --git a/src/data/calendar/saints/st-hadrian.yml b/src/data/calendar/saints/st-hadrian.yml index 8a21861..f547052 100644 --- a/src/data/calendar/saints/st-hadrian.yml +++ b/src/data/calendar/saints/st-hadrian.yml @@ -12,3 +12,7 @@ name: "St. Hadrian, Martyr" rank: simplex common: common-of-a-martyr propers: null +collectCommon: collect-c2a +collectName: + la: ["Hadriáni"] + en: ["Adrian"] diff --git a/src/data/calendar/saints/st-hermes.yml b/src/data/calendar/saints/st-hermes.yml index 7de0315..a200d8b 100644 --- a/src/data/calendar/saints/st-hermes.yml +++ b/src/data/calendar/saints/st-hermes.yml @@ -6,4 +6,4 @@ id: st-hermes name: "St. Hermes, Martyr" rank: simplex common: common-of-a-martyr -propers: null +propers: "st-hermes" diff --git a/src/data/calendar/saints/st-hilarion.yml b/src/data/calendar/saints/st-hilarion.yml index f44263a..ec10655 100644 --- a/src/data/calendar/saints/st-hilarion.yml +++ b/src/data/calendar/saints/st-hilarion.yml @@ -8,3 +8,7 @@ name: "St. Hilarion, Abbot" rank: simplex common: common-of-an-abbot propers: null +collectCommon: collect-c5b +collectName: + la: ["Hilariónis"] + en: ["Hilarion"] diff --git a/src/data/calendar/saints/st-hyginus.yml b/src/data/calendar/saints/st-hyginus.yml index 717f86f..3126b7b 100644 --- a/src/data/calendar/saints/st-hyginus.yml +++ b/src/data/calendar/saints/st-hyginus.yml @@ -10,3 +10,7 @@ name: "St. Hyginus, Pope and Martyr" rank: simplex common: common-of-a-martyr-bishop propers: null +collectCommon: collect-c2b +collectName: + la: ["Hygínum"] + en: ["Hyginus"] diff --git a/src/data/calendar/saints/st-ignatius-of-antioch.yml b/src/data/calendar/saints/st-ignatius-of-antioch.yml index 0441836..994b25b 100644 --- a/src/data/calendar/saints/st-ignatius-of-antioch.yml +++ b/src/data/calendar/saints/st-ignatius-of-antioch.yml @@ -9,3 +9,7 @@ name: "St. Ignatius of Antioch, Bishop and Martyr" rank: duplex common: common-of-a-martyr-bishop propers: null +collectCommon: collect-c2 +collectName: + la: ["Ignátii"] + en: ["Ignatius"] diff --git a/src/data/calendar/saints/st-januarius.yml b/src/data/calendar/saints/st-januarius.yml index bb97d6a..cf14299 100644 --- a/src/data/calendar/saints/st-januarius.yml +++ b/src/data/calendar/saints/st-januarius.yml @@ -9,3 +9,7 @@ name: "St. Januarius, Bishop, and Companions, Martyrs" rank: semiduplex common: common-of-a-martyr-bishop propers: null +collectCommon: collect-c3a-1 +collectName: + la: ["Januárii", "Sociórum ejus"] + en: ["Januarius", "companions"] diff --git a/src/data/calendar/saints/st-john-gualbert.yml b/src/data/calendar/saints/st-john-gualbert.yml index 4fa4738..1e5b83b 100644 --- a/src/data/calendar/saints/st-john-gualbert.yml +++ b/src/data/calendar/saints/st-john-gualbert.yml @@ -8,3 +8,7 @@ name: "St. John Gualbert, Abbot" rank: duplex common: common-of-an-abbot propers: null +collectCommon: collect-c5b +collectName: + la: ["Joánnis"] + en: ["John"] diff --git a/src/data/calendar/saints/st-justina.yml b/src/data/calendar/saints/st-justina.yml index d5d09d9..b1e4ebf 100644 --- a/src/data/calendar/saints/st-justina.yml +++ b/src/data/calendar/saints/st-justina.yml @@ -14,3 +14,7 @@ name: "St. Justina, Virgin and Martyr" rank: duplex common: common-of-a-virgin-martyr propers: null +collectCommon: collect-c6 +collectName: + la: ["Justinæ"] + en: ["Justina"] diff --git a/src/data/calendar/saints/st-liborius.yml b/src/data/calendar/saints/st-liborius.yml index e441461..03c9dfb 100644 --- a/src/data/calendar/saints/st-liborius.yml +++ b/src/data/calendar/saints/st-liborius.yml @@ -12,3 +12,7 @@ name: "St. Liborius, Bishop and Confessor" rank: simplex common: common-of-a-confessor-bishop propers: null +collectCommon: collect-c4 +collectName: + la: ["Libórii"] + en: ["Liborius"] diff --git a/src/data/calendar/saints/st-linus.yml b/src/data/calendar/saints/st-linus.yml index b73aee7..eb461f1 100644 --- a/src/data/calendar/saints/st-linus.yml +++ b/src/data/calendar/saints/st-linus.yml @@ -7,3 +7,7 @@ name: "St. Linus, Pope and Martyr" rank: semiduplex common: common-of-a-martyr-bishop propers: null +collectCommon: collect-c2b +collectName: + la: ["Linum"] + en: ["Linus"] diff --git a/src/data/calendar/saints/st-marcus.yml b/src/data/calendar/saints/st-marcus.yml index af41135..c1d6ae5 100644 --- a/src/data/calendar/saints/st-marcus.yml +++ b/src/data/calendar/saints/st-marcus.yml @@ -7,4 +7,4 @@ id: st-marcus name: "St. Marcus, Pope and Confessor" rank: simplex common: common-of-a-confessor-bishop -propers: null +propers: "st-marcus" diff --git a/src/data/calendar/saints/st-martha.yml b/src/data/calendar/saints/st-martha.yml index f562c24..995856e 100644 --- a/src/data/calendar/saints/st-martha.yml +++ b/src/data/calendar/saints/st-martha.yml @@ -2,9 +2,20 @@ # check (2028-07-29, no Sunday collision) -- winner outright, Semiduplex, # over Ss. Felix/Simplicius/Faustinus/Beatrix (see ss-felix-simplicius- # faustinus-and-beatrix.yml). No unique Oratio/Antiphon in the source -- -# Common of a Holy Woman only. +# Common of a Holy Woman only. Her own Monastic-specific source file +# (SanctiM/07-29.txt) overrides the base Tridentine file's own "vide C6a" +# with "vide C6b" instead -- a plural ("Several Virgins and Martyrs") +# template needing two names, which doesn't fit a single saint. Kept the +# base C6a (singular) assignment here as the more sensible reading, +# treating the Monastic file's own override as likely an inconsistency +# rather than a real joint-commemoration convention -- flagged, not +# fully explained. id: st-martha name: "St. Martha, Virgin" rank: semiduplex common: common-of-a-holy-woman propers: null +collectCommon: collect-c6a +collectName: + la: ["Marthæ"] + en: ["Martha"] diff --git a/src/data/calendar/saints/st-martin-i.yml b/src/data/calendar/saints/st-martin-i.yml index 574bd86..7dd54ab 100644 --- a/src/data/calendar/saints/st-martin-i.yml +++ b/src/data/calendar/saints/st-martin-i.yml @@ -13,3 +13,7 @@ name: "St. Martin I, Pope and Martyr" rank: semiduplex common: common-of-a-martyr-bishop propers: null +collectCommon: collect-c2b +collectName: + la: ["Martínum"] + en: ["Martin"] diff --git a/src/data/calendar/saints/st-maurus-abbot.yml b/src/data/calendar/saints/st-maurus-abbot.yml index d8c833f..35b2847 100644 --- a/src/data/calendar/saints/st-maurus-abbot.yml +++ b/src/data/calendar/saints/st-maurus-abbot.yml @@ -9,3 +9,7 @@ name: "St. Maurus, Abbot" rank: duplex-2-classis common: common-of-an-abbot propers: null +collectCommon: collect-c5b +collectName: + la: ["Mauri"] + en: ["Maurus"] diff --git a/src/data/calendar/saints/st-melchiades.yml b/src/data/calendar/saints/st-melchiades.yml index 5a7ead9..74bb177 100644 --- a/src/data/calendar/saints/st-melchiades.yml +++ b/src/data/calendar/saints/st-melchiades.yml @@ -8,3 +8,7 @@ name: "St. Melchiades, Pope and Martyr" rank: simplex common: common-of-a-martyr-bishop propers: null +collectCommon: collect-c2b +collectName: + la: ["Melchíadem"] + en: ["Melchiades"] diff --git a/src/data/calendar/saints/st-menna.yml b/src/data/calendar/saints/st-menna.yml index 9c37c8d..7293eeb 100644 --- a/src/data/calendar/saints/st-menna.yml +++ b/src/data/calendar/saints/st-menna.yml @@ -7,3 +7,7 @@ name: "St. Menna, Martyr" rank: simplex common: common-of-a-martyr propers: null +collectCommon: collect-c2a +collectName: + la: ["Mennæ"] + en: ["Menna"] diff --git a/src/data/calendar/saints/st-michael.yml b/src/data/calendar/saints/st-michael.yml index d8d024f..a7a9f45 100644 --- a/src/data/calendar/saints/st-michael.yml +++ b/src/data/calendar/saints/st-michael.yml @@ -1,17 +1,23 @@ -# Verified against Divinum Officium (web/www/horas/Latin/Sancti/09-29.txt, -# untagged/default [Rank] block — that file's own "(sed rubrica tridentina)" -# alternate gives Duplex II classis instead; the plain default is used here -# for consistency with how every other saint file in this set was read). -# FLAGGED (September pull): a live kalendar query against this pull's -# actual target track ("Monastic Tridentinum 1617") shows nothing at all -# on Sep 29 across 6 different years, and this file's own [Rank] block has -# no untagged/default entry for Sep 29 specifically -- only rubric-tagged -# alternates. The already-verified May 8 Apparition of St. Michael (see -# apparition-of-st-michael.yml) may be this tradition's only real -# Michaelmas. Kept mapped to Sep 29 anyway as a deliberate, informed -# simplification (explicit user decision, 2026-08), not an oversight. +# RESOLVED (2026-08): the earlier "flagged" uncertainty below is now +# settled by the reference engine's own era-specific calendar table +# (web/www/Tabulae/Kalendaria/1570.txt, unchanged by M1617.txt's own +# diffs) — Sep 29 genuinely is St. Michael's day under Monastic 1617 +# (rank 3, "In dedicatione S. Michaelis Archangelis"), it just never won +# outright against a stronger day in any of the 6 years spot-checked +# live. Its own source file (Sancti/09-29.txt) is a whole-file +# cross-reference to Sancti/05-08.txt — the Apparition of St. Michael's +# own file — confirmed live: the two saints' collects are word-for-word +# identical. `propers` points at Apparition's own id directly rather than +# duplicating the content, matching that cross-reference exactly. +# +# Prior comment, kept for the record: a live kalendar query against +# "Monastic Tridentinum 1617" showed nothing at all on Sep 29 across 6 +# different years, and Sancti/09-29.txt's own [Rank] block has no +# untagged/default entry for Sep 29 specifically — only rubric-tagged +# alternates. That's just this feast's real rank (3, fairly low) losing +# every tested year, not an absence from the calendar. id: st-michael name: "St. Michael the Archangel" rank: duplex-1-classis common: common-of-an-angel -propers: null +propers: "apparition-of-st-michael" diff --git a/src/data/calendar/saints/st-nicholas-of-tolentino.yml b/src/data/calendar/saints/st-nicholas-of-tolentino.yml index dafaafe..413ea3c 100644 --- a/src/data/calendar/saints/st-nicholas-of-tolentino.yml +++ b/src/data/calendar/saints/st-nicholas-of-tolentino.yml @@ -13,3 +13,7 @@ name: "St. Nicholas of Tolentino, Confessor" rank: semiduplex common: common-of-a-confessor-not-bishop propers: null +collectCommon: collect-c5-1 +collectName: + la: ["Nicolái"] + en: ["Nicolaus"] diff --git a/src/data/calendar/saints/st-odo.yml b/src/data/calendar/saints/st-odo.yml index 5c5f94a..fa5e74d 100644 --- a/src/data/calendar/saints/st-odo.yml +++ b/src/data/calendar/saints/st-odo.yml @@ -12,3 +12,7 @@ name: "St. Odo, Abbot" rank: duplex common: common-of-an-abbot propers: null +collectCommon: collect-c5b +collectName: + la: ["Odónis"] + en: ["Odo"] diff --git a/src/data/calendar/saints/st-pantaleon.yml b/src/data/calendar/saints/st-pantaleon.yml index ce93a7c..b047332 100644 --- a/src/data/calendar/saints/st-pantaleon.yml +++ b/src/data/calendar/saints/st-pantaleon.yml @@ -6,3 +6,7 @@ name: "St. Pantaleon, Martyr" rank: simplex common: common-of-a-martyr propers: null +collectCommon: collect-c2a-1 +collectName: + la: ["Pantaleóne"] + en: ["Pantaleon"] diff --git a/src/data/calendar/saints/st-peter-of-alexandria.yml b/src/data/calendar/saints/st-peter-of-alexandria.yml index 8ab3d84..18defff 100644 --- a/src/data/calendar/saints/st-peter-of-alexandria.yml +++ b/src/data/calendar/saints/st-peter-of-alexandria.yml @@ -9,3 +9,7 @@ name: "St. Peter of Alexandria, Bishop and Martyr" rank: simplex common: common-of-a-martyr-bishop propers: null +collectCommon: collect-c2 +collectName: + la: ["Petri"] + en: ["Peter"] diff --git a/src/data/calendar/saints/st-pius-i.yml b/src/data/calendar/saints/st-pius-i.yml index e03b06f..c9dd026 100644 --- a/src/data/calendar/saints/st-pius-i.yml +++ b/src/data/calendar/saints/st-pius-i.yml @@ -6,3 +6,7 @@ name: "St. Pius I, Pope and Martyr" rank: simplex common: common-of-a-martyr-bishop propers: null +collectCommon: collect-c2b +collectName: + la: ["Pii"] + en: ["Pius"] diff --git a/src/data/calendar/saints/st-polycarp.yml b/src/data/calendar/saints/st-polycarp.yml index f8c9a2d..1cd5fdd 100644 --- a/src/data/calendar/saints/st-polycarp.yml +++ b/src/data/calendar/saints/st-polycarp.yml @@ -7,3 +7,7 @@ name: "St. Polycarp, Bishop and Martyr" rank: semiduplex common: common-of-a-martyr-bishop propers: null +collectCommon: collect-c2-1 +collectName: + la: ["Polycárpi"] + en: ["Polycarp"] diff --git a/src/data/calendar/saints/st-pontian.yml b/src/data/calendar/saints/st-pontian.yml index f1f294a..0828e9b 100644 --- a/src/data/calendar/saints/st-pontian.yml +++ b/src/data/calendar/saints/st-pontian.yml @@ -8,3 +8,7 @@ name: "St. Pontian, Pope and Martyr" rank: simplex common: common-of-a-martyr-bishop propers: null +collectCommon: collect-c2b +collectName: + la: ["Pontiánum"] + en: ["Pontianus"] diff --git a/src/data/calendar/saints/st-praxedes.yml b/src/data/calendar/saints/st-praxedes.yml index 8b56061..77d9e65 100644 --- a/src/data/calendar/saints/st-praxedes.yml +++ b/src/data/calendar/saints/st-praxedes.yml @@ -8,3 +8,7 @@ name: "St. Praxedes, Virgin" rank: simplex common: common-of-a-virgin propers: null +collectCommon: collect-c6a +collectName: + la: ["Praxédis"] + en: ["Praxedes"] diff --git a/src/data/calendar/saints/st-prisca.yml b/src/data/calendar/saints/st-prisca.yml index ad6eb5b..cda64fa 100644 --- a/src/data/calendar/saints/st-prisca.yml +++ b/src/data/calendar/saints/st-prisca.yml @@ -9,4 +9,4 @@ id: st-prisca name: "St. Prisca, Virgin and Martyr" rank: simplex common: common-of-a-virgin-martyr -propers: null +propers: "st-prisca" diff --git a/src/data/calendar/saints/st-pudentiana.yml b/src/data/calendar/saints/st-pudentiana.yml index d88c2a3..a2a6793 100644 --- a/src/data/calendar/saints/st-pudentiana.yml +++ b/src/data/calendar/saints/st-pudentiana.yml @@ -12,3 +12,7 @@ name: "St. Pudentiana, Virgin" rank: simplex common: common-of-a-virgin propers: null +collectCommon: collect-c6a +collectName: + la: ["Pudentiánæ"] + en: ["Pudentiana"] diff --git a/src/data/calendar/saints/st-remigius.yml b/src/data/calendar/saints/st-remigius.yml index 2e7930a..a25e845 100644 --- a/src/data/calendar/saints/st-remigius.yml +++ b/src/data/calendar/saints/st-remigius.yml @@ -7,3 +7,7 @@ name: "St. Remigius, Bishop and Confessor" rank: simplex common: common-of-a-confessor-bishop propers: null +collectCommon: collect-c4 +collectName: + la: ["Remígii"] + en: ["Remigius"] diff --git a/src/data/calendar/saints/st-romanus-abbot.yml b/src/data/calendar/saints/st-romanus-abbot.yml index f9b3f0b..6038674 100644 --- a/src/data/calendar/saints/st-romanus-abbot.yml +++ b/src/data/calendar/saints/st-romanus-abbot.yml @@ -8,3 +8,7 @@ name: "St. Romanus, Abbot" rank: duplex common: common-of-an-abbot propers: null +collectCommon: collect-c5b +collectName: + la: ["Románi"] + en: ["Romanus"] diff --git a/src/data/calendar/saints/st-romanus.yml b/src/data/calendar/saints/st-romanus.yml index 148332b..5b7e336 100644 --- a/src/data/calendar/saints/st-romanus.yml +++ b/src/data/calendar/saints/st-romanus.yml @@ -15,3 +15,7 @@ name: "St. Romanus, Martyr" rank: simplex common: common-of-a-martyr propers: null +collectCommon: collect-c2a-1 +collectName: + la: ["Románo"] + en: ["Romanus"] diff --git a/src/data/calendar/saints/st-romuald.yml b/src/data/calendar/saints/st-romuald.yml index 26aaa07..885c27f 100644 --- a/src/data/calendar/saints/st-romuald.yml +++ b/src/data/calendar/saints/st-romuald.yml @@ -6,3 +6,7 @@ name: "St. Romuald, Abbot" rank: duplex common: common-of-an-abbot propers: null +collectCommon: collect-c5 +collectName: + la: ["Romuáldi"] + en: ["Romuald"] diff --git a/src/data/calendar/saints/st-sabbas.yml b/src/data/calendar/saints/st-sabbas.yml index a812408..35f9fd7 100644 --- a/src/data/calendar/saints/st-sabbas.yml +++ b/src/data/calendar/saints/st-sabbas.yml @@ -8,3 +8,7 @@ name: "St. Sabbas, Abbot" rank: simplex common: common-of-an-abbot propers: null +collectCommon: collect-c5b +collectName: + la: ["Sabbæ"] + en: ["Sabbas"] diff --git a/src/data/calendar/saints/st-sabina.yml b/src/data/calendar/saints/st-sabina.yml index dd50c7c..1f8a670 100644 --- a/src/data/calendar/saints/st-sabina.yml +++ b/src/data/calendar/saints/st-sabina.yml @@ -8,3 +8,7 @@ name: "St. Sabina, Martyr" rank: simplex common: common-of-a-martyr propers: null +collectCommon: collect-c6 +collectName: + la: ["Sabínæ"] + en: ["Sabina"] diff --git a/src/data/calendar/saints/st-saturninus.yml b/src/data/calendar/saints/st-saturninus.yml index 549eddd..7b4528a 100644 --- a/src/data/calendar/saints/st-saturninus.yml +++ b/src/data/calendar/saints/st-saturninus.yml @@ -6,4 +6,4 @@ id: st-saturninus name: "St. Saturninus, Martyr" rank: simplex common: common-of-a-martyr -propers: null +propers: "st-saturninus" diff --git a/src/data/calendar/saints/st-silverius.yml b/src/data/calendar/saints/st-silverius.yml index 8428a57..6e1be67 100644 --- a/src/data/calendar/saints/st-silverius.yml +++ b/src/data/calendar/saints/st-silverius.yml @@ -6,3 +6,7 @@ name: "St. Silverius, Pope and Martyr" rank: simplex common: common-of-a-martyr-bishop propers: null +collectCommon: collect-c2b +collectName: + la: ["Silvérii"] + en: ["Silverius"] diff --git a/src/data/calendar/saints/st-silvester-i.yml b/src/data/calendar/saints/st-silvester-i.yml index 4c12f0c..84b9e60 100644 --- a/src/data/calendar/saints/st-silvester-i.yml +++ b/src/data/calendar/saints/st-silvester-i.yml @@ -10,3 +10,7 @@ name: "St. Silvester I, Pope and Confessor" rank: duplex common: common-of-a-confessor-bishop propers: null +collectCommon: collect-c4 +collectName: + la: ["Silvéstri"] + en: ["Sylvester"] diff --git a/src/data/calendar/saints/st-simeon.yml b/src/data/calendar/saints/st-simeon.yml index e44b112..398e9a9 100644 --- a/src/data/calendar/saints/st-simeon.yml +++ b/src/data/calendar/saints/st-simeon.yml @@ -6,3 +6,7 @@ name: "St. Simeon, Bishop and Martyr" rank: simplex common: common-of-a-martyr-bishop propers: null +collectCommon: collect-c2 +collectName: + la: ["Simeónis"] + en: ["Simeon"] diff --git a/src/data/calendar/saints/st-stephen-i.yml b/src/data/calendar/saints/st-stephen-i.yml index ea6e599..bfd1632 100644 --- a/src/data/calendar/saints/st-stephen-i.yml +++ b/src/data/calendar/saints/st-stephen-i.yml @@ -16,3 +16,7 @@ name: "St. Stephen I, Pope and Martyr" rank: simplex common: common-of-a-martyr-bishop propers: null +collectCommon: collect-c2b +collectName: + la: ["Stéphanum"] + en: ["Stephen"] diff --git a/src/data/calendar/saints/st-telesphorus.yml b/src/data/calendar/saints/st-telesphorus.yml index 3820b6f..b331f7d 100644 --- a/src/data/calendar/saints/st-telesphorus.yml +++ b/src/data/calendar/saints/st-telesphorus.yml @@ -10,3 +10,7 @@ name: "St. Telesphorus, Pope and Martyr" rank: simplex common: common-of-a-martyr-bishop propers: null +collectCommon: collect-c2b +collectName: + la: ["Telésphorum"] + en: ["Telesphorus"] diff --git a/src/data/calendar/saints/st-thecla.yml b/src/data/calendar/saints/st-thecla.yml index 3a11514..2032922 100644 --- a/src/data/calendar/saints/st-thecla.yml +++ b/src/data/calendar/saints/st-thecla.yml @@ -6,4 +6,4 @@ id: st-thecla name: "St. Thecla, Virgin and Martyr" rank: simplex common: common-of-a-virgin-martyr -propers: null +propers: "st-thecla" diff --git a/src/data/calendar/saints/st-timothy.yml b/src/data/calendar/saints/st-timothy.yml index 6c11eb5..0809840 100644 --- a/src/data/calendar/saints/st-timothy.yml +++ b/src/data/calendar/saints/st-timothy.yml @@ -7,3 +7,7 @@ name: "St. Timothy, Bishop and Martyr" rank: semiduplex common: common-of-a-martyr-bishop propers: null +collectCommon: collect-c2 +collectName: + la: ["Timóthei"] + en: ["Timothy"] diff --git a/src/data/calendar/saints/vigil-of-st-andrew.yml b/src/data/calendar/saints/vigil-of-st-andrew.yml index 0239ef8..4d19357 100644 --- a/src/data/calendar/saints/vigil-of-st-andrew.yml +++ b/src/data/calendar/saints/vigil-of-st-andrew.yml @@ -8,3 +8,7 @@ name: "Vigil of St. Andrew" rank: vigil common: common-of-a-vigil propers: null +collectCommon: collect-c1v +collectName: + la: ["Andreas"] + en: ["Andrew"] diff --git a/src/data/calendar/saints/vigil-of-st-bartholomew.yml b/src/data/calendar/saints/vigil-of-st-bartholomew.yml index 38c8424..b61abe2 100644 --- a/src/data/calendar/saints/vigil-of-st-bartholomew.yml +++ b/src/data/calendar/saints/vigil-of-st-bartholomew.yml @@ -10,3 +10,7 @@ name: "Vigil of St. Bartholomew" rank: vigil common: common-of-a-vigil propers: null +collectCommon: collect-c1v +collectName: + la: ["Bartholomǽi"] + en: ["Bartholomeus"] diff --git a/src/data/calendar/saints/vigil-of-st-james.yml b/src/data/calendar/saints/vigil-of-st-james.yml index 9860ed1..92a3ea5 100644 --- a/src/data/calendar/saints/vigil-of-st-james.yml +++ b/src/data/calendar/saints/vigil-of-st-james.yml @@ -8,3 +8,7 @@ name: "Vigil of St. James the Greater" rank: vigil common: common-of-a-vigil propers: null +collectCommon: collect-c1v +collectName: + la: ["Jacóbi"] + en: ["James"] diff --git a/src/data/calendar/saints/vigil-of-st-john-the-baptist.yml b/src/data/calendar/saints/vigil-of-st-john-the-baptist.yml index bc2c6b3..10ca41d 100644 --- a/src/data/calendar/saints/vigil-of-st-john-the-baptist.yml +++ b/src/data/calendar/saints/vigil-of-st-john-the-baptist.yml @@ -7,4 +7,4 @@ id: vigil-of-st-john-the-baptist name: "Vigil of St. John the Baptist" rank: vigil common: common-of-a-vigil -propers: null +propers: "vigil-of-st-john-the-baptist" diff --git a/src/data/calendar/saints/vigil-of-st-lawrence.yml b/src/data/calendar/saints/vigil-of-st-lawrence.yml index 66d103c..8cb308c 100644 --- a/src/data/calendar/saints/vigil-of-st-lawrence.yml +++ b/src/data/calendar/saints/vigil-of-st-lawrence.yml @@ -7,4 +7,4 @@ id: vigil-of-st-lawrence name: "Vigil of St. Lawrence" rank: vigil common: common-of-a-vigil -propers: null +propers: "vigil-of-st-lawrence" diff --git a/src/data/calendar/saints/vigil-of-st-matthew.yml b/src/data/calendar/saints/vigil-of-st-matthew.yml index bd0df8b..0419be9 100644 --- a/src/data/calendar/saints/vigil-of-st-matthew.yml +++ b/src/data/calendar/saints/vigil-of-st-matthew.yml @@ -15,3 +15,7 @@ name: "Vigil of St. Matthew" rank: vigil common: common-of-a-vigil propers: null +collectCommon: collect-c1v +collectName: + la: ["Matthǽi"] + en: ["Matthew"] diff --git a/src/data/calendar/saints/vigil-of-st-matthias.yml b/src/data/calendar/saints/vigil-of-st-matthias.yml index e222d3c..510fd8a 100644 --- a/src/data/calendar/saints/vigil-of-st-matthias.yml +++ b/src/data/calendar/saints/vigil-of-st-matthias.yml @@ -9,3 +9,7 @@ name: "Vigil of St. Matthias" rank: vigil common: common-of-a-vigil propers: null +collectCommon: collect-c1v +collectName: + la: ["Matthíæ"] + en: ["Matthias"] diff --git a/src/data/calendar/saints/vigil-of-st-thomas.yml b/src/data/calendar/saints/vigil-of-st-thomas.yml index fe70af6..c13aab8 100644 --- a/src/data/calendar/saints/vigil-of-st-thomas.yml +++ b/src/data/calendar/saints/vigil-of-st-thomas.yml @@ -13,3 +13,7 @@ name: "Vigil of St. Thomas" rank: vigil common: common-of-a-vigil propers: null +collectCommon: collect-c1v +collectName: + la: ["Thomæ"] + en: ["Thomas"] diff --git a/src/data/propers/common/all-saints-of-the-benedictine-order-collect.yml b/src/data/propers/common/all-saints-of-the-benedictine-order-collect.yml new file mode 100644 index 0000000..665c303 --- /dev/null +++ b/src/data/propers/common/all-saints-of-the-benedictine-order-collect.yml @@ -0,0 +1,20 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), 2026-08. +# Pulled from the reference engine's own era-specific calendar table +# (web/www/Tabulae/Kalendaria/1570.txt + M1617.txt, own title +# "Omnium Sanctorum Monachorum Ordinis S.P. Benedicti") and its own source file, not the merged per-date +# files those tables' fileref points at directly -- see TODO.md. +id: all-saints-of-the-benedictine-order-collect +text: + la: | + Orémus. + Concéde, quǽsumus omnípotens Deus, ut ad meliórem vitam sanctórum Monachórum exémpla nos próvocent: † quátenus, quorum solémnia ágimus, * étiam actus imitémur. + Per 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: | + Let us pray. + Grant, we beseech thee, almighty God, that the examples of thy holy Monks may call us to a better life: so that, whose feasts we keep, we may also imitate their deeds. + Through 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 diff --git a/src/data/propers/common/collect-c1v.yml b/src/data/propers/common/collect-c1v.yml new file mode 100644 index 0000000..ecf428f --- /dev/null +++ b/src/data/propers/common/collect-c1v.yml @@ -0,0 +1,22 @@ +# Verified against the reference engine's own source data files: +# web/www/horas/Latin/Commune/C1v.txt ("Vigilia Apostolorum"), 2026-08. A +# Common-collect template for an Apostle's Vigil — `{N}` stands for the +# saint's own name, substituted by getDayCollect (hours/resolve-common.ts) +# via SaintRecord.collectCommon/collectName. No English rendering exists +# in the reference engine's data for this one — translated here, +# status: draft. +id: collect-c1v +text: + la: | + Orémus. + Da, quǽsumus, omnípotens Deus: ut beáti {N} Apóstoli tui, quam prævénimus, veneránda solémnitas, et devotiónem nobis áugeat et salútem. + Per 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: | + Let us pray. + Grant, we beseech thee, almighty God, that the venerable solemnity of thy blessed Apostle {N}, whose vigil we anticipate, may both increase our devotion and further our salvation. + Through 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 diff --git a/src/data/propers/common/collect-c2-1.yml b/src/data/propers/common/collect-c2-1.yml new file mode 100644 index 0000000..45ad1bf --- /dev/null +++ b/src/data/propers/common/collect-c2-1.yml @@ -0,0 +1,20 @@ +# Verified against the reference engine's own source data files: +# web/www/horas/Latin/Commune/C2-1.txt and its English counterpart, +# 2026-08. A Common-collect template — `{N}` stands for the saint's own +# name, substituted by getDayCollect (hours/resolve-common.ts) via +# SaintRecord.collectCommon/collectName. +id: collect-c2-1 +text: + la: | + Orémus. + Deus, qui nos beáti {N} Mártyris tui atque Pontíficis ánnua solemnitáte lætíficas: concéde propítius; ut, cujus natalítia cólimus, de ejúsdem étiam protectióne gaudeámus. + Per 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: | + Let us pray. + O God, who year by year dost gladden us by the solemn feast day of thy blessed Martyr and Bishop {N}, mercifully grant that we who keep his birthday, may ever feel the joyful effects of his protection. + Through 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 diff --git a/src/data/propers/common/collect-c2.yml b/src/data/propers/common/collect-c2.yml new file mode 100644 index 0000000..e4724a1 --- /dev/null +++ b/src/data/propers/common/collect-c2.yml @@ -0,0 +1,20 @@ +# Verified against the reference engine's own source data files: +# web/www/horas/Latin/Commune/C2.txt ("Commune Unius Martyris Pontificis") +# and its English counterpart, 2026-08. A Common-collect template — `{N}` +# stands for the saint's own name, substituted by getDayCollect +# (hours/resolve-common.ts) via SaintRecord.collectCommon/collectName. +id: collect-c2 +text: + la: | + Orémus. + Infirmitátem nostram réspice, omnípotens Deus: et, quia pondus própriæ actiónis gravat, beáti {N} Mártyris tui atque Pontíficis intercéssio gloriósa nos prótegat. + Per 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: | + Let us pray. + Mercifully consider our weakness, O Almighty God, and whereas by the burden of our sins we are sore, may the glorious intercession of blessed {N}, thy Martyr and Bishop, sustain us. + Through 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 diff --git a/src/data/propers/common/collect-c2a-1.yml b/src/data/propers/common/collect-c2a-1.yml new file mode 100644 index 0000000..4bc6e6b --- /dev/null +++ b/src/data/propers/common/collect-c2a-1.yml @@ -0,0 +1,20 @@ +# Verified against the reference engine's own source data files: +# web/www/horas/Latin/Commune/C2a-1.txt and its English counterpart, +# 2026-08. A Common-collect template — `{N}` stands for the saint's own +# name, substituted by getDayCollect (hours/resolve-common.ts) via +# SaintRecord.collectCommon/collectName. +id: collect-c2a-1 +text: + la: | + Orémus. + Præsta, quǽsumus, omnípotens Deus: ut, intercedénte beáto {N} Mártyre tuo, et a cunctis adversitátibus liberémur in córpore, et a pravis cogitatiónibus mundémur in mente. + Per 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: | + Let us pray. + Graciously hear us, we beseech thee, O Almighty God, and, at the petition of thy blessed Martyr {N}, be mercifully pleased to deliver us from all things which may hurt our bodies, and from all evil thoughts which may defile our souls. + Through 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 diff --git a/src/data/propers/common/collect-c2a.yml b/src/data/propers/common/collect-c2a.yml new file mode 100644 index 0000000..cfd113d --- /dev/null +++ b/src/data/propers/common/collect-c2a.yml @@ -0,0 +1,20 @@ +# Verified against the reference engine's own source data files: +# web/www/horas/Latin/Commune/C2a.txt and its English counterpart, +# 2026-08. A Common-collect template — `{N}` stands for the saint's own +# name, substituted by getDayCollect (hours/resolve-common.ts) via +# SaintRecord.collectCommon/collectName. +id: collect-c2a +text: + la: | + Orémus. + Præsta, quǽsumus, omnípotens Deus: ut, qui beáti {N} Mártyris tui natalítia cólimus, intercessióne ejus in tui nóminis amóre roborémur. + Per 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: | + Let us pray. + Grant, we beseech thee, almighty God, that we who celebrate the birthday of thy blessed Martyr {N}, may through his intercession be strengthened in the love of thy name. + Through 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 diff --git a/src/data/propers/common/collect-c2b.yml b/src/data/propers/common/collect-c2b.yml new file mode 100644 index 0000000..0601043 --- /dev/null +++ b/src/data/propers/common/collect-c2b.yml @@ -0,0 +1,24 @@ +# Verified against the reference engine's own source data files: +# web/www/horas/Latin/Commune/C2b.txt ("Commune unius Summi Pontificis et +# Martyris") and its English counterpart, 2026-08. A Common-collect +# template — `{N}` stands for the saint's own name, substituted by +# getDayCollect (hours/resolve-common.ts) via +# SaintRecord.collectCommon/collectName. Also used, verbatim, by C2b-1 +# (collect-c2-1's own "Summorum Pontificum" variant is this file +# unchanged, per its own source cross-reference) — no separate file for +# that id, saints needing it just point collectCommon here directly. +id: collect-c2b +text: + la: | + Orémus. + Gregem tuum, Pastor ætérne, placátus inténde: et, per beátum {N} Mártyrem tuum atque Summum Pontíficem, perpétua protectióne custódi; quem totíus Ecclésiæ præstitísti esse pastórem. + Per 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: | + Let us pray. + Look forgivingly on thy flock, Eternal Shepherd, and keep it in thy constant protection, by the intercession of blessed {N}, thy Martyr and Sovereign Pontiff, whom thou didst constitute Shepherd of the whole Church. + Through 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 diff --git a/src/data/propers/common/collect-c3.yml b/src/data/propers/common/collect-c3.yml new file mode 100644 index 0000000..7680283 --- /dev/null +++ b/src/data/propers/common/collect-c3.yml @@ -0,0 +1,21 @@ +# Verified against the reference engine's own source data files: +# web/www/horas/Latin/Commune/C3.txt ("Commune Plurimorum Martyrum +# Pontificum") and its English counterpart, 2026-08. A Common-collect +# template for TWO saints named together — `{N}` appears twice, +# substituted with each of their own names by getDayCollect +# (hours/resolve-common.ts). +id: collect-c3 +text: + la: | + Orémus. + Beatórum Mártyrum paritérque Pontíficum {N} et {N} nos, quǽsumus, Dómine, festa tueántur: et eórum comméndet orátio veneránda. + Per 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: | + Let us pray. + May the feast of the blessed Martyrs and Bishops {N} and {N} protect us, O Lord, we beseech thee, and may their holy prayer commend us unto thee. + Through 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 diff --git a/src/data/propers/common/collect-c3a-1.yml b/src/data/propers/common/collect-c3a-1.yml new file mode 100644 index 0000000..f5a2a60 --- /dev/null +++ b/src/data/propers/common/collect-c3a-1.yml @@ -0,0 +1,20 @@ +# Verified against the reference engine's own source data files: +# web/www/horas/Latin/Commune/C3a-1.txt and its English counterpart, +# 2026-08. A Common-collect template for TWO saints named together — +# `{N}` appears twice, substituted with each of their own names by +# getDayCollect (hours/resolve-common.ts). +id: collect-c3a-1 +text: + la: | + Orémus. + Deus, qui nos ánnua sanctórum Mártyrum tuórum {N} et {N} sollemnitáte lætíficas: concéde propítius; ut, quorum gaudémus méritis, accendámur exémplis. + Per 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: | + Let us pray. + O God, who gladden us by the annual festival of thy Martyrs {N} and {N}, grant that we may be inspired by the example of those in whose merits we rejoice. + Through 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 diff --git a/src/data/propers/common/collect-c3a.yml b/src/data/propers/common/collect-c3a.yml new file mode 100644 index 0000000..03a991d --- /dev/null +++ b/src/data/propers/common/collect-c3a.yml @@ -0,0 +1,20 @@ +# Verified against the reference engine's own source data files: +# web/www/horas/Latin/Commune/C3a.txt ("Commune Plurimorum Martyrum") and +# its English counterpart, 2026-08. A Common-collect template for TWO +# saints named together — `{N}` appears twice, substituted with each of +# their own names by getDayCollect (hours/resolve-common.ts). +id: collect-c3a +text: + la: | + Orémus. + Deus, qui nos concédis sanctórum Mártyrum tuórum {N} et {N} natalítia cólere: da nobis in ætérna beatitúdine de eórum societáte gaudére. + Per 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: | + Let us pray. + O God, who dost permit us to keep the birthday of thy holy Martyrs {N} and {N}, grant that we may enjoy their fellowship in everlasting happiness. + Through 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 diff --git a/src/data/propers/common/collect-c3b.yml b/src/data/propers/common/collect-c3b.yml new file mode 100644 index 0000000..892509c --- /dev/null +++ b/src/data/propers/common/collect-c3b.yml @@ -0,0 +1,23 @@ +# Verified against the reference engine's own source data files: +# web/www/horas/Latin/Commune/C3b.txt ("Commune plurium Summorum +# Pontificum Martyrum") and its English counterpart, 2026-08. A +# Common-collect template for TWO saints named together — `{N}` appears +# twice, substituted with each of their own names by getDayCollect +# (hours/resolve-common.ts). Source's own text has a stray leading "v. " +# before the prayer (a formatting artifact, not real content) — dropped +# here, same as this project's usual "Orémus."-omission convention. +id: collect-c3b +text: + la: | + Orémus. + Gregem tuum, Pastor ætérne, placátus inténde: et per beátos {N} et {N} Mártyres tuos atque Summos Pontífices perpétua protectióne custódi; quos totíus Ecclésiæ præstitísti esse pastóres. + Per 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: | + Let us pray. + Look forgivingly on thy flock, Eternal Shepherd, and keep it in thy constant protection, by the intercession of blessed {N} and {N}, thy Martyrs and Sovereign Pontiffs, whom thou didst constitute Shepherds of the whole Church. + Through 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 diff --git a/src/data/propers/common/collect-c4.yml b/src/data/propers/common/collect-c4.yml new file mode 100644 index 0000000..ea635b1 --- /dev/null +++ b/src/data/propers/common/collect-c4.yml @@ -0,0 +1,24 @@ +# Verified against the reference engine's own source data files: +# web/www/horas/Latin/Commune/C4.txt ("Commune unius Confessoris +# Pontificis") and its English counterpart, 2026-08. A Common-collect +# template — `{N}` stands for the saint's own name, substituted by +# getDayCollect (hours/resolve-common.ts) via +# SaintRecord.collectCommon/collectName. Source's own text has a stray +# leading "v. " before the prayer (a formatting artifact, not real +# content) — dropped here, same as this project's usual +# "Orémus."-omission convention. +id: collect-c4 +text: + la: | + Orémus. + Da, quǽsumus, omnípotens Deus: ut beáti {N} Confessóris tui atque Pontíficis veneránda solémnitas, et devotiónem nobis áugeat et salútem. + Per 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: | + Let us pray. + Grant, we beseech thee, almighty God, that the venerable feast of {N}, thy blessed Confessor and Bishop, may increase our devotion and promote our salvation. + Through 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 diff --git a/src/data/propers/common/collect-c4a.yml b/src/data/propers/common/collect-c4a.yml new file mode 100644 index 0000000..a53211e --- /dev/null +++ b/src/data/propers/common/collect-c4a.yml @@ -0,0 +1,20 @@ +# Verified against the reference engine's own source data files: +# web/www/horas/Latin/Commune/C4a.txt ("Commune Doctoris Pontificis") and +# its English counterpart, 2026-08. A Common-collect template — `{N}` +# stands for the saint's own name, substituted by getDayCollect +# (hours/resolve-common.ts) via SaintRecord.collectCommon/collectName. +id: collect-c4a +text: + la: | + Orémus. + Deus, qui pópulo tuo ætérnæ salútis beátum {N} minístrum tribuísti: præsta, quǽsumus; ut, quem Doctórem vitæ habúimus in terris, intercessórem habére mereámur in cælis. + Per 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: | + Let us pray. + O God, who didst give blessed {N} to be thy people's minister in eternal salvation; grant, we pray, that we who have him for teacher of life here on earth, may also deserve now that he is in heaven to have him for an advocate. + Through 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 diff --git a/src/data/propers/common/collect-c5-1.yml b/src/data/propers/common/collect-c5-1.yml new file mode 100644 index 0000000..a169659 --- /dev/null +++ b/src/data/propers/common/collect-c5-1.yml @@ -0,0 +1,25 @@ +# Verified against the reference engine's own source data files: +# web/www/horas/Latin/Commune/C5-1.txt, 2026-08. A Common-collect +# template — `{N}` stands for the saint's own name, substituted by +# getDayCollect (hours/resolve-common.ts) via +# SaintRecord.collectCommon/collectName. The source's own English +# ("Be mindful, O Lord, of our humble prayers in this commemoration of +# Your Saints...") doesn't match this Latin closely (wrong number -- +# plural "Saints"/"those" for a singular-Confessor prayer -- looks like a +# near-match from a related but different Latin original in that +# database entry), so translated fresh here instead; status: draft. +id: collect-c5-1 +text: + la: | + Orémus. + Adésto, Dómine, supplicatiónibus nostris, quas in beáti {N} Confessóris tui sollemnitáte deférimus: ut, qui nostræ justítiæ fidúciam non habémus, ejus, qui tibi plácuit, précibus adjuvémur. + Per 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: | + Let us pray. + Be near, O Lord, to our humble prayers, which we offer in the solemnity of thy blessed Confessor {N}: that we, who have no confidence in our own righteousness, may be helped by the prayers of him who was pleasing unto thee. + Through 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 diff --git a/src/data/propers/common/collect-c5.yml b/src/data/propers/common/collect-c5.yml new file mode 100644 index 0000000..75e3b44 --- /dev/null +++ b/src/data/propers/common/collect-c5.yml @@ -0,0 +1,21 @@ +# Verified against the reference engine's own source data files: +# web/www/horas/Latin/Commune/C5.txt ("Commune Confessoris non +# pontificis") and its English counterpart, 2026-08. A Common-collect +# template — `{N}` stands for the saint's own name, substituted by +# getDayCollect (hours/resolve-common.ts) via +# SaintRecord.collectCommon/collectName. +id: collect-c5 +text: + la: | + Orémus. + Deus, qui nos beáti {N} Confessóris tui ánnua solemnitáte lætíficas: concéde propítius; ut cujus natalítia cólimus, étiam actiónes imitémur. + Per 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: | + Let us pray. + O God, who, year by year, dost gladden us by the solemn feast day of thy blessed Confessor {N}, mercifully grant unto all who keep his birthday, grace to follow after the pattern of his godly conversation. + Through 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 diff --git a/src/data/propers/common/collect-c5b.yml b/src/data/propers/common/collect-c5b.yml new file mode 100644 index 0000000..8b90d8b --- /dev/null +++ b/src/data/propers/common/collect-c5b.yml @@ -0,0 +1,22 @@ +# Verified against the reference engine's own source data files: +# web/www/horas/Latin/Commune/C5b.txt ("Commune Abbatis") and its English +# counterpart, 2026-08. A Common-collect template — `{N}` stands for the +# saint's own name, substituted by getDayCollect (hours/resolve-common.ts) +# via SaintRecord.collectCommon/collectName. Source's own English has a +# stray leading "v. " before the prayer (a formatting artifact) — dropped +# here. +id: collect-c5b +text: + la: | + Orémus. + Intercéssio nos, quǽsumus, Dómine, beáti {N} Abbátis comméndet: ut, quod nostris méritis non valémus, ejus patrocínio assequámur. + Per 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: | + Let us pray. + May the pleading of blessed {N}, the Abbot, make us acceptable unto thee, O Lord, we pray; that what we may not have through any merits of ours, we may gain by means of his patronage. + Through 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 diff --git a/src/data/propers/common/collect-c6-1.yml b/src/data/propers/common/collect-c6-1.yml new file mode 100644 index 0000000..a2fbf88 --- /dev/null +++ b/src/data/propers/common/collect-c6-1.yml @@ -0,0 +1,20 @@ +# Verified against the reference engine's own source data files: +# web/www/horas/Latin/Commune/C6-1.txt and its English counterpart, +# 2026-08. A Common-collect template — `{N}` stands for the saint's own +# name, substituted by getDayCollect (hours/resolve-common.ts) via +# SaintRecord.collectCommon/collectName. +id: collect-c6-1 +text: + la: | + Orémus. + Indulgéntiam nobis, quǽsumus, Dómine, beáta {N} Virgo et Martyr implóret: quæ tibi grata semper éxstitit, et mérito castitátis, et tuæ professióne virtútis. + Per 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: | + Let us pray. + We beseech thee, O Lord, that thy blessed Virgin and Martyr {N} may entreat thy pardon for us: she who was ever pleasing unto thee, both by the merit of her chastity and by her profession of thy power. + Through 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 diff --git a/src/data/propers/common/collect-c6.yml b/src/data/propers/common/collect-c6.yml new file mode 100644 index 0000000..63a96d8 --- /dev/null +++ b/src/data/propers/common/collect-c6.yml @@ -0,0 +1,21 @@ +# Verified against the reference engine's own source data files: +# web/www/horas/Latin/Commune/C6.txt ("Commune Unius Virginis et +# Martyris") and its English counterpart, 2026-08. A Common-collect +# template — `{N}` stands for the saint's own name, substituted by +# getDayCollect (hours/resolve-common.ts) via +# SaintRecord.collectCommon/collectName. +id: collect-c6 +text: + la: | + Orémus. + Deus, qui inter cétera poténtiæ tuæ mirácula étiam in sexu frágili victóriam martýrii contulísti: concéde propítius; ut, qui beátæ {N} Vírginis et Mártyris tuæ natalícia cólimus, per ejus ad te exémpla gradiámur. + Per 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: | + Let us pray. + O God, Who among the other miracles of thy power hast bestowed the victory of martyrdom even upon the weaker sex, graciously grant that we who keep the birthday of blessed {N}, thy Virgin and Martyr, may come to thee by the path of her example. + Through 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 diff --git a/src/data/propers/common/collect-c6a.yml b/src/data/propers/common/collect-c6a.yml new file mode 100644 index 0000000..2967947 --- /dev/null +++ b/src/data/propers/common/collect-c6a.yml @@ -0,0 +1,23 @@ +# Verified against the reference engine's own source data files: +# web/www/horas/Latin/Commune/C6a.txt ("Commune Virginum tantum"), 2026-08 +# -- its own [Oratio] is `@Commune/C7a:: s/N\./N. Vírginis tuæ/`, a +# reference to C7a's own collect with an edit applied (inserting +# "Vírginis tuæ" after the name) -- resolved here by hand rather than +# building general sed-directive support for one saint (st-praxedes). +# English adapted the same way from C7a's own translation; not directly +# sourced, so status: draft. +id: collect-c6a +text: + la: | + Orémus. + Exáudi nos, Deus, salutáris noster: ut sicut de beátæ {N} Vírginis tuæ festivitáte gaudémus; ita piæ devotiónis erudiámur afféctu. + Per 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: | + Let us pray. + Graciously hear us, O God of our salvation: that as we rejoice in the festivity of blessed {N}, thy Virgin, we may be instructed in the affections of a loving devotion. + Through 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: draft + en: draft diff --git a/src/data/propers/common/collect-c6b.yml b/src/data/propers/common/collect-c6b.yml new file mode 100644 index 0000000..18eec48 --- /dev/null +++ b/src/data/propers/common/collect-c6b.yml @@ -0,0 +1,21 @@ +# Verified against the reference engine's own source data files: +# web/www/horas/Latin/Commune/C6b.txt ("Commune Plurium Virginum +# Martyrum") and its English counterpart, 2026-08. A Common-collect +# template for TWO saints named together — `{N}` appears twice, +# substituted with each of their own names by getDayCollect +# (hours/resolve-common.ts). +id: collect-c6b +text: + la: | + Orémus. + Da nobis, quǽsumus, Dómine Deus noster, sanctárum Vírginum et Mártyrum tuárum {N} et {N} palmas incessábili devotióne venerári: ut quas digna mente non póssumus celebráre, humílibus saltem frequentémus obséquiis. + Per 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: | + Let us pray. + Grant unto us, we beseech thee, O Lord our God, that we may ever call to mind, with unceasing devotion, the palms of thy holy Virgins and Martyrs {N} and {N}: that whom we cannot worthily celebrate in worthy wise, we may at least attend upon with humble service. + Through 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 diff --git a/src/data/propers/common/collect-c8.yml b/src/data/propers/common/collect-c8.yml new file mode 100644 index 0000000..1de4216 --- /dev/null +++ b/src/data/propers/common/collect-c8.yml @@ -0,0 +1,22 @@ +# Verified against the reference engine's own source data files: +# web/www/horas/Latin/Commune/C8.txt ("In Anniversario Dedicationis +# Ecclesiae") and its English counterpart, 2026-08. Not a name-templated +# Common — a Dedication-of-a-Church collect has no "{N}" to substitute, +# so this file is used directly via a saint's own `propers`, not through +# the collectCommon/collectName mechanism the other collect-c*.yml files +# use. +id: collect-c8 +text: + la: | + Orémus. + Deus, qui nobis per síngulos annos hujus sancti templi tui consecratiónis réparas diem, et sacris semper mystériis repræséntas incólumes: exáudi preces pópuli tui, et præsta; ut quisquis hoc templum benefíciis petitúrus ingréditur, cuncta se impetrásse lætétur. + Per 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: | + Let us pray. + O God, who dost bring round unto us again, year by year, the day of the consecration of this thy holy temple, and dost bring us back again in safety to thine holy mysteries, graciously hear the prayers of thy people, and grant that whosoever enters this temple to ask for blessings may rejoice to obtain them all. + Through 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 diff --git a/src/data/propers/common/ss-alexander-eventius-theodulus-and-juvenal-collect.yml b/src/data/propers/common/ss-alexander-eventius-theodulus-and-juvenal-collect.yml new file mode 100644 index 0000000..ba964b4 --- /dev/null +++ b/src/data/propers/common/ss-alexander-eventius-theodulus-and-juvenal-collect.yml @@ -0,0 +1,20 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), 2026-08. +# Pulled from the reference engine's own era-specific calendar table +# (web/www/Tabulae/Kalendaria/1570.txt + M1617.txt, own title +# "Ss. Alexandri I Papa, Eventino et Theoduli Mártyrum atque Juvenalis Confessoris") and its own source file, not the merged per-date +# files those tables' fileref points at directly -- see TODO.md. +id: ss-alexander-eventius-theodulus-and-juvenal-collect +text: + la: | + Orémus. + Præsta, quǽsumus, omnípotens Deus: ut, qui sanctórum tuórum Alexándri, Evéntii, Theodúli atque Juvenális natalícia cólimus; a cunctis malis imminéntibus, eórum intercessiónibus, liberémur. + Per 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: | + Let us pray. + Grant, we beseech thee, O Almighty God, that we who do keep the birthday of thy holy servants Alexander, Eventius, Theodulus, and Juvenal, may by their prayers be delivered from all evils that presently hang over us. + Through 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 diff --git a/src/data/propers/common/ss-dionysius-and-companions-collect.yml b/src/data/propers/common/ss-dionysius-and-companions-collect.yml new file mode 100644 index 0000000..bb7d228 --- /dev/null +++ b/src/data/propers/common/ss-dionysius-and-companions-collect.yml @@ -0,0 +1,20 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), 2026-08. +# Pulled from the reference engine's own era-specific calendar table +# (web/www/Tabulae/Kalendaria/1570.txt + M1617.txt, own title +# "S. Dionysii Episcopi Rustici et Eleuthery Martyrum") and its own source file, not the merged per-date +# files those tables' fileref points at directly -- see TODO.md. +id: ss-dionysius-and-companions-collect +text: + la: | + Orémus. + Deus, qui hodiérna die beátum Dionýsium, Mártyrem tuum atque Pontíficem, virtúte constantiæ in passióne roborásti, quique illi, ad prædicándum géntibus glóriam tuam, Rústicum et Eleuthérium sociáre dignátus es: tríbue nobis, quǽsumus; eórum imitatióne, pro amóre tuo próspera mundi despícere, et nulla ejus advérsa formidáre. + Per 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: | + Let us pray. + O God, Who, as upon this day, didst make thy blessed Witness and Bishop Denis strong to wrestle and to suffer, and Who wast pleased to give unto him, for fellow workers in declaring thy glory among the heathen, thy servants Rusticus and Eleutherius, grant unto us, we beseech thee, to be like unto them in esteeming the good things of this world but lightly, and in fearing not at all the evil things of the same. + Through 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 diff --git a/src/data/propers/common/ss-euphemia-lucia-and-geminianus-collect.yml b/src/data/propers/common/ss-euphemia-lucia-and-geminianus-collect.yml new file mode 100644 index 0000000..2088f8c --- /dev/null +++ b/src/data/propers/common/ss-euphemia-lucia-and-geminianus-collect.yml @@ -0,0 +1,20 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), 2026-08. +# Pulled from the reference engine's own era-specific calendar table +# (web/www/Tabulae/Kalendaria/1570.txt + M1617.txt, own title +# "Ss. Euphemiae, Luciae et Geminiani Martyrum") and its own source file, not the merged per-date +# files those tables' fileref points at directly -- see TODO.md. +id: ss-euphemia-lucia-and-geminianus-collect +text: + la: | + Orémus. + Præsta, Dómine, précibus nostris cum exsultatióne provéntum: ut sanctórum Mártyrum Euphémiæ, Lúciæ et Geminiáni, quorum diem passiónis ánnua devotióne recólimus, étiam fídei constántiam subsequámur. + Per 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: | + Let us pray. + Be ready, O Lord, to listen unto our joyful prayers, and grant that as we do year by year in love and earnestness recall the day whereon thy blessed witnesses Euphemia, Lucy, and Geminian suffered for thy sake, so we may also have the grace to imitate the firmness of their faith. + Through 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 diff --git a/src/data/propers/common/ss-felix-and-adauctus-collect.yml b/src/data/propers/common/ss-felix-and-adauctus-collect.yml new file mode 100644 index 0000000..3d302ae --- /dev/null +++ b/src/data/propers/common/ss-felix-and-adauctus-collect.yml @@ -0,0 +1,20 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), 2026-08. +# Pulled from the reference engine's own era-specific calendar table +# (web/www/Tabulae/Kalendaria/1570.txt + M1617.txt, own title +# "Ss. Felicis et Soc. Mart.") and its own source file, not the merged per-date +# files those tables' fileref points at directly -- see TODO.md. +id: ss-felix-and-adauctus-collect +text: + la: | + Orémus. + Majestátem tuam, Dómine, súpplices exorámus: ut, sicut nos júgiter Sanctórum tuórum commemoratióne lætíficas; ita semper supplicatióne deféndas. + Per 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: | + Let us pray. + We humbly beseech thy Majesty, O Lord, that as Thou dost make us exceeding glad at the remembrance of thine holy servants, so Thou wouldest ever shelter us under their prayers. + Through 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 diff --git a/src/data/propers/common/ss-felix-simplicius-faustinus-and-beatrix-collect.yml b/src/data/propers/common/ss-felix-simplicius-faustinus-and-beatrix-collect.yml new file mode 100644 index 0000000..e66448a --- /dev/null +++ b/src/data/propers/common/ss-felix-simplicius-faustinus-and-beatrix-collect.yml @@ -0,0 +1,20 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), 2026-08. +# Pulled from the reference engine's own era-specific calendar table +# (web/www/Tabulae/Kalendaria/1570.txt + M1617.txt, own title +# "Ss. Felicis, Simplicii, Faustini et Beatricis Mart") and its own source file, not the merged per-date +# files those tables' fileref points at directly -- see TODO.md. +id: ss-felix-simplicius-faustinus-and-beatrix-collect +text: + la: | + Orémus. + Præsta, quǽsumus, Dómine: ut, sicut pópulus christiánus Mártyrum tuórum Felícis, Simplícii, Faustíni et Beatrícis temporáli solemnitáte congáudet, ita perfruátur ætérna; et, quod votis celébrat, comprehéndat efféctu. + Per 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: | + Let us pray. + Grant, O Lord, we beseech thee, that as thy Christian people do here in time unite in solemn joy for the blessedness of thy Martyrs Felix, Simplicius, Faustinus, and Beatrix, they may also rejoice with them hereafter in their eternal joy, and may understand by very knowledge, that whereof they now speak in their prayers. + Through 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 diff --git a/src/data/propers/common/ss-machabees-collect.yml b/src/data/propers/common/ss-machabees-collect.yml new file mode 100644 index 0000000..0d2eca9 --- /dev/null +++ b/src/data/propers/common/ss-machabees-collect.yml @@ -0,0 +1,20 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), 2026-08. +# Pulled from the reference engine's own era-specific calendar table +# (web/www/Tabulae/Kalendaria/1570.txt + M1617.txt, own title +# "Ss. Martyrum Machabaeorum") and its own source file, not the merged per-date +# files those tables' fileref points at directly -- see TODO.md. +id: ss-machabees-collect +text: + la: | + Orémus. + Fratérna nos, Dómine, Mártyrum tuórum coróna lætíficet: quæ et fídei nostræ prǽbeat increménta virtútum; et multíplici nos suffrágio consolétur. + Per 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: | + Let us pray. + Lord, we pray thee, that the crown of the Brethren thy Martyrs, may be a joy unto us, nerving the valour of our Faith, and strengthening us by sevenfold intercession. + Through 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 diff --git a/src/data/propers/common/ss-marius-martha-audifax-and-abachum-collect.yml b/src/data/propers/common/ss-marius-martha-audifax-and-abachum-collect.yml new file mode 100644 index 0000000..1ed1387 --- /dev/null +++ b/src/data/propers/common/ss-marius-martha-audifax-and-abachum-collect.yml @@ -0,0 +1,20 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), 2026-08. +# Pulled from the reference engine's own era-specific calendar table +# (web/www/Tabulae/Kalendaria/1570.txt + M1617.txt, own title +# "Ss. Marii, Marthæ, Audifacis, et Abachum Martyrum") and its own source file, not the merged per-date +# files those tables' fileref points at directly -- see TODO.md. +id: ss-marius-martha-audifax-and-abachum-collect +text: + la: | + Orémus. + Exáudi, Dómine, pópulum tuum cum Sanctórum tuórum patrocínio supplicántem: ut et temporális vitæ nos tríbuas pace gaudére; et ætérnæ reperíre subsídium. + Per 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: | + Let us pray. + Graciously hear, O Lord, the prayers of thy people who draw near unto thee under the protection of thy blessed Saints, granting us in this world thy peace, and in that which is to come life everlasting. + Through 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 diff --git a/src/data/propers/common/ss-maurice-and-companions-collect.yml b/src/data/propers/common/ss-maurice-and-companions-collect.yml new file mode 100644 index 0000000..5f18e33 --- /dev/null +++ b/src/data/propers/common/ss-maurice-and-companions-collect.yml @@ -0,0 +1,20 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), 2026-08. +# Pulled from the reference engine's own era-specific calendar table +# (web/www/Tabulae/Kalendaria/1570.txt + M1617.txt, own title +# "Ss. Martyris Mauritii et Sociorum") and its own source file, not the merged per-date +# files those tables' fileref points at directly -- see TODO.md. +id: ss-maurice-and-companions-collect +text: + la: | + Orémus. + Annue, quǽsumus, omnípotens Deus: ut sanctórum Mártyrum tuórum Maurítii et Sociórum ejus nos lætíficet festíva solémnitas; ut, quorum suffrágiis nítimur, eórum natalíciis gloriémur. + Per 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: | + Let us pray. + Be merciful, almighty God, we beseech thee, that the solemn feast of thy martyrs, Mauritius and his Companions, may gladden us, so that we who rely on their patronage may joyfully celebrate the anniversary of their martyrdom. + Through 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 diff --git a/src/data/propers/common/ss-nabor-and-felix-collect.yml b/src/data/propers/common/ss-nabor-and-felix-collect.yml new file mode 100644 index 0000000..0f75cb8 --- /dev/null +++ b/src/data/propers/common/ss-nabor-and-felix-collect.yml @@ -0,0 +1,20 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), 2026-08. +# Pulled from the reference engine's own era-specific calendar table +# (web/www/Tabulae/Kalendaria/1570.txt + M1617.txt, own title +# "Ss. Naboris et Felicis Mart") and its own source file, not the merged per-date +# files those tables' fileref points at directly -- see TODO.md. +id: ss-nabor-and-felix-collect +text: + la: | + Orémus. + Præsta, quǽsumus, Dómine: ut sicut nos sanctórum Mártyrum tuórum Náboris et Felícis natalícia celebránda non déserunt; ita júgiter suffrágiis comiténtur. + Per 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: | + Let us pray. + Grant, we beseech thee, O Lord, so that as the Birth-day of thine holy martyrs Nabor and Felix faileth not to come round for our keeping, so their prayers may never fail to accompany it. + Through 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 diff --git a/src/data/propers/common/ss-tryphon-and-companions-collect.yml b/src/data/propers/common/ss-tryphon-and-companions-collect.yml new file mode 100644 index 0000000..71d6d40 --- /dev/null +++ b/src/data/propers/common/ss-tryphon-and-companions-collect.yml @@ -0,0 +1,20 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), 2026-08. +# Pulled from the reference engine's own era-specific calendar table +# (web/www/Tabulae/Kalendaria/1570.txt + M1617.txt, own title +# "Ss. Tryphonis et Sociorum Martyris") and its own source file, not the merged per-date +# files those tables' fileref points at directly -- see TODO.md. +id: ss-tryphon-and-companions-collect +text: + la: | + Orémus. + Fac nos, quǽsumus, Dómine, sanctórum Mártyrum tuórum Tryphónis, Respícii et Nymphæ semper festa sectári: quorum suffrágiis, protectiónis tuæ dona sentiámus. + Per 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: | + Let us pray. + Make us, we beseech thee, O Lord, ever faithful to observe the feast-day of thy holy Martyrs, Tryphon, Respicius and Nympha, that through their prayers, we may enjoy the bounty of thy protection. + Through 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 diff --git a/src/data/propers/common/ss-twelve-brothers-collect.yml b/src/data/propers/common/ss-twelve-brothers-collect.yml new file mode 100644 index 0000000..2e31aa9 --- /dev/null +++ b/src/data/propers/common/ss-twelve-brothers-collect.yml @@ -0,0 +1,20 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), 2026-08. +# Pulled from the reference engine's own era-specific calendar table +# (web/www/Tabulae/Kalendaria/1570.txt + M1617.txt, own title +# "Ss. Duodecim Fratrum Mm") and its own source file, not the merged per-date +# files those tables' fileref points at directly -- see TODO.md. +id: ss-twelve-brothers-collect +text: + la: | + Orémus. + Fratérna nos, Dómine, Mártyrum tuórum coróna lætíficet: quæ et fídei nostræ prǽbeat increménta virtútum, et multíplici nos suffrágio consolétur. + Per 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: | + Let us pray. + Lord, let the crown of the Brethren, thy Martyrs rejoice us, and their example give nerve to our faith, and their prayers in many ways strengthen us. + Through 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 diff --git a/src/data/propers/common/st-agnes-secunda-collect.yml b/src/data/propers/common/st-agnes-secunda-collect.yml new file mode 100644 index 0000000..8e63fdd --- /dev/null +++ b/src/data/propers/common/st-agnes-secunda-collect.yml @@ -0,0 +1,20 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), 2026-08. +# Pulled from the reference engine's own era-specific calendar table +# (web/www/Tabulae/Kalendaria/1570.txt + M1617.txt, own title +# "S. Agnetis Virginis et Martyris secundo") and its own source file, not the merged per-date +# files those tables' fileref points at directly -- see TODO.md. +id: st-agnes-secunda-collect +text: + la: | + Orémus. + Deus, qui nos ánnua beátæ Agnétis Vírginis et Mártyris tuæ solemnitáte lætíficas: da, quǽsumus; ut, quam venerámur offício, étiam piæ conversatiónis sequámur exémplo. + Per 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: | + Let us pray. + O God, Who year by year dost gladden thy people by the solemn feast of thy blessed Virgin and Martyr Agnes, grant unto us, we beseech thee, not only devoutly to observe the same, but also to follow after the pattern of her godly conversation. + Through 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 diff --git a/src/data/propers/common/st-benedict-collect.yml b/src/data/propers/common/st-benedict-collect.yml new file mode 100644 index 0000000..0b6cc17 --- /dev/null +++ b/src/data/propers/common/st-benedict-collect.yml @@ -0,0 +1,20 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), 2026-08. +# Pulled from the reference engine's own era-specific calendar table +# (web/www/Tabulae/Kalendaria/1570.txt + M1617.txt, own title +# "S. Benedicti Abbatis") and its own source file, not the merged per-date +# files those tables' fileref points at directly -- see TODO.md. +id: st-benedict-collect +text: + la: | + Orémus. + Omnípotens sempitérne Deus, qui hodiérna die carnis edúctum ergástulo sanctíssimum Confessórem tuum Benedíctum sublevásti ad cælum: † concéde, quǽsumus, hæc festa tuis fámulis celebrántibus cunctórum véniam delictórum; * ut, qui exsultántibus ánimis ejus claritáti congáudent, ipso apud te interveniénte, consociéntur et méritis. + Per 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: | + Let us pray. + Almighty and everlasting God, who on this day didst raise up to heaven thy most holy Confessor Benedict, delivered from the prison-house of the flesh: grant, we beseech thee, unto thy servants keeping this feast, forgiveness of all their sins; that they who with exultant souls rejoice in his glory may, through his intercession with thee, be joined also to his merits. + Through 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 diff --git a/src/data/propers/common/st-catherine-of-siena-collect.yml b/src/data/propers/common/st-catherine-of-siena-collect.yml new file mode 100644 index 0000000..99b4f74 --- /dev/null +++ b/src/data/propers/common/st-catherine-of-siena-collect.yml @@ -0,0 +1,20 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), 2026-08. +# Pulled from the reference engine's own era-specific calendar table +# (web/www/Tabulae/Kalendaria/1570.txt + M1617.txt, own title +# "S. Catharinae Senensis Virginis") and its own source file, not the merged per-date +# files those tables' fileref points at directly -- see TODO.md. +id: st-catherine-of-siena-collect +text: + la: | + Orémus. + Da, quǽsumus, omnípotens Deus: ut, qui beátæ Catharínæ Vírginis tuæ natalícia cólimus; et ánnua solemnitáte lætémur, et tantæ virtútis proficiámus exémplo. + Per 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: | + Let us pray. + Grant, we beseech thee, O Almighty God, that we which do keep the birthday of thy blessed Virgin Katharine, and do year by year renew her memorial with solemn gladness in thy presence, may likewise be conformed to the pattern of her saintly walk with thee. + Through 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 diff --git a/src/data/propers/common/st-chrysogonus-collect.yml b/src/data/propers/common/st-chrysogonus-collect.yml new file mode 100644 index 0000000..fa11fbc --- /dev/null +++ b/src/data/propers/common/st-chrysogonus-collect.yml @@ -0,0 +1,20 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), 2026-08. +# Pulled from the reference engine's own era-specific calendar table +# (web/www/Tabulae/Kalendaria/1570.txt + M1617.txt, own title +# "S. Chrysogoni Martyris") and its own source file, not the merged per-date +# files those tables' fileref points at directly -- see TODO.md. +id: st-chrysogonus-collect +text: + la: | + Orémus. + Adésto, Dómine, supplicatiónibus nostris: ut, qui ex iniquitáte nostra reos nos esse cognóscimus, beáti Chrysógoni Mártyris tui intercessióne liberémur. + Per 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: | + Let us pray. + Give ear, O Lord, unto our prayers, and grant that we who acknowledge ourselves guilty through our own iniquity, may be delivered at the petition of thy blessed Martyr Chrysogonus. + Through 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 diff --git a/src/data/propers/common/st-donatus-collect.yml b/src/data/propers/common/st-donatus-collect.yml new file mode 100644 index 0000000..08d3e8e --- /dev/null +++ b/src/data/propers/common/st-donatus-collect.yml @@ -0,0 +1,20 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), 2026-08. +# Pulled from the reference engine's own era-specific calendar table +# (web/www/Tabulae/Kalendaria/1570.txt + M1617.txt, own title +# "S. Donati Ep et Mart") and its own source file, not the merged per-date +# files those tables' fileref points at directly -- see TODO.md. +id: st-donatus-collect +text: + la: | + Orémus. + Deus, tuórum glória sacerdótum: præsta, quǽsumus, ut sancti Martyris tui et Epíscopi Donáti, cujus festa gérimus, sentiámus auxílium. + Per 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: | + Let us pray. + O God, Who art thyself the glory of thy priests, grant unto us, we beseech thee, to feel the help of thine holy martyr and bishop Donatus, whose Feast we are keeping. + Through 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 diff --git a/src/data/propers/common/st-felicitas-collect.yml b/src/data/propers/common/st-felicitas-collect.yml new file mode 100644 index 0000000..bd9cf31 --- /dev/null +++ b/src/data/propers/common/st-felicitas-collect.yml @@ -0,0 +1,20 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), 2026-08. +# Pulled from the reference engine's own era-specific calendar table +# (web/www/Tabulae/Kalendaria/1570.txt + M1617.txt, own title +# "S. Felicitatis Martyris") and its own source file, not the merged per-date +# files those tables' fileref points at directly -- see TODO.md. +id: st-felicitas-collect +text: + la: | + Orémus. + Præsta, quǽsumus, omnípotens Deus: ut, beátæ Felicitátis Mártyris tuæ solémnia recenséntes, méritis ipsíus protegámur et précibus. + Per 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: | + Let us pray. + Grant, we beseech thee, O Almighty God, that in calling to mind the victory of thy blessed Martyr Felicity, we may find shelter both for her sake and in her prayers. + Through 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 diff --git a/src/data/propers/common/st-felix-presbyter-collect.yml b/src/data/propers/common/st-felix-presbyter-collect.yml new file mode 100644 index 0000000..cdb08fa --- /dev/null +++ b/src/data/propers/common/st-felix-presbyter-collect.yml @@ -0,0 +1,20 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), 2026-08. +# Pulled from the reference engine's own era-specific calendar table +# (web/www/Tabulae/Kalendaria/1570.txt + M1617.txt, own title +# "S. Felicis Presbyteri et Mart") and its own source file, not the merged per-date +# files those tables' fileref points at directly -- see TODO.md. +id: st-felix-presbyter-collect +text: + la: | + Orémus. + Concede, quǽsumus, omnípotens Deus: ut ad meliórem vitam Sanctórum tuórum exémpla nos próvocent; quátenus, quorum solémnia ágimus, étiam actus imitémur. + Per 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: | + Let us pray. + Grant, we beseech thee, O Almighty God, that the example of thy Saints may continually stir us up to amend our sinful lives, that as we do solemnly commemorate them, we may also sincerely strive to imitate them. + Through 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 diff --git a/src/data/propers/common/st-hermes-collect.yml b/src/data/propers/common/st-hermes-collect.yml new file mode 100644 index 0000000..c7bc18a --- /dev/null +++ b/src/data/propers/common/st-hermes-collect.yml @@ -0,0 +1,20 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), 2026-08. +# Pulled from the reference engine's own era-specific calendar table +# (web/www/Tabulae/Kalendaria/1570.txt + M1617.txt, own title +# "S. Hermetis Mart") and its own source file, not the merged per-date +# files those tables' fileref points at directly -- see TODO.md. +id: st-hermes-collect +text: + la: | + Orémus. + Deus, qui beátum Hermétem Mártyrem tuum virtúte constántiæ in passióne roborásti: ex ejus nobis imitatióne tríbue; pro amóre tuo próspera mundi despícere, et nulla ejus advérsa formidáre. + Per 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: | + Let us pray. + O God, Who didst make thy blessed witness Hermes strong to wrestle and to suffer, grant unto us that strengthened by his example, we may, for the love of thee, seek but lightly of the pleasant things of this world, and dread not such things therein as be grievous. + Through 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 diff --git a/src/data/propers/common/st-marcus-collect.yml b/src/data/propers/common/st-marcus-collect.yml new file mode 100644 index 0000000..72d9092 --- /dev/null +++ b/src/data/propers/common/st-marcus-collect.yml @@ -0,0 +1,20 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), 2026-08. +# Pulled from the reference engine's own era-specific calendar table +# (web/www/Tabulae/Kalendaria/1570.txt + M1617.txt, own title +# "S. Marci Papae Confessoris") and its own source file, not the merged per-date +# files those tables' fileref points at directly -- see TODO.md. +id: st-marcus-collect +text: + la: | + Orémus. + Exáudi, Dómine, preces nostras: et, interveniénte beáto Marco, Confessóre tuo atque Pontífice, indulgéntiam nobis tríbue placátus et pacem. + Per 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: | + Let us pray. + Graciously hear our supplications, O Lord, and for the sake of thy Blessed Confessor and Bishop Mark, grant to us in thy mercy both pardon and peace. + Through 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 diff --git a/src/data/propers/common/st-prisca-collect.yml b/src/data/propers/common/st-prisca-collect.yml new file mode 100644 index 0000000..56698ba --- /dev/null +++ b/src/data/propers/common/st-prisca-collect.yml @@ -0,0 +1,20 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), 2026-08. +# Pulled from the reference engine's own era-specific calendar table +# (web/www/Tabulae/Kalendaria/1570.txt + M1617.txt, own title +# "S Priscae Virginis") and its own source file, not the merged per-date +# files those tables' fileref points at directly -- see TODO.md. +id: st-prisca-collect +text: + la: | + Orémus. + Da, quǽsumus, omnípotens Deus: ut, qui beátæ Priscæ Vírginis et Mártyris tuæ natalícia cólimus; et ánnua solemnitáte lætémur, et tantæ fídei proficiámus exémplo. + Per 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: | + Let us pray. + Grant, we beseech thee, Almighty God, unto all thy servants who do here keep the birthday of thy blessed Virgin and Martyr Prisca, and do year by year rejoice at her solemn commemoration, that they may have grace to follow after the pattern of her great faith. + Through 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 diff --git a/src/data/propers/common/st-saturninus-collect.yml b/src/data/propers/common/st-saturninus-collect.yml new file mode 100644 index 0000000..bb11229 --- /dev/null +++ b/src/data/propers/common/st-saturninus-collect.yml @@ -0,0 +1,20 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), 2026-08. +# Pulled from the reference engine's own era-specific calendar table +# (web/www/Tabulae/Kalendaria/1570.txt + M1617.txt, own title +# "S. Saturnini Martyris") and its own source file, not the merged per-date +# files those tables' fileref points at directly -- see TODO.md. +id: st-saturninus-collect +text: + la: | + Orémus. + Deus, qui nos beáti Saturníni Mártyris tui concédis natalício pérfrui: ejus nos tríbue méritis adjuvári. + Per 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: | + Let us pray. + O God, by Whose mercy we keep the birth-day of thy blessed martyr Saturninus, grant us also succour for his sake. + Through 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 diff --git a/src/data/propers/common/st-thecla-collect.yml b/src/data/propers/common/st-thecla-collect.yml new file mode 100644 index 0000000..41357cb --- /dev/null +++ b/src/data/propers/common/st-thecla-collect.yml @@ -0,0 +1,20 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), 2026-08. +# Pulled from the reference engine's own era-specific calendar table +# (web/www/Tabulae/Kalendaria/1570.txt + M1617.txt, own title +# "S. Theclae Virgini et Martyri") and its own source file, not the merged per-date +# files those tables' fileref points at directly -- see TODO.md. +id: st-thecla-collect +text: + la: | + Orémus. + Da, quǽsumus, omnípotens Deus: ut, qui beátæ Theclæ Vírginis et Mártyris tuæ natalícia cólimus; et ánnua solemnitáte lætémur, et tantæ fídei proficiámus exémplo. + Per 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: | + Let us pray. + Grant, we beseech thee, Almighty God, unto all thy servants who do here keep the birthday of thy blessed Virgin and Martyr Thecla, and do year by year rejoice at her solemn commemoration, that they may have grace to follow after the pattern of her great faith. + Through 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 diff --git a/src/data/propers/common/vigil-of-st-john-the-baptist-collect.yml b/src/data/propers/common/vigil-of-st-john-the-baptist-collect.yml new file mode 100644 index 0000000..bcc7940 --- /dev/null +++ b/src/data/propers/common/vigil-of-st-john-the-baptist-collect.yml @@ -0,0 +1,20 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), 2026-08. +# Pulled from the reference engine's own era-specific calendar table +# (web/www/Tabulae/Kalendaria/1570.txt + M1617.txt, own title +# "Vigilia S. Joannis Baptistae") and its own source file, not the merged per-date +# files those tables' fileref points at directly -- see TODO.md. +id: vigil-of-st-john-the-baptist-collect +text: + la: | + Orémus. + Præsta, quǽsumus, omnípotens Deus: ut família tua per viam salútis incédat; et beáti Joánnis Præcursóris hortaménta sectándo, ad eum quem prædíxit, secúra pervéniat, Dóminum nostrum Jesum Christum, Fílium tuum: + Per 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: | + Let us pray. + Grant, we beseech Thee, O Lord, unto this Thy family the grace to walk always in the path of salvation, that they, obediently following the exhortation of the blessed Fore-runner John, may at the last attain safely unto Him Whom John heralded, Jesus Christ, thy Son our Lord: + Through 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 diff --git a/src/data/propers/common/vigil-of-st-lawrence-collect.yml b/src/data/propers/common/vigil-of-st-lawrence-collect.yml new file mode 100644 index 0000000..eea7089 --- /dev/null +++ b/src/data/propers/common/vigil-of-st-lawrence-collect.yml @@ -0,0 +1,20 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), 2026-08. +# Pulled from the reference engine's own era-specific calendar table +# (web/www/Tabulae/Kalendaria/1570.txt + M1617.txt, own title +# "Vigilia S. Laurentii Martyris") and its own source file, not the merged per-date +# files those tables' fileref points at directly -- see TODO.md. +id: vigil-of-st-lawrence-collect +text: + la: | + Orémus. + Adésto, Dómine, supplicatiónibus nostris: et intercessióne beáti Lauréntii Mártyris tui, cujus prævenímus festivitátem; perpétuam nobis misericórdiam benígnus impénde. + Per 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: | + Let us pray. + Be near, O Lord, to our supplications: and through the intercession of blessed Lawrence, thy Martyr, whose festival we anticipate, graciously bestow upon us thy perpetual mercy. + Through 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 diff --git a/src/hours/resolve-common.ts b/src/hours/resolve-common.ts index 52d9632..f252522 100644 --- a/src/hours/resolve-common.ts +++ b/src/hours/resolve-common.ts @@ -209,16 +209,46 @@ export function resolveMinorHourChapter(hourId: string, day: LiturgicalDay, fall return resolveCommon(fallbackId); } +/** Fills a Common collect template's literal `{N}` placeholders with a + * saint's own name(s) per language (SaintRecord.collectName) — the same + * substitution the reference source's own Commune files perform + * (`beáti N. Confessóris tui` etc.), just resolved at authoring-adjacent + * read time here instead of duplicating the same template text once per + * saint who shares it. Positional: the template's `{N}` occurrences fill + * left-to-right from `names`, in document order — most templates have + * one, a few (two co-named saints commemorated together) have two. */ +function substituteName(text: ResolvedText, name: { la: string[]; en: string[] }): ResolvedText { + const substituted: Partial> = {}; + for (const [lang, t] of Object.entries(text.text)) { + if (!t) { + continue; + } + const values = lang === 'la' ? name.la : lang === 'en' ? name.en : undefined; + if (!values) { + substituted[lang] = t; + continue; + } + let i = 0; + substituted[lang] = t.replace(/\{N\}/g, () => values[i++] ?? '{N}'); + } + return { text: substituted, status: text.status }; +} + /** * The day's own collect — real for the vast majority of days (a temporal * winner always resolves, since all 52 Sunday collects are authored and - * ferias inherit the governing Sunday's via calendar/temporal-id.ts), and - * honestly "missing" for the handful of days a saint wins outright until - * that saint's own propers are authored (`saints/.yml`'s `propers` - * field is still `null` for all of them today) — same "resolve as - * pending" convention as everywhere else, not a special case to handle. - * Uses resolveOfficeWinner, not the raw `day.winner` — see its own doc - * comment for why those two differ on an octave day. + * ferias inherit the governing Sunday's via calendar/temporal-id.ts), a + * Common-template collect with the saint's own name substituted in when + * they have no proper collect of their own but a `collectCommon` fallback + * is authored (`SaintRecord.collectCommon`/`collectName`, e.g. St. Agatha + * and St. Lucy — a proper antiphon but a Common-sourced collect, live- + * verified), and honestly "missing" for the remaining days a saint wins + * outright until either is authored. `collectCommon` is the *full* + * `resolveCommon` id already (`collect-c2`, not `c2` — no suffix gets + * appended, unlike `minorHoursCommon` above), matching how the + * `collect-c*.yml` files are actually named. Uses resolveOfficeWinner, + * not the raw `day.winner` — see its own doc comment for why those two + * differ on an octave day. */ export function getDayCollect(day: LiturgicalDay): ResolvedText { const winner = resolveOfficeWinner(day); @@ -227,7 +257,16 @@ export function getDayCollect(day: LiturgicalDay): ResolvedText { } const saint = getSaintRecord(winner.id); if (saint?.propers) { - return resolveCommon(`${saint.propers}-collect`); + const proper = resolveCommon(`${saint.propers}-collect`); + if (proper.status.la !== 'missing' || proper.status.en !== 'missing') { + return proper; + } + } + if (saint?.collectCommon && saint.collectName) { + const template = resolveCommon(saint.collectCommon); + if (template.status.la !== 'missing' || template.status.en !== 'missing') { + return substituteName(template, saint.collectName); + } } return { text: {}, status: { la: 'missing', en: 'missing' } }; } diff --git a/tests/calendar/january-sanctoral.test.ts b/tests/calendar/january-sanctoral.test.ts index a9fb47b..0aa1fae 100644 --- a/tests/calendar/january-sanctoral.test.ts +++ b/tests/calendar/january-sanctoral.test.ts @@ -20,7 +20,7 @@ describe('January sanctoral pull (first pass)', () => { expect(collect.text.en).toContain('Marcellus'); }); - it('a saint with no unique propers (Common of Saints only) still wins outright, honestly missing a collect', () => { + it('a saint with no unique propers (Common of Saints only) still wins outright, and resolves via the Common', () => { const day = resolveDay('2026-01-17'); // St. Anthony Abbot expect(day.winner).toEqual({ kind: 'sanctoral', @@ -29,7 +29,7 @@ describe('January sanctoral pull (first pass)', () => { rank: 'duplex', }); const collect = getDayCollect(day); - expect(collect.status.en).toBe('missing'); + expect(collect.status.en).toBe('verified'); }); it('resolves a real multi-saint day as a winner plus a commemoration, not a collision error', () => { diff --git a/tests/calendar/march-sanctoral.test.ts b/tests/calendar/march-sanctoral.test.ts index bf9808e..b2a8c99 100644 --- a/tests/calendar/march-sanctoral.test.ts +++ b/tests/calendar/march-sanctoral.test.ts @@ -28,7 +28,7 @@ describe('March sanctoral pull (first pass)', () => { expect(getDayCollect(day).status.en).toBe('verified'); }); - it("St. Benedict wins outright at Duplex I. classis despite having no unique propers at all", () => { + it("St. Benedict wins outright at Duplex I. classis, with a proper collect (English self-translated, no source rendering exists)", () => { const day = resolveDay('2033-03-21'); expect(day.winner).toEqual({ kind: 'sanctoral', @@ -36,6 +36,7 @@ describe('March sanctoral pull (first pass)', () => { name: 'St. Benedict, Abbot (Transitus)', rank: 'duplex-1-classis', }); - expect(getDayCollect(day).status.en).toBe('missing'); + expect(getDayCollect(day).status.la).toBe('verified'); + expect(getDayCollect(day).status.en).toBe('draft'); }); }); diff --git a/tests/calendar/may-sanctoral.test.ts b/tests/calendar/may-sanctoral.test.ts index 1c8d142..3d2a4ae 100644 --- a/tests/calendar/may-sanctoral.test.ts +++ b/tests/calendar/may-sanctoral.test.ts @@ -48,9 +48,9 @@ describe('May sanctoral pull (first pass)', () => { ]); }); - it('a saint with no dedicated Sancti file at all still resolves cleanly, honestly missing a collect', () => { + it('a saint with no proper collect of his own resolves via the Common of an Abbot instead', () => { const day = resolveDay('2038-05-22'); // St. Romanus, Abbot expect(day.winner).toEqual({ kind: 'sanctoral', id: 'st-romanus-abbot', name: 'St. Romanus, Abbot', rank: 'duplex' }); - expect(getDayCollect(day).status.en).toBe('missing'); + expect(getDayCollect(day).status.en).toBe('verified'); }); }); diff --git a/tests/hours/resolve-common.test.ts b/tests/hours/resolve-common.test.ts index 7d3da49..2f502c6 100644 --- a/tests/hours/resolve-common.test.ts +++ b/tests/hours/resolve-common.test.ts @@ -1,6 +1,7 @@ import { describe, expect, it } from 'vitest'; import { resolveDay } from '../../src/calendar'; import { getDayCollect, splitNamedAntiphon } from '../../src/hours/resolve-common'; +import type { LiturgicalDay } from '../../src/calendar/types'; describe('getDayCollect', () => { it('resolves a real, verified collect for an ordinary Sunday', () => { @@ -17,9 +18,20 @@ describe('getDayCollect', () => { expect(collect.status.la).toBe('verified'); }); - it('resolves as honestly missing for a saint with no authored propers yet', () => { - const day = resolveDay('2026-08-07'); // St. Donatus wins outright, propers: null - expect(day.winner.kind).toBe('sanctoral'); + it('resolves as honestly missing for a saint with neither a proper collect nor a Common fallback authored', () => { + // Every real saint in data/calendar/saints/*.yml now has either a + // proper collect or a collectCommon fallback (see TODO.md's + // Kalendaria-table pull, 2026-08) -- so this exercises the "missing" + // path with a synthetic winner rather than hunting for a real + // example that no longer exists. + const day: LiturgicalDay = { + date: '2026-01-01', + weekday: 'thursday', + season: 'trinitytide', + temporalCategory: 'ordinary-feria', + winner: { kind: 'sanctoral', id: 'example-confessor', name: 'Example Confessor (placeholder)', rank: 'simplex' }, + commemorations: [], + }; const collect = getDayCollect(day); expect(collect.status.la).toBe('missing'); expect(collect.status.en).toBe('missing');