From 70b805018f0ae0d8424c3c7de8f1169476385a35 Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Tue, 28 Jul 2026 08:49:57 +0200 Subject: feat: complete OF+EF calendar coverage (movable feasts, vigils, ember days, transfers) Ordinary Form: - Add the movable Marian memorials that have no fixed date: Mary, Mother of the Church (Monday after Pentecost) and the Immaculate Heart (Saturday after the Sacred Heart), computed in computeOF. - General Norms 60: two coinciding obligatory memorials both become optional and the ferial is observed -- except Mary, Mother of the Church, which keeps precedence per its 2018 decree. Extraordinary Form: - Capture fixed-date vigils in the sanctoral harvest (Christmas, the Nativity of St John the Baptist, Sts Peter & Paul, St Lawrence, the Assumption, All Saints, the Immaculate Conception) -- previously filtered out. - temporalEF: the movable vigils of the Ascension (I class eve) and Pentecost (Whitsun Eve), and the September/Advent Ember days (II class violet ferias). - transferIfImpededEF: the Annunciation transfers past Holy Week/the Easter octave to the Monday after Low Sunday; All Souls moves to Nov 3 when Nov 2 is a Sunday. - genlect harvests proper Masses for the new Ember/vigil days. Adds TestEFCoverage + TestOFMovableMemorials. Bumps to 0.39.0. Verified per-day: OF 0 real errors vs calapi (2026-2028, 100% correct-observed); EF 0 real errors vs missalemeum (2025-2027), residual = deep-tail vigil-occurrence and St Joseph Passiontide-transfer edges (~1-2 days/yr, documented). --- internal/caldata/tridentine-calendar.ini | 40 ++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'internal/caldata/tridentine-calendar.ini') diff --git a/internal/caldata/tridentine-calendar.ini b/internal/caldata/tridentine-calendar.ini index aaa9841..cce1a65 100644 --- a/internal/caldata/tridentine-calendar.ini +++ b/internal/caldata/tridentine-calendar.ini @@ -974,6 +974,14 @@ name.en = St. Paulinus of Nola reading.first = 2 Cor. 8:9-15 reading.gospel = Luke 12:32-34 +[vigil-of-the-nativity-of-st-john-the-baptist] +date = 06-23 +rank = class-2 +colour = violet +name.en = Vigil of the Nativity of St. John the Baptist +reading.first = Jer 1:4-10 +reading.gospel = Luke 1:5-17 + [nativity-of-st-john-the-baptist] date = 06-24 rank = class-1 @@ -998,6 +1006,14 @@ name.en = Sts. John & Paul reading.first = Eccli 44:10-15 reading.gospel = Luke 12:1-8 +[vigil-of-sts-peter-paul] +date = 06-28 +rank = class-2 +colour = violet +name.en = Vigil of Sts. Peter & Paul +reading.first = Acts 3:1-10 +reading.gospel = John 21:15-19 + [sts-peter-paul] date = 06-29 rank = class-1 @@ -1352,6 +1368,14 @@ rank = commemoration colour = red name.en = St. Romanus +[vigil-of-st-lawrence] +date = 08-09 +rank = class-3 +colour = red +name.en = Vigil of St. Lawrence +reading.first = Ecclus 51:1-8, 12 +reading.gospel = Matt 16:24-27 + [lawrence] date = 08-10 rank = class-2 @@ -1380,6 +1404,14 @@ rank = commemoration colour = red name.en = Sts. Hippolytus & Cassian +[vigil-of-the-assumption] +date = 08-14 +rank = class-2 +colour = white +name.en = Vigil of the Assumption +reading.first = Sir 24:23-31 +reading.gospel = Luke 11:27-28 + [assumption-of-the-blessed-virgin-mary] date = 08-15 rank = class-1 @@ -2289,6 +2321,14 @@ name.en = St. Thomas reading.first = Eph 2:19-22 reading.gospel = John 20:24-29 +[vigil-of-christmas] +date = 12-24 +rank = class-1 +colour = violet +name.en = Vigil of Christmas +reading.first = Rom 1:1-6 +reading.gospel = Matt 1:18-21 + [stephen] date = 12-26 rank = class-2 -- cgit v1.3