From 395b7dfc1fcc16313159957ef4960fc1c8fbbb56 Mon Sep 17 00:00:00 2001 From: Will Estes Date: Tue, 11 Aug 2026 06:18:04 -0400 Subject: [PATCH] calendar: pull November's sanctoral calendar (pre-1955 pull, 11/12) 19 saints (14 real winners + 5 stubs), plus a propers-slug update for the pre-existing All Saints entry. Three monastic-calendar-specific reassignments this month, the most of any month so far (St. Emilian displacing St. Martin I Pope, who moves to a different date; St. Odo demoting St. Pontian; St. Silvester Abbot displacing St. Peter of Alexandria), plus All Saints of the Benedictine Order, a monastic-only addition at Duplex II. classis. New exclusion category: All Souls' Day (Nov 2) is a fundamentally different liturgical genre -- the Office of the Dead -- out of scope the same way the Requiem rite isn't modeled anywhere else in this app. Co-Authored-By: Claude Sonnet 5 --- .../all-saints-of-the-benedictine-order.yml | 16 ++++++ src/data/calendar/saints/all-saints.yml | 7 ++- ...-of-the-basilicas-of-ss-peter-and-paul.yml | 13 +++++ .../saints/ss-tryphon-and-companions.yml | 11 +++++ src/data/calendar/saints/st-andrew.yml | 8 +++ src/data/calendar/saints/st-catherine.yml | 8 +++ src/data/calendar/saints/st-cecilia.yml | 10 ++++ src/data/calendar/saints/st-chrysogonus.yml | 16 ++++++ src/data/calendar/saints/st-clement.yml | 16 ++++++ src/data/calendar/saints/st-emilian.yml | 14 ++++++ src/data/calendar/saints/st-felicitas.yml | 9 ++++ .../saints/st-gregory-thaumaturgus.yml | 9 ++++ src/data/calendar/saints/st-martin-i.yml | 15 ++++++ .../calendar/saints/st-martin-of-tours.yml | 8 +++ src/data/calendar/saints/st-menna.yml | 9 ++++ src/data/calendar/saints/st-odo.yml | 14 ++++++ .../saints/st-peter-of-alexandria.yml | 11 +++++ src/data/calendar/saints/st-pontian.yml | 10 ++++ src/data/calendar/saints/st-saturninus.yml | 9 ++++ .../calendar/saints/st-silvester-abbot.yml | 15 ++++++ .../calendar/saints/vigil-of-st-andrew.yml | 10 ++++ src/data/calendar/sanctoral-calendar.yml | 49 +++++++++++++++++++ 22 files changed, 285 insertions(+), 2 deletions(-) create mode 100644 src/data/calendar/saints/all-saints-of-the-benedictine-order.yml create mode 100644 src/data/calendar/saints/dedication-of-the-basilicas-of-ss-peter-and-paul.yml create mode 100644 src/data/calendar/saints/ss-tryphon-and-companions.yml create mode 100644 src/data/calendar/saints/st-andrew.yml create mode 100644 src/data/calendar/saints/st-catherine.yml create mode 100644 src/data/calendar/saints/st-cecilia.yml create mode 100644 src/data/calendar/saints/st-chrysogonus.yml create mode 100644 src/data/calendar/saints/st-clement.yml create mode 100644 src/data/calendar/saints/st-emilian.yml create mode 100644 src/data/calendar/saints/st-felicitas.yml create mode 100644 src/data/calendar/saints/st-gregory-thaumaturgus.yml create mode 100644 src/data/calendar/saints/st-martin-i.yml create mode 100644 src/data/calendar/saints/st-martin-of-tours.yml create mode 100644 src/data/calendar/saints/st-menna.yml create mode 100644 src/data/calendar/saints/st-odo.yml create mode 100644 src/data/calendar/saints/st-peter-of-alexandria.yml create mode 100644 src/data/calendar/saints/st-pontian.yml create mode 100644 src/data/calendar/saints/st-saturninus.yml create mode 100644 src/data/calendar/saints/st-silvester-abbot.yml create mode 100644 src/data/calendar/saints/vigil-of-st-andrew.yml 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 new file mode 100644 index 0000000..a940bab --- /dev/null +++ b/src/data/calendar/saints/all-saints-of-the-benedictine-order.yml @@ -0,0 +1,16 @@ +# A monastic-calendar-specific addition, absent from the base Tridentine +# table (1570.txt) entirely -- unsurprisingly, since this feast (all the +# saints of St. Benedict's own Order) exists only in Benedictine-family +# calendars. Verified live (Monastic Tridentinum 1617, 2025-11-13) -- +# winner outright, Duplex II. classis, alone; one of the highest-ranked +# monastic-only additions found in this pull, alongside Ss. Placid and +# Companions (October). No unique collect: the raw file at this MM-DD +# slot (Sancti/11-13.txt) is actually St. Didacus's (a later, 1588+ +# addition to this filename slot) -- a live prayTertia query for the +# Monastic 1617 track returns no Oratio at all, confirming propers: null +# is correct. +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 diff --git a/src/data/calendar/saints/all-saints.yml b/src/data/calendar/saints/all-saints.yml index b6b2bd7..dc0d18c 100644 --- a/src/data/calendar/saints/all-saints.yml +++ b/src/data/calendar/saints/all-saints.yml @@ -1,7 +1,10 @@ # Verified against Divinum Officium (web/www/horas/Latin/Sancti/11-01.txt, -# untagged/default [Rank] block). +# untagged/default [Rank] block). Propers backfilled during the November +# pull now that the collect-pulling methodology exists -- own proper +# collect (see all-saints-collect.yml for a note on how its English side +# was sourced). id: all-saints name: "All Saints" rank: duplex-1-classis common: proper-to-all-saints -propers: null +propers: "all-saints" 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 new file mode 100644 index 0000000..d010522 --- /dev/null +++ b/src/data/calendar/saints/dedication-of-the-basilicas-of-ss-peter-and-paul.yml @@ -0,0 +1,13 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), live +# kalendar check (2025-11-18) -- winner outright, Duplex, alone. About the +# basilicas honoring Ss. Peter and Paul specifically (not a feast of the +# Lord the way the Nov 9 Dedication of the Basilica of the Most Holy +# Savior is -- see this month's sanctoral-calendar.yml comment on that +# exclusion), so kept in scope like the Commemoration of St. Paul (June) +# and the two Chair-of-Peter feasts (January). No unique collect: the raw +# file at this MM-DD slot (Sancti/11-18.txt) is empty. +id: dedication-of-the-basilicas-of-ss-peter-and-paul +name: "Dedication of the Basilicas of Ss. Peter and Paul" +rank: duplex +common: common-of-an-apostle +propers: null diff --git a/src/data/calendar/saints/ss-tryphon-and-companions.yml b/src/data/calendar/saints/ss-tryphon-and-companions.yml new file mode 100644 index 0000000..72f8960 --- /dev/null +++ b/src/data/calendar/saints/ss-tryphon-and-companions.yml @@ -0,0 +1,11 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), live +# kalendar check (2025-11-10) -- winner outright, Simplex, alone. No +# unique collect: the raw file at this MM-DD slot (Sancti/11-10.txt) is +# actually St. Andrew Avellino's (a later, 1712 canonization) -- a live +# prayTertia query for the Monastic 1617 track returns no Oratio at all, +# confirming propers: null is correct. +id: ss-tryphon-and-companions +name: "Ss. Tryphon, Respicius, and Nympha, Martyrs" +rank: simplex +common: common-of-several-martyrs +propers: null diff --git a/src/data/calendar/saints/st-andrew.yml b/src/data/calendar/saints/st-andrew.yml new file mode 100644 index 0000000..5a4b717 --- /dev/null +++ b/src/data/calendar/saints/st-andrew.yml @@ -0,0 +1,8 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), live +# kalendar check (2026-11-30) -- winner outright, Duplex II. classis, +# alone. Own proper collect and antiphon. +id: st-andrew +name: "St. Andrew, Apostle" +rank: duplex-2-classis +common: common-of-an-apostle +propers: "st-andrew" diff --git a/src/data/calendar/saints/st-catherine.yml b/src/data/calendar/saints/st-catherine.yml new file mode 100644 index 0000000..5727ed5 --- /dev/null +++ b/src/data/calendar/saints/st-catherine.yml @@ -0,0 +1,8 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), live +# kalendar check (2032-11-25) -- winner outright, Duplex, alone. Own +# proper collect, no unique antiphon of her own. +id: st-catherine +name: "St. Catherine of Alexandria, Virgin and Martyr" +rank: duplex +common: common-of-a-virgin-martyr +propers: "st-catherine" diff --git a/src/data/calendar/saints/st-cecilia.yml b/src/data/calendar/saints/st-cecilia.yml new file mode 100644 index 0000000..35f99c2 --- /dev/null +++ b/src/data/calendar/saints/st-cecilia.yml @@ -0,0 +1,10 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), live +# kalendar check on a clean year (2032-11-22, chosen to avoid the cluster +# of late-November Sunday collisions this cluster of dates has almost +# every other year) -- winner outright, Semiduplex, alone. Own proper +# collect and antiphon. +id: st-cecilia +name: "St. Cecilia, Virgin and Martyr" +rank: semiduplex +common: common-of-a-virgin-martyr +propers: "st-cecilia" diff --git a/src/data/calendar/saints/st-chrysogonus.yml b/src/data/calendar/saints/st-chrysogonus.yml new file mode 100644 index 0000000..b536801 --- /dev/null +++ b/src/data/calendar/saints/st-chrysogonus.yml @@ -0,0 +1,16 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), live +# kalendar check on a clean year (2032-11-24, chosen so Nov 23 isn't a +# Sunday that year) -- winner outright, Simplex, alone. In years where +# Nov 23 (St. Clement's own date) falls on a Sunday, Clement transfers +# forward and displaces this saint entirely for that year instead (see +# st-clement.yml and the regression test in +# tests/calendar/november-sanctoral.test.ts) -- a real, single-day +# transfer this app's existing machinery models correctly. No unique +# collect: the raw file's own [Oratio] is an unusual bare cross-reference +# notation ("@:Oratio_") that doesn't resolve to any text via a live +# query for the Monastic 1617 track, confirming propers: null is correct. +id: st-chrysogonus +name: "St. Chrysogonus, Martyr" +rank: simplex +common: common-of-a-martyr +propers: null diff --git a/src/data/calendar/saints/st-clement.yml b/src/data/calendar/saints/st-clement.yml new file mode 100644 index 0000000..8e9b803 --- /dev/null +++ b/src/data/calendar/saints/st-clement.yml @@ -0,0 +1,16 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), live +# kalendar check on a clean year (2032-11-23) -- winner outright, +# Semiduplex, over the stub St. Felicitas (see st-felicitas.yml). In +# years where Nov 23 itself falls on a Sunday (e.g. 2025), this feast +# transfers forward to Nov 24 instead, outranking St. Chrysogonus that +# day (see st-chrysogonus.yml) -- unlike August's multi-day-skip transfer +# gap, this is a plain single-day forward transfer, well within this +# app's existing transfer machinery; see the regression test in +# tests/calendar/november-sanctoral.test.ts. Own proper collect, no +# unique antiphon of his own (his own [Ant 1] is a fragment referencing a +# well-related legend, not usable as a standalone antiphon text). +id: st-clement +name: "St. Clement I, Pope and Martyr" +rank: semiduplex +common: common-of-a-martyr-bishop +propers: "st-clement" diff --git a/src/data/calendar/saints/st-emilian.yml b/src/data/calendar/saints/st-emilian.yml new file mode 100644 index 0000000..3987a7e --- /dev/null +++ b/src/data/calendar/saints/st-emilian.yml @@ -0,0 +1,14 @@ +# A monastic-calendar-specific reassignment, not a mistake: the base +# Tridentine table (1570.txt) has St. Martin I, Pope and Martyr, on Nov +# 12, but the monastic-specific delta table (M1617.txt) overrides that +# day with this saint instead, and separately redirects Martin's own +# content to Nov 14 (see st-martin-i.yml) -- confirmed live (Monastic +# Tridentinum 1617, 2025-11-12), winning outright at Duplex, alone. Same +# class of finding as October's St. Justina/St. Marcus reassignment. No +# unique collect: the raw file at this MM-DD slot (Sancti/11-12.txt) is +# empty. +id: st-emilian +name: "St. Emilian, Abbot" +rank: duplex +common: common-of-an-abbot +propers: null diff --git a/src/data/calendar/saints/st-felicitas.yml b/src/data/calendar/saints/st-felicitas.yml new file mode 100644 index 0000000..ab4dfd8 --- /dev/null +++ b/src/data/calendar/saints/st-felicitas.yml @@ -0,0 +1,9 @@ +# Genuinely unwinnable stub (verified 2032-11-23) -- always commemorated +# under St. Clement (see st-clement.yml), never wins outright; both are +# fixed, non-movable dates, so this isn't an artifact of the tested year. +# rank/propers unverified placeholders. +id: st-felicitas +name: "St. Felicitas, Martyr" +rank: simplex +common: common-of-a-martyr +propers: null diff --git a/src/data/calendar/saints/st-gregory-thaumaturgus.yml b/src/data/calendar/saints/st-gregory-thaumaturgus.yml new file mode 100644 index 0000000..1872e1b --- /dev/null +++ b/src/data/calendar/saints/st-gregory-thaumaturgus.yml @@ -0,0 +1,9 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), live +# kalendar check (2025-11-17) -- winner outright, Semiduplex, alone. No +# unique collect: the raw file at this MM-DD slot (Sancti/11-17.txt) is +# empty. +id: st-gregory-thaumaturgus +name: "St. Gregory Thaumaturgus, Bishop and Confessor" +rank: semiduplex +common: common-of-a-confessor-bishop +propers: null diff --git a/src/data/calendar/saints/st-martin-i.yml b/src/data/calendar/saints/st-martin-i.yml new file mode 100644 index 0000000..574bd86 --- /dev/null +++ b/src/data/calendar/saints/st-martin-i.yml @@ -0,0 +1,15 @@ +# A monastic-calendar-specific redirect: the base Tridentine table +# (1570.txt) has this saint's content on Nov 12, but the monastic- +# specific delta table (M1617.txt) moves it here to Nov 14 instead, since +# Nov 12 in the monastic calendar belongs to St. Emilian (see +# st-emilian.yml) -- confirmed live (Monastic Tridentinum 1617, +# 2025-11-14), winning outright at Semiduplex, alone. No unique collect: +# the raw file at this MM-DD slot (Sancti/11-14.txt) is actually St. +# Josaphat's (a much later, 1867 canonization) -- a live prayTertia query +# for the Monastic 1617 track returns no Oratio at all, confirming +# propers: null is correct. +id: st-martin-i +name: "St. Martin I, Pope and Martyr" +rank: semiduplex +common: common-of-a-martyr-bishop +propers: null diff --git a/src/data/calendar/saints/st-martin-of-tours.yml b/src/data/calendar/saints/st-martin-of-tours.yml new file mode 100644 index 0000000..7ad7e67 --- /dev/null +++ b/src/data/calendar/saints/st-martin-of-tours.yml @@ -0,0 +1,8 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), live +# kalendar check (2025-11-11) -- winner outright, Duplex majus, over the +# stub St. Menna (see st-menna.yml). Own proper collect and antiphon. +id: st-martin-of-tours +name: "St. Martin of Tours, Bishop and Confessor" +rank: duplex-majus +common: common-of-a-confessor-bishop +propers: "st-martin-of-tours" diff --git a/src/data/calendar/saints/st-menna.yml b/src/data/calendar/saints/st-menna.yml new file mode 100644 index 0000000..9c37c8d --- /dev/null +++ b/src/data/calendar/saints/st-menna.yml @@ -0,0 +1,9 @@ +# Genuinely unwinnable stub (verified 2025-11-11) -- always commemorated +# under St. Martin of Tours (see st-martin-of-tours.yml), never wins +# outright; both are fixed, non-movable dates, so this isn't an artifact +# of the tested year. rank/propers unverified placeholders. +id: st-menna +name: "St. Menna, Martyr" +rank: simplex +common: common-of-a-martyr +propers: null diff --git a/src/data/calendar/saints/st-odo.yml b/src/data/calendar/saints/st-odo.yml new file mode 100644 index 0000000..5c5f94a --- /dev/null +++ b/src/data/calendar/saints/st-odo.yml @@ -0,0 +1,14 @@ +# A monastic-calendar-specific addition: the base Tridentine table +# (1570.txt) has St. Pontian as Nov 19's sole entry, but the monastic- +# specific delta table (M1617.txt) adds this saint as primary instead, +# demoting Pontian to a commemoration (see st-pontian.yml) -- confirmed +# live (Monastic Tridentinum 1617, 2025-11-19), winning outright at +# Duplex. No unique collect: the raw file at this MM-DD slot +# (Sancti/11-19.txt) is actually St. Elizabeth of Hungary's (a later, +# 1235 canonization) -- a live prayTertia query for the Monastic 1617 +# track returns no Oratio at all, confirming propers: null is correct. +id: st-odo +name: "St. Odo, Abbot" +rank: duplex +common: common-of-an-abbot +propers: null diff --git a/src/data/calendar/saints/st-peter-of-alexandria.yml b/src/data/calendar/saints/st-peter-of-alexandria.yml new file mode 100644 index 0000000..8ab3d84 --- /dev/null +++ b/src/data/calendar/saints/st-peter-of-alexandria.yml @@ -0,0 +1,11 @@ +# Genuinely unwinnable stub (verified 2032-11-26) -- always commemorated +# under St. Silvester Abbot in the monastic calendar (see +# st-silvester-abbot.yml), even though the base Tridentine table has him +# as the sole entry here; both are fixed, non-movable dates, so this +# isn't an artifact of the tested year. rank/propers unverified +# placeholders. +id: st-peter-of-alexandria +name: "St. Peter of Alexandria, Bishop and Martyr" +rank: simplex +common: common-of-a-martyr-bishop +propers: null diff --git a/src/data/calendar/saints/st-pontian.yml b/src/data/calendar/saints/st-pontian.yml new file mode 100644 index 0000000..f1f294a --- /dev/null +++ b/src/data/calendar/saints/st-pontian.yml @@ -0,0 +1,10 @@ +# Genuinely unwinnable stub (verified 2025-11-19) -- always commemorated +# under St. Odo in the monastic calendar (see st-odo.yml), even though +# the base Tridentine table has him as the sole entry here; both are +# fixed, non-movable dates, so this isn't an artifact of the tested year. +# rank/propers unverified placeholders. +id: st-pontian +name: "St. Pontian, Pope and Martyr" +rank: simplex +common: common-of-a-martyr-bishop +propers: null diff --git a/src/data/calendar/saints/st-saturninus.yml b/src/data/calendar/saints/st-saturninus.yml new file mode 100644 index 0000000..549eddd --- /dev/null +++ b/src/data/calendar/saints/st-saturninus.yml @@ -0,0 +1,9 @@ +# Genuinely unwinnable stub (verified 2025-11-29) -- always commemorated +# under the Vigil of St. Andrew (see vigil-of-st-andrew.yml), never wins +# outright; both are fixed, non-movable dates, so this isn't an artifact +# of the tested year. rank/propers unverified placeholders. +id: st-saturninus +name: "St. Saturninus, Martyr" +rank: simplex +common: common-of-a-martyr +propers: null diff --git a/src/data/calendar/saints/st-silvester-abbot.yml b/src/data/calendar/saints/st-silvester-abbot.yml new file mode 100644 index 0000000..0644d8c --- /dev/null +++ b/src/data/calendar/saints/st-silvester-abbot.yml @@ -0,0 +1,15 @@ +# A monastic-calendar-specific reassignment, not a mistake: the base +# Tridentine table (1570.txt) has St. Peter of Alexandria as Nov 26's +# sole entry, but the monastic-specific delta table (M1617.txt) overrides +# that day with this saint instead, demoting Peter to a commemoration +# (see st-peter-of-alexandria.yml) -- confirmed live (Monastic +# Tridentinum 1617, 2032-11-26), winning outright at Duplex. Own proper +# collect, no unique antiphon of his own. Distinct from October's St. +# Sylvester I, Pope (not in this pull's data) and December's St. +# Sylvester I feast (Dec 31, not yet pulled) -- this is Sylvester Gozzolini, +# founder of the Sylvestrine Benedictines. +id: st-silvester-abbot +name: "St. Silvester, Abbot" +rank: duplex +common: common-of-an-abbot +propers: "st-silvester-abbot" diff --git a/src/data/calendar/saints/vigil-of-st-andrew.yml b/src/data/calendar/saints/vigil-of-st-andrew.yml new file mode 100644 index 0000000..0239ef8 --- /dev/null +++ b/src/data/calendar/saints/vigil-of-st-andrew.yml @@ -0,0 +1,10 @@ +# A real vigil (2025-11-29, clean year). No unique collect: the raw +# file's own [Oratio] is a plain cross-reference to a generic Common +# formula (@Commune/C1v, "Oratio 2 loco"), not unique text, so +# propers: null is correct (Common-of-Saints only) -- same treatment as +# October's Ss. Placid and Companions. +id: vigil-of-st-andrew +name: "Vigil of St. Andrew" +rank: vigil +common: common-of-a-vigil +propers: null diff --git a/src/data/calendar/sanctoral-calendar.yml b/src/data/calendar/sanctoral-calendar.yml index 75b1071..0c995f1 100644 --- a/src/data/calendar/sanctoral-calendar.yml +++ b/src/data/calendar/sanctoral-calendar.yml @@ -254,5 +254,54 @@ days: "10-27": [vigil-of-ss-simon-and-jude] "10-28": [ss-simon-and-jude] "10-31": [vigil-of-all-saints] + # November — 11/12 of the pre-1955 pull. All Saints' own propers were + # backfilled this month (see all-saints-collect.yml). New exclusion + # categories this month: All Souls' Day (Nov 2) is a fundamentally + # different liturgical genre -- the Office of the Dead, not a saint's + # feast at all, no Common-of-Saints structure to fall back on -- out of + # scope the same way this app doesn't model the Requiem/funeral rite + # anywhere else. Nov 3-7 are pure All-Saints-octave continuations (no + # named saint). Ss. Four Crowned Martyrs (Nov 8, the octave's own final + # day) hit the same unmodeled-octave gap as several saints in August/ + # September. The Dedication of the Basilica of the Most Holy Savior + # (Nov 9, i.e. the Lateran) is a fixed feast of the Lord (named for the + # Savior directly), excluded the same way the Transfiguration was in + # August -- its secondary, St. Theodore, is excluded along with it for + # the same unmodeled-primary reason. Unlike that one, the Nov 18 + # Dedication of the Basilicas of Ss. Peter and Paul is about the + # Apostles, not the Lord, so it's kept in scope, same as the + # Commemoration of St. Paul and the two Chair-of-Peter feasts. The + # Presentation of the BVM (Nov 21, itself a monastic-calendar-only + # addition) is a fixed BVM feast, excluded per the usual convention. + # + # Three monastic-calendar-specific reassignments this month, the most + # of any month so far: St. Emilian (Nov 12) displaces St. Martin I, + # Pope, who moves to Nov 14; St. Odo (Nov 19) is added outright, + # demoting St. Pontian; St. Silvester, Abbot (Nov 26) displaces St. + # Peter of Alexandria. Plus All Saints of the Benedictine Order (Nov + # 13, Duplex II. classis) -- absent from the base table entirely, one + # of the highest-ranked monastic-only additions in this whole pull. + # + # Also notable: St. Clement (Nov 23) transferring forward into St. + # Chrysogonus's day (Nov 24) whenever Nov 23 falls on a Sunday is this + # pull's first *single-day* transfer-plus-collision case (unlike + # August's Finding-of-St.-Stephen situation, which needed an unmodeled + # multi-day skip) -- this app's existing transfer machinery handles it + # correctly; see tests/calendar/november-sanctoral.test.ts. "11-01": [all-saints] + "11-10": [ss-tryphon-and-companions] + "11-11": [st-martin-of-tours, st-menna] + "11-12": [st-emilian] + "11-13": [all-saints-of-the-benedictine-order] + "11-14": [st-martin-i] + "11-17": [st-gregory-thaumaturgus] + "11-18": [dedication-of-the-basilicas-of-ss-peter-and-paul] + "11-19": [st-odo, st-pontian] + "11-22": [st-cecilia] + "11-23": [st-clement, st-felicitas] + "11-24": [st-chrysogonus] + "11-25": [st-catherine] + "11-26": [st-silvester-abbot, st-peter-of-alexandria] + "11-29": [vigil-of-st-andrew, st-saturninus] + "11-30": [st-andrew] "12-08": [immaculate-conception]