# Maps a calendar day (MM-DD — the sanctoral cycle repeats every civil year
# regardless of weekday, unlike the temporal cycle) to the saint-id(s)
# celebrated that day. This indirection is the whole point: to move a saint
# to a different day, edit this mapping. The saint's own record
# (data/calendar/saints/<id>.yml) never changes — it's the same record
# whichever day points at it.
#
# A small, growable subset, not a full year — see the plan discussion this
# came out of. Each entry's rank is verified directly against Divinum
# Officium (see the saint's own file for which one) rather than
# reconstructed from memory, unlike data/calendar/temporal-categories.yml's
# privileged-day lists. `example-confessor` is deliberately NOT mapped to
# any day here — it's fictional, kept only to document the record shape.
days:
  # January — first month of the pre-1955 pull (see the saint files' own
  # comments for source/verification detail per entry). Deliberately
  # excludes: pure octave-continuation days (In Octava S. Stephani, the
  # several "die infra Octavam Epiphaniae" days, etc. — not sanctoral,
  # out of scope per the Non-goals discussion) and fixed-date feasts of
  # the Lord/BMV (Circumcision Jan 1, Epiphany Jan 6 — temporal, not
  # sanctoral, and not modeled by this app at all yet, a separate gap).
  "01-05": [st-telesphorus]
  "01-11": [st-hyginus]
  "01-14": [st-hilary-of-poitiers, st-felix-presbyter]
  "01-15": [st-maurus-abbot]
  "01-16": [st-marcellus-i]
  "01-17": [st-anthony-abbot]
  "01-18": [chair-of-st-peter-at-rome, st-prisca]
  "01-19": [st-paul-the-hermit, ss-marius-martha-audifax-and-abachum]
  "01-20": [ss-fabian-and-sebastian]
  "01-21": [st-agnes]
  "01-22": [ss-vincent-and-anastasius]
  "01-23": [st-emerentiana]
  "01-24": [st-timothy]
  "01-25": [conversion-of-st-paul]
  "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]
  # March — 3/12 of the pre-1955 pull. Same exclusions as before (fixed
  # BVM feast: Annunciation Mar 25). St. Benedict's own day (Mar 21,
  # Duplex I. classis, the highest rank in this set so far) has no
  # unique propers in the source at all — see st-benedict.yml.
  "03-04": [st-lucius-i]
  "03-07": [st-thomas-aquinas]
  "03-09": [st-frances-of-rome]
  "03-10": [forty-holy-martyrs]
  "03-12": [st-gregory-the-great]
  "03-19": [st-joseph]
  "03-21": [st-benedict]
  # April — 4/12 of the pre-1955 pull. St. Robert/St. Catherine of Siena
  # (Apr 29) is a genuine monastic-calendar reassignment, not a mistake —
  # see st-robert.yml. St. Francis of Paola's native date (Apr 2) often
  # transfers due to Holy Week; that's the existing transfer machinery,
  # not something recorded specially here.
  "04-02": [st-francis-of-paola]
  "04-11": [st-leo-i]
  "04-14": [ss-tiburtius-valerian-and-maximus]
  "04-17": [st-anicetus]
  "04-22": [ss-soter-and-caius]
  "04-23": [st-george]
  "04-25": [st-mark]
  "04-26": [ss-cletus-and-marcellinus]
  "04-28": [st-vitalis]
  "04-29": [st-robert, st-catherine-of-siena]
  "04-30": [st-peter-martyr]
  # May — 5/12 of the pre-1955 pull. Same exclusions as before: fixed
  # feasts of the Lord (Finding of the Holy Cross May 3), and movable
  # ones (Ascension, Trinity Sunday, Corpus Christi — all skipped as
  # primary, since they're temporal, not sanctoral). Two stubs this month
  # (Ss. Alexander/Eventius/Theodulus/Juvenal, St. Pudentiana) are
  # genuinely un-winnable in any year, not just an artifact of which year
  # was checked — see their own files.
  "05-01": [ss-philip-and-james]
  "05-02": [st-athanasius]
  "05-03": [ss-alexander-eventius-theodulus-and-juvenal]
  "05-04": [st-monica]
  "05-06": [st-john-before-the-latin-gate]
  "05-07": [st-stanislaus]
  "05-08": [apparition-of-st-michael]
  "05-09": [st-gregory-nazianzen]
  "05-12": [ss-nereus-achilleus-domitilla-and-pancras]
  "05-14": [st-boniface]
  "05-16": [st-ubald]
  "05-19": [st-peter-celestine, st-pudentiana]
  "05-22": [st-romanus-abbot]
  "05-25": [st-urban-i]
  "05-26": [st-eleutherius]
  "05-27": [st-john-i]
  "05-30": [st-felix-i]
  # June — 6/12 of the pre-1955 pull. No stubs this month — every
  # candidate resolved to a real, independently-winnable saint (even the
  # two normally blocked by the generic Saturday-of-Mary votive). 06-27
  # (the 4th day of St. John the Baptist's octave) is a pure temporal
  # continuation with no named secondary saint, so it's excluded, same as
  # every other octave-continuation day this pull has skipped.
  "06-02": [ss-marcellinus-peter-and-erasmus]
  "06-09": [ss-primus-and-felicianus]
  "06-11": [st-barnabas]
  "06-12": [ss-basilides-cyrinus-nabor-and-nazarius]
  "06-13": [st-anthony-of-padua]
  "06-14": [st-basil-the-great]
  "06-15": [ss-vitus-modestus-and-crescentia]
  "06-18": [ss-mark-and-marcellian]
  "06-19": [ss-gervase-and-protase]
  "06-20": [st-silverius]
  "06-22": [st-paulinus-of-nola]
  "06-23": [vigil-of-st-john-the-baptist]
  "06-24": [nativity-of-st-john-the-baptist]
  "06-25": [st-william-abbot]
  "06-26": [ss-john-and-paul]
  "06-28": [st-leo-ii]
  "06-29": [ss-peter-and-paul]
  "06-30": [commemoration-of-st-paul]
  # July — 7/12 of the pre-1955 pull. 07-01 through 07-06 are all pure
  # octave-continuation labels (St. John the Baptist's own octave, then
  # Ss. Peter and Paul's) with no independently named saint at all, so
  # they're excluded, same as every other octave-continuation day this
  # pull has skipped. Five stubs this month, all genuinely unwinnable —
  # see their own files for which fixed-date competitor blocks each.
  "07-10": [ss-seven-brothers-rufina-and-secunda]
  "07-11": [st-pius-i]
  "07-12": [st-john-gualbert, ss-nabor-and-felix]
  "07-13": [st-anacletus]
  "07-14": [st-bonaventure]
  "07-17": [st-alexius]
  "07-18": [ss-symphorosa-and-seven-sons]
  "07-20": [st-margaret-of-antioch]
  "07-21": [st-praxedes]
  "07-22": [st-mary-magdalene]
  "07-23": [st-apollinaris, st-liborius]
  "07-24": [vigil-of-st-james, st-christina]
  "07-25": [st-james-the-greater, st-christopher]
  "07-26": [st-anne]
  "07-27": [st-pantaleon]
  "07-28": [ss-nazarius-celsus-victor-and-innocent]
  "07-29": [st-martha, ss-felix-simplicius-faustinus-and-beatrix]
  "07-30": [ss-abdon-and-sennen]
  # August — 8/12 of the pre-1955 pull. Four pre-existing entries from
  # before this pull initiative (vigil-of-st-lawrence, st-lawrence,
  # assumption, st-augustine) got their propers backfilled this month; see
  # their own files. A genuinely new wrinkle this month: several dates
  # have a real, named secondary saint permanently subordinate to a
  # fixed, non-movable *octave* day (Lawrence's own Aug 10-17 octave, the
  # Assumption's Aug 15-22 octave) or to the fixed Transfiguration (Aug
  # 6) -- octaves and fixed Lord's feasts aren't modeled by this app (a
  # known, explicitly deferred gap), so unlike the "genuinely unwinnable
  # stub" pattern used elsewhere (where both competitors ARE modeled and
  # the engine can correctly show the subordination), these can't be
  # represented without incorrectly letting them win outright. Excluded
  # entirely rather than guessed at: Ss. Xystus/Felicissimus/Agapitus
  # (Aug 6, under the Transfiguration), Ss. Tiburtius and Susanna (Aug
  # 11), St. Clare (Aug 12 -- notable: a genuinely major saint, not an
  # obscure one, caught by this same gap), Ss. Hippolytus and Cassian
  # (Aug 13), St. Agapitus (Aug 18), Ss. Timothy/Hippolytus/Symphorian
  # (Aug 22). Also excluded: Our Lady of the Snows (Aug 5, fixed BVM
  # feast, same convention as Purification/Annunciation).
  "08-01": [st-peter-ad-vincula, ss-machabees]
  "08-02": [st-stephen-i]
  "08-03": [finding-of-st-stephen]
  "08-04": [st-dominic]
  "08-07": [st-donatus]
  "08-08": [ss-cyriacus-largus-and-smaragdus]
  "08-09": [vigil-of-st-lawrence, st-romanus]
  "08-10": [st-lawrence]
  "08-12": [st-clare]
  "08-15": [assumption]
  "08-20": [st-bernard]
  "08-23": [vigil-of-st-bartholomew]
  "08-24": [st-bartholomew]
  "08-25": [st-louis]
  "08-26": [st-zephyrinus]
  "08-28": [st-augustine, st-hermes]
  "08-29": [decollation-of-st-john-baptist, st-sabina]
  "08-30": [ss-felix-and-adauctus]
  # September — 9/12 of the pre-1955 pull. Same octave-gap exclusions as
  # August, this time around the Nativity of the BVM's own Sep 8-15
  # octave: Ss. Gorgonius (Sep 9), Proti and Hyacinthus (Sep 11), and
  # Nicomedes (Sep 15, the octave's own final day) are real named
  # secondaries excluded for the same reason St. Clare was in August.
  # St. Hadrian (Sep 8) is the one exception -- he's blocked by the
  # Nativity's own day, not its octave, and that day IS already a mapped
  # sanctoral entry, so the ordinary collision engine handles him
  # correctly. The Exaltation of the Holy Cross (Sep 14) is excluded as a
  # fixed feast of the Lord, same convention as the Finding of the Holy
  # Cross. St. Nicholas of Tolentino (Sep 10) and St. Januarius (Sep 19)
  # are both monastic-calendar-specific: the former overrides what the
  # base Tridentine table treats as a plain Nativity-octave continuation,
  # the latter is added outright, present in neither the base table nor
  # (for Nicholas) its own octave slot.
  #
  # The pre-existing "09-29": [st-michael] mapping below (added before
  # this pull initiative, sourced from the raw Sancti/09-29.txt file
  # directly rather than a live query) does not appear to hold in this
  # pull's actual target track -- a live kalendar check across 6 different
  # years (2025-2030) shows nothing at all on Sep 29 in "Monastic
  # Tridentinum 1617" (not even a commemoration), and that file's own
  # [Rank] block has no untagged/default entry for this date, only
  # rubric-tagged alternates (tridentina, cisterciensis). The already-
  # correctly-pulled May 8 Apparition of St. Michael (see
  # apparition-of-st-michael.yml) may be this tradition's only real
  # Michaelmas. Kept mapped here anyway as a deliberate, informed
  # simplification (explicit user decision, 2026-08), not an oversight --
  # see st-michael.yml.
  "09-01": [st-giles, ss-twelve-brothers]
  "09-08": [nativity-bvm, st-hadrian]
  "09-10": [st-nicholas-of-tolentino]
  "09-16": [ss-cornelius-and-cyprian, ss-euphemia-lucia-and-geminianus]
  "09-19": [st-januarius]
  "09-20": [vigil-of-st-matthew]
  "09-21": [st-matthew]
  "09-22": [ss-maurice-and-companions]
  "09-23": [st-linus, st-thecla]
  "09-26": [ss-cyprian-and-justina]
  "09-27": [ss-cosmas-and-damian]
  "09-29": [st-michael]
  "09-30": [st-jerome]
  # October — 10/12 of the pre-1955 pull. Three monastic-calendar-specific
  # finds this month, all absent from or overriding the base Tridentine
  # table: Ss. Placid and Companions (Oct 5, St. Benedict's own famous
  # disciple, a high-rank addition), St. Justina (Oct 7, reassigns what
  # the base table gives to St. Marcus, Pope -- see st-justina.yml/
  # st-marcus.yml), and St. Gall (Oct 16, founder of St. Gallen). No
  # octave-gap exclusions this month.
  "10-01": [st-remigius]
  "10-04": [st-francis]
  "10-05": [ss-placid-and-companions]
  "10-07": [st-justina, st-marcus]
  "10-09": [ss-dionysius-and-companions]
  "10-14": [st-callistus]
  "10-16": [st-gall]
  "10-18": [st-luke]
  "10-21": [st-hilarion, ss-ursula-and-companions]
  "10-25": [ss-chrysanthus-and-daria]
  "10-26": [st-evaristus]
  "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]
  # December — 12/12, the final month of the pre-1955 pull. Every
  # non-excluded date this month falls within a season this app now
  # models as `privileged-feria-minor` (Advent through Dec 20, Christmas's
  # own Octave from Dec 26) -- this month's own pull is what surfaced and
  # verified that temporal-category fix (see calendar/types.ts and this
  # repo's commit history). Immaculate Conception's own propers were
  # backfilled this month. Excluded: Dec 24 (Vigil of Christmas) and Dec
  # 25 (Christmas itself) aren't sanctoral entries at all -- Christmas is
  # a fixed-date temporal anchor (see data/calendar/fixed-date-
  # calendar.yml) and its Vigil is a distinct privileged-feria-major
  # temporal category, neither modeled as a saint. St. Eusebius of
  # Vercelli (Dec 15) is a monastic-calendar-specific placement, reached
  # via a same-day redirect notation in M1617.txt rather than a plain
  # date entry. The Vigil of St. Thomas (Dec 20) always lands on Advent's
  # Ember Saturday -- a known Mass-vs-Office simplification, same pattern
  # as September's Vigil of St. Matthew.
  "12-02": [st-bibiana]
  "12-04": [st-barbara]
  "12-05": [st-sabbas]
  "12-06": [st-nicholas]
  "12-07": [st-ambrose]
  "12-08": [immaculate-conception]
  "12-10": [st-melchiades]
  "12-11": [st-damasus]
  "12-13": [st-lucy]
  "12-15": [st-eusebius-of-vercelli]
  "12-20": [vigil-of-st-thomas]
  "12-21": [st-thomas-apostle]
  "12-26": [st-stephen-protomartyr]
  "12-27": [st-john-apostle]
  "12-28": [holy-innocents]
  "12-29": [st-thomas-becket]
  "12-31": [st-silvester-i]
