From 283291099160a092af80cdaca0b769b020140905 Mon Sep 17 00:00:00 2001 From: Will Estes Date: Mon, 10 Aug 2026 15:33:19 -0400 Subject: [PATCH] calendar: pull February's sanctoral calendar (pre-1955 pull, 2/12) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 13 saints for February (12 real + the Vigil of St. Matthias), all verified winning outright on a clean per-annum date — no secondary/ commemorated stubs needed this month, unlike January. Two new scope exclusions found this month, beyond the usual octave/ temporal-continuation and fixed Lord/BVM feast ones: the generic "Sanctae Mariae Sabbato" Saturday votive (not a real saint) and Feb 29's leap-year redirect of the Vigil of St. Matthias (a real but not-yet- modeled leap-day date shift). Co-Authored-By: Claude Sonnet 5 --- .../saints/chair-of-st-peter-at-antioch.yml | 10 ++++++++++ .../saints/ss-faustinus-and-jovita.yml | 9 +++++++++ src/data/calendar/saints/st-agatha.yml | 10 ++++++++++ src/data/calendar/saints/st-apollonia.yml | 8 ++++++++ src/data/calendar/saints/st-blaise.yml | 12 +++++++++++ src/data/calendar/saints/st-dorothea.yml | 8 ++++++++ .../saints/st-ignatius-of-antioch.yml | 11 ++++++++++ src/data/calendar/saints/st-matthias.yml | 12 +++++++++++ src/data/calendar/saints/st-romuald.yml | 8 ++++++++ src/data/calendar/saints/st-scholastica.yml | 11 ++++++++++ src/data/calendar/saints/st-simeon.yml | 8 ++++++++ src/data/calendar/saints/st-valentine.yml | 11 ++++++++++ .../calendar/saints/vigil-of-st-matthias.yml | 11 ++++++++++ src/data/calendar/sanctoral-calendar.yml | 20 +++++++++++++++++++ 14 files changed, 149 insertions(+) create mode 100644 src/data/calendar/saints/chair-of-st-peter-at-antioch.yml create mode 100644 src/data/calendar/saints/ss-faustinus-and-jovita.yml create mode 100644 src/data/calendar/saints/st-agatha.yml create mode 100644 src/data/calendar/saints/st-apollonia.yml create mode 100644 src/data/calendar/saints/st-blaise.yml create mode 100644 src/data/calendar/saints/st-dorothea.yml create mode 100644 src/data/calendar/saints/st-ignatius-of-antioch.yml create mode 100644 src/data/calendar/saints/st-matthias.yml create mode 100644 src/data/calendar/saints/st-romuald.yml create mode 100644 src/data/calendar/saints/st-scholastica.yml create mode 100644 src/data/calendar/saints/st-simeon.yml create mode 100644 src/data/calendar/saints/st-valentine.yml create mode 100644 src/data/calendar/saints/vigil-of-st-matthias.yml diff --git a/src/data/calendar/saints/chair-of-st-peter-at-antioch.yml b/src/data/calendar/saints/chair-of-st-peter-at-antioch.yml new file mode 100644 index 0000000..d948ada --- /dev/null +++ b/src/data/calendar/saints/chair-of-st-peter-at-antioch.yml @@ -0,0 +1,10 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), live kalendar +# check (2029-02-22, no Sunday collision) -- winner outright, Duplex majus. +# The second of the two Chair-of-Peter feasts (see chair-of-st-peter-at- +# rome.yml, Jan 18) -- this is the antiphon's true home, and the collect is +# identical text to Rome's, both intentionally duplicated rather than shared. +id: chair-of-st-peter-at-antioch +name: "The Chair of St. Peter at Antioch" +rank: duplex-majus +common: common-of-an-apostle +propers: "chair-of-st-peter-at-antioch" diff --git a/src/data/calendar/saints/ss-faustinus-and-jovita.yml b/src/data/calendar/saints/ss-faustinus-and-jovita.yml new file mode 100644 index 0000000..eaa4050 --- /dev/null +++ b/src/data/calendar/saints/ss-faustinus-and-jovita.yml @@ -0,0 +1,9 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), live kalendar +# check (2038-02-15, a year clear of the movable post-Ash-Wednesday ferias +# near this date, and not a Sunday) -- winner outright, Simplex. No unique +# Oratio/Antiphon in the source -- Common of Several Martyrs only. +id: ss-faustinus-and-jovita +name: "Ss. Faustinus and Jovita, Martyrs" +rank: simplex +common: common-of-several-martyrs +propers: null diff --git a/src/data/calendar/saints/st-agatha.yml b/src/data/calendar/saints/st-agatha.yml new file mode 100644 index 0000000..8bdbd02 --- /dev/null +++ b/src/data/calendar/saints/st-agatha.yml @@ -0,0 +1,10 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), live kalendar +# check (2029-02-05, no Sunday collision) -- winner outright, Semiduplex. Own +# proper antiphon (see propers/common/st-agatha-antiphon.yml) but no unique +# collect of her own -- Common of a Virgin Martyr supplies that instead, so +# getDayCollect resolves honestly missing for her despite propers being set. +id: st-agatha +name: "St. Agatha, Virgin and Martyr" +rank: semiduplex +common: common-of-a-virgin-martyr +propers: "st-agatha" diff --git a/src/data/calendar/saints/st-apollonia.yml b/src/data/calendar/saints/st-apollonia.yml new file mode 100644 index 0000000..72b80fe --- /dev/null +++ b/src/data/calendar/saints/st-apollonia.yml @@ -0,0 +1,8 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), live kalendar +# check (2029-02-09, no Sunday collision) -- winner outright, Simplex. Own +# proper collect, no unique antiphon of her own. +id: st-apollonia +name: "St. Apollonia, Virgin and Martyr" +rank: simplex +common: common-of-a-virgin-martyr +propers: "st-apollonia" diff --git a/src/data/calendar/saints/st-blaise.yml b/src/data/calendar/saints/st-blaise.yml new file mode 100644 index 0000000..7dfbf92 --- /dev/null +++ b/src/data/calendar/saints/st-blaise.yml @@ -0,0 +1,12 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), live kalendar +# check (2027-02-03, a year Feb 3 isn't a Saturday) -- winner outright, +# Simplex. On a Saturday, the generic "Sanctae Mariae Sabbato" votive +# commemoration (not a real saint -- out of scope, like the fixed Lord/BVM +# feasts) outranks him instead; that's not modeled by this app and this +# record deliberately ignores it, same as every other Saturday. No unique +# Oratio/Antiphon in the source -- Common of a Martyr Bishop only. +id: st-blaise +name: "St. Blaise, Bishop and Martyr" +rank: simplex +common: common-of-a-martyr-bishop +propers: null diff --git a/src/data/calendar/saints/st-dorothea.yml b/src/data/calendar/saints/st-dorothea.yml new file mode 100644 index 0000000..405716b --- /dev/null +++ b/src/data/calendar/saints/st-dorothea.yml @@ -0,0 +1,8 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), live kalendar +# check (2029-02-06, no Sunday collision) -- winner outright, Simplex. Own +# proper collect, no unique antiphon of her own. +id: st-dorothea +name: "St. Dorothea, Virgin and Martyr" +rank: simplex +common: common-of-a-virgin-martyr +propers: "st-dorothea" diff --git a/src/data/calendar/saints/st-ignatius-of-antioch.yml b/src/data/calendar/saints/st-ignatius-of-antioch.yml new file mode 100644 index 0000000..0441836 --- /dev/null +++ b/src/data/calendar/saints/st-ignatius-of-antioch.yml @@ -0,0 +1,11 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), live kalendar +# check (2029-02-01, no Sunday collision) -- winner outright, Duplex. No +# unique Oratio/Antiphon in the source -- Common of a Martyr Bishop only. +# (A different year, 2026, shows him transferred to Feb 3 instead when Feb 1 +# is a Sunday and Feb 2's Purification blocks the usual next-day slot -- the +# transfer mechanism this app already models, not re-verified here.) +id: st-ignatius-of-antioch +name: "St. Ignatius of Antioch, Bishop and Martyr" +rank: duplex +common: common-of-a-martyr-bishop +propers: null diff --git a/src/data/calendar/saints/st-matthias.yml b/src/data/calendar/saints/st-matthias.yml new file mode 100644 index 0000000..c832afa --- /dev/null +++ b/src/data/calendar/saints/st-matthias.yml @@ -0,0 +1,12 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), live kalendar +# check (2029-02-24, no Sunday collision) -- winner outright, Duplex II. +# classis. Own proper collect, no unique antiphon of his own. In leap years +# this feast (and its vigil, see vigil-of-st-matthias.yml) shift to Feb 25/24 +# respectively per the old calendar's leap-day-insertion convention -- not +# modeled by this app's flat MM-DD sanctoral-calendar.yml, a known gap left +# for later, same as the fixed Lord/BVM feasts. +id: st-matthias +name: "St. Matthias, Apostle" +rank: duplex-2-classis +common: common-of-an-apostle +propers: "st-matthias" diff --git a/src/data/calendar/saints/st-romuald.yml b/src/data/calendar/saints/st-romuald.yml new file mode 100644 index 0000000..26aaa07 --- /dev/null +++ b/src/data/calendar/saints/st-romuald.yml @@ -0,0 +1,8 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), live kalendar +# check (2029-02-07, no Sunday collision) -- winner outright, Duplex. No +# unique Oratio/Antiphon in the source -- Common of an Abbot only. +id: st-romuald +name: "St. Romuald, Abbot" +rank: duplex +common: common-of-an-abbot +propers: null diff --git a/src/data/calendar/saints/st-scholastica.yml b/src/data/calendar/saints/st-scholastica.yml new file mode 100644 index 0000000..0558f18 --- /dev/null +++ b/src/data/calendar/saints/st-scholastica.yml @@ -0,0 +1,11 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), live kalendar +# check (2029-02-10, no Sunday collision) -- winner outright, Duplex majus. +# St. Benedict's sister -- a real, significant one for a monastic calendar +# specifically. Own proper collect, no unique antiphon of her own. Not a +# martyr, so "common-of-a-virgin" (new category, distinct from +# common-of-a-virgin-martyr elsewhere in this set). +id: st-scholastica +name: "St. Scholastica, Virgin" +rank: duplex-majus +common: common-of-a-virgin +propers: "st-scholastica" diff --git a/src/data/calendar/saints/st-simeon.yml b/src/data/calendar/saints/st-simeon.yml new file mode 100644 index 0000000..e44b112 --- /dev/null +++ b/src/data/calendar/saints/st-simeon.yml @@ -0,0 +1,8 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), live kalendar +# check (2030-02-18, no Sunday collision) -- winner outright, Simplex. No +# unique Oratio/Antiphon in the source -- Common of a Martyr Bishop only. +id: st-simeon +name: "St. Simeon, Bishop and Martyr" +rank: simplex +common: common-of-a-martyr-bishop +propers: null diff --git a/src/data/calendar/saints/st-valentine.yml b/src/data/calendar/saints/st-valentine.yml new file mode 100644 index 0000000..3e2a0b3 --- /dev/null +++ b/src/data/calendar/saints/st-valentine.yml @@ -0,0 +1,11 @@ +# Verified against Divinum Officium (Monastic Tridentinum 1617), live kalendar +# check (2030-02-14, a year Ash Wednesday falls in March, clear of this date, +# and Feb 14 isn't a Sunday) -- winner outright, Simplex. In most years his +# feast is instead overshadowed by the movable Ash Wednesday/nearby Sundays, +# same transfer/precedence machinery as everywhere else, not re-verified +# here. Own proper collect, no unique antiphon of his own. +id: st-valentine +name: "St. Valentine, Priest and Martyr" +rank: simplex +common: common-of-a-martyr +propers: "st-valentine" diff --git a/src/data/calendar/saints/vigil-of-st-matthias.yml b/src/data/calendar/saints/vigil-of-st-matthias.yml new file mode 100644 index 0000000..e222d3c --- /dev/null +++ b/src/data/calendar/saints/vigil-of-st-matthias.yml @@ -0,0 +1,11 @@ +# A real vigil (see vigil-of-st-lawrence.yml for the pattern this follows) -- +# in most years suppressed by the Lenten Ember Friday (Feria Sexta Quattuor +# Temporum Quadragesimae, a privileged feria) landing on the same date, which +# is exactly the kind of collision this rank exists to let the occurrence +# engine reason about rather than guess at. No live query needed for rank -- +# 'vigil' is a fixed FeastClass, not something that varies by saint. +id: vigil-of-st-matthias +name: "Vigil of St. Matthias" +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 22feefc..61aff6a 100644 --- a/src/data/calendar/sanctoral-calendar.yml +++ b/src/data/calendar/sanctoral-calendar.yml @@ -36,6 +36,26 @@ days: "01-26": [st-polycarp] "01-27": [st-john-chrysostom] "01-28": [st-agnes-secunda] + # February — 2/12 of the pre-1955 pull. Same exclusions as January (pure + # octave/temporal continuations, fixed Lord/BVM feasts: Purification + # Feb 2), plus two new ones found this month: the generic, non-saint + # "Sanctae Mariae Sabbato" Saturday votive (Feb 3, whenever that date + # falls on a Saturday — St. Blaise's own record ignores it, see his + # file), and Feb 29's leap-year redirect of the Vigil of St. Matthias + # (a real but not-yet-modeled leap-day date-shift, see st-matthias.yml). + "02-01": [st-ignatius-of-antioch] + "02-03": [st-blaise] + "02-05": [st-agatha] + "02-06": [st-dorothea] + "02-07": [st-romuald] + "02-09": [st-apollonia] + "02-10": [st-scholastica] + "02-14": [st-valentine] + "02-15": [ss-faustinus-and-jovita] + "02-18": [st-simeon] + "02-22": [chair-of-st-peter-at-antioch] + "02-23": [vigil-of-st-matthias] + "02-24": [st-matthias] "08-09": [vigil-of-st-lawrence] "08-10": [st-lawrence] "08-15": [assumption]