Add 6 more February saints/feasts previously never added
Deploy / deploy (push) Successful in 1m6s

Purification of the BVM (Feb 2), St. Andrew Corsini (Feb 4), St. John
of Matha (Feb 8), Apparition of the Immaculate BVM at Lourdes (Feb 11),
Ss. Seven Founders of the Servite Order (Feb 12), St. Gabriel of Our
Lady of Sorrows (Feb 27) -- all had real, complete Matins content in
the reference engine and no exclusion comment; simply never reached
during the earlier month-by-month sanctoral pulls. Continuing the same
sweep as January's St. Francis de Sales/St. Martina/St. John Bosco.

Test update (not a regression): St. Andrew Corsini transfers onto Feb 5
in years where Sexagesima falls on his own Feb 4, outranking St. Agatha
when it does -- february-sanctoral.test.ts's proof year for Agatha
moved from 2029 (now a collision year) to 2025 (clean).

npm test (365 tests) and tsc --noEmit both pass.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-17 15:26:00 -04:00
parent db141681a9
commit ce778d51e3
23 changed files with 1288 additions and 1 deletions
@@ -0,0 +1,13 @@
# Read directly from the reference engine: untagged/default [Rank]
# block of `web/www/horas/Latin/Sancti/02-11.txt` -- "In Apparitione
# Beatæ Mariæ Virginis Immaculatæ;;Duplex majus;;4;;ex C11" (Our Lady of
# Lourdes). Own proper [Oratio]/[Ant 1]/Nocturn 2 vita (the Bernadette
# apparition narrative); her Nocturn 3 is a direct `@Sancti/12-10bmv`
# cross-reference -- shares content with the 3rd day within the Octave
# of the Immaculate Conception (a different reading than
# immaculate-conception.yml's own Dec 8 Nocturn 2 content).
id: apparition-of-the-immaculate-bvm
name: "The Apparition of the Immaculate Blessed Virgin Mary (Our Lady of Lourdes)"
rank: duplex-majus
common: common-of-the-bvm
propers: "apparition-of-the-immaculate-bvm"
+15
View File
@@ -0,0 +1,15 @@
# Read directly from the reference engine (`../divinum-officium-reference`,
# per memory vu-reference-engine-file-layout, not a live query): untagged/
# default [Rank] block of `web/www/horas/Latin/Sancti/02-02.txt` -- "In
# Purificatione Beatæ Mariæ Virginis;;Duplex 2 class;;5.1;;ex C11". Real
# unique [Oratio]/[Ant 1]/Nocturn 2-3 content of her own (not a bare
# Common fallback the way our-lady-of-the-snows.yml was) -- same
# fixed-BVM-feast pattern as that pass, previously excluded under the
# same stale "not modeled" convention this app has now dropped
# per direct instruction (2026-08): import available content regardless
# of rubric-era markers.
id: purification
name: "The Purification of the Blessed Virgin Mary (Candlemas)"
rank: duplex-2-classis
common: common-of-the-bvm
propers: "purification"
@@ -0,0 +1,11 @@
# Read directly from the reference engine: untagged/default [Rank]
# block of `web/www/horas/Latin/Sancti/02-12.txt` -- "vide C5c;;Duplex;;3;;".
# Own proper [Oratio]/[Ant 1]/Nocturn 2 vita; Nocturn 3 is a direct
# `@Commune/C1:LectioN` cross-reference to the Common of Apostles' own
# Gospel-and-homily (Matt 19:27-29, "we have forsaken all"), fitting for
# a group of founders, not the saints' own text.
id: ss-seven-founders-of-the-servite-order
name: "Ss. Seven Holy Founders of the Order of the Servants of the Blessed Virgin Mary"
rank: duplex
common: common-of-several-confessors
propers: "ss-seven-founders-of-the-servite-order"
@@ -0,0 +1,12 @@
# Read directly from the reference engine: untagged/default [Rank]
# block of `web/www/horas/Latin/Sancti/02-04.txt` -- "vide C4;;Duplex;;3;;".
# Own proper [Oratio]; no [Ant 1] of its own, so the Benedictus antiphon
# falls back to Common of a Confessor Bishop (C4), same family as
# st-ambrose.yml.
id: st-andrew-corsini
name: "St. Andrew Corsini, Bishop and Confessor"
rank: duplex
common: common-of-a-confessor-bishop
propers: "st-andrew-corsini"
minorHoursCommon: common-of-a-confessor-bishop
benedictusCommon: common-of-a-confessor-bishop
@@ -0,0 +1,12 @@
# Read directly from the reference engine: untagged/default [Rank]
# block of `web/www/horas/Latin/Sancti/02-27.txt` -- "vide C5;;Duplex;;3;;".
# Own proper [Oratio]; no [Ant 1] of its own, so the Benedictus antiphon
# falls back to Common of a Confessor (C5), matching st-alexius.yml/
# st-john-bosco.yml.
id: st-gabriel-of-our-lady-of-sorrows
name: "St. Gabriel of Our Lady of Sorrows, Confessor"
rank: duplex
common: common-of-a-confessor
propers: "st-gabriel-of-our-lady-of-sorrows"
minorHoursCommon: common-of-a-confessor
benedictusCommon: common-of-a-confessor
@@ -0,0 +1,14 @@
# Read directly from the reference engine: untagged/default [Rank]
# block of `web/www/horas/Latin/Sancti/02-08.txt` -- "vide C5;;Duplex;;3;;".
# Own proper [Oratio] and Nocturn 2 vita; Nocturn 3 (Lectio7-9) is a
# direct `@Commune/C5:LectioN` cross-reference, i.e. shares the Common
# of a Confessor's own Gospel-and-homily verbatim. No [Ant 1] of its
# own, so the Benedictus antiphon falls back to that same Common
# (common-of-a-confessor, matching st-alexius.yml/st-john-bosco.yml).
id: st-john-of-matha
name: "St. John of Matha, Confessor"
rank: duplex
common: common-of-a-confessor
propers: "st-john-of-matha"
minorHoursCommon: common-of-a-confessor
benedictusCommon: common-of-a-confessor