Author day collects for all 94 propers:null saints via Kalendaria tables
Deploy / deploy (push) Successful in 59s

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 <noreply@anthropic.com>
This commit is contained in:
2026-08-13 08:19:28 -04:00
parent d6ea898e3f
commit 6bb4c6a80f
147 changed files with 1466 additions and 59 deletions
+99 -2
View File
@@ -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
+28
View File
@@ -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;
@@ -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"
@@ -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: []
@@ -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"
@@ -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"]
@@ -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"]
@@ -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"
@@ -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"
@@ -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"]
@@ -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"
@@ -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"
+1 -1
View File
@@ -6,4 +6,4 @@ id: ss-machabees
name: "Ss. Machabees, Martyrs"
rank: simplex
common: common-of-several-martyrs
propers: null
propers: "ss-machabees"
@@ -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"
@@ -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"
@@ -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"
@@ -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"]
@@ -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"]
@@ -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"
@@ -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"
@@ -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"]
@@ -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"
+4
View File
@@ -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"]
+4
View File
@@ -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"]
@@ -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"]
+4
View File
@@ -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"]
@@ -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"]
+4
View File
@@ -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"]
+1 -1
View File
@@ -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"
+4
View File
@@ -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]
@@ -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"]
@@ -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"
@@ -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"]
@@ -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"]
+1 -1
View File
@@ -13,4 +13,4 @@ id: st-chrysogonus
name: "St. Chrysogonus, Martyr"
rank: simplex
common: common-of-a-martyr
propers: null
propers: "st-chrysogonus"
+1 -1
View File
@@ -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"
@@ -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"]
+4
View File
@@ -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"]
@@ -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"]
@@ -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"]
+1 -1
View File
@@ -6,4 +6,4 @@ id: st-felicitas
name: "St. Felicitas, Martyr"
rank: simplex
common: common-of-a-martyr
propers: null
propers: "st-felicitas"
+4
View File
@@ -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"]
@@ -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"
+4
View File
@@ -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"]
+4
View File
@@ -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"]
@@ -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"]
@@ -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"]
+4
View File
@@ -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"]
+1 -1
View File
@@ -6,4 +6,4 @@ id: st-hermes
name: "St. Hermes, Martyr"
rank: simplex
common: common-of-a-martyr
propers: null
propers: "st-hermes"
+4
View File
@@ -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"]
+4
View File
@@ -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"]
@@ -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"]
@@ -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"]
@@ -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"]
+4
View File
@@ -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"]
+4
View File
@@ -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"]
+4
View File
@@ -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"]
+1 -1
View File
@@ -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"
+12 -1
View File
@@ -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"]
+4
View File
@@ -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"]
@@ -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"]
@@ -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"]
+4
View File
@@ -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"]
+19 -13
View File
@@ -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"
@@ -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"]
+4
View File
@@ -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"]
@@ -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"]
@@ -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"]
+4
View File
@@ -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"]
+4
View File
@@ -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"]
+4
View File
@@ -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"]
+4
View File
@@ -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"]
+1 -1
View File
@@ -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"
@@ -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"]
+4
View File
@@ -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"]
@@ -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"]
+4
View File
@@ -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"]
+4
View File
@@ -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"]
+4
View File
@@ -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"]
+4
View File
@@ -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"]
+1 -1
View File
@@ -6,4 +6,4 @@ id: st-saturninus
name: "St. Saturninus, Martyr"
rank: simplex
common: common-of-a-martyr
propers: null
propers: "st-saturninus"
@@ -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"]
@@ -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"]
+4
View File
@@ -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"]
@@ -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"]
@@ -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"]
+1 -1
View File
@@ -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"
+4
View File
@@ -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"]
@@ -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"]
@@ -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"]
@@ -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"]
@@ -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"
@@ -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"
@@ -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"]
@@ -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"]
@@ -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"]
@@ -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
+22
View File
@@ -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
+20
View File
@@ -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
+20
View File
@@ -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

Some files were not shown because too many files have changed in this diff Show More