diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-18 17:02:47 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-18 17:02:47 +0200 |
| commit | 9572942a0db4a89aaddd42cd33182d44a6e1fefb (patch) | |
| tree | 48ec2621fed89b561e15d60da7ada37ad7ff60d5 /internal/caldata | |
| parent | 74d557580e747cf309b8217d34ab6b9336939fca (diff) | |
| download | lectio-9572942a0db4a89aaddd42cd33182d44a6e1fefb.tar.gz lectio-9572942a0db4a89aaddd42cd33182d44a6e1fefb.zip | |
feat(ef): the Most Holy Name of Jesus, and the ferias of 2-5 January
RG 17(a): "festum Ss.mi Nominis Iesu, celebrandum dominica quae occurrit a die
2 ad 5 ianuarii, secus die 2 ianuarii." The Most Holy Name is kept on the
Sunday falling 2-5 January and, when no Sunday falls in that window, on 2
January instead. lectio built neither shape, so the day was an ordinary Sunday
within the octave and read Gal 4:1-7.
The FALLBACK matters more than it looks. The window is four days wide, so in
about three years in seven no Sunday lands in it -- in those years there was no
Holy Name office at all, a missing II-class feast rather than a misnamed one.
The test pins both shapes, checks the fallback does NOT also fire in a year
where the Sunday carries the feast, and asserts across 2005-2050 that every
year gets it exactly once by one shape or the other.
Separately, the ferial days of that window get their own Mass. The Missal's
rubric at the feast says it directly: "Diebus ferialibus a 2 ad 5 ianuarii
Missa dicitur ut die 1 ianuarii" -- the Circumcision's Mass, Titus 2:11-15 /
Luke 2:21. They had been falling through to the Sunday within the octave.
Ferial only, and the exclusions are the interesting part: the Sunday carries
the Holy Name and its own Mass, and an unoccupied Saturday carries Our Lady's
office and hers. 3 January 2026 is such a Saturday and correctly reads
Titus 3:4-7, not 2:11-15 -- which works because the BVM check runs first.
All four days of 2-5 January 2026 now match colitur.
Diffstat (limited to 'internal/caldata')
| -rw-r--r-- | internal/caldata/readings.go | 34 | ||||
| -rw-r--r-- | internal/caldata/tridentine-lectionary.ini | 11 |
2 files changed, 45 insertions, 0 deletions
diff --git a/internal/caldata/readings.go b/internal/caldata/readings.go index 44d1bc1..d082e26 100644 --- a/internal/caldata/readings.go +++ b/internal/caldata/readings.go @@ -63,6 +63,9 @@ func Readings(sel calendar.Selection, layers []calendar.Layer, date time.Time, d if r := efNativityOctaveReadings(day); len(r) > 0 { return r } + if r := efEpiphanytideOpeningReadings(day); len(r) > 0 { + return r + } if r := TemporalReadings("old", day.Observed.Slug); len(r) > 0 { return r } @@ -188,3 +191,34 @@ func efNativityOctaveReadings(day calendar.LiturgicalDay) []calendar.Reading { {Part: "gospel", Citation: "Luke 2:15-20"}, } } + +// efEpiphanytideOpeningReadings returns the Mass of a FERIAL day from 2 to 5 +// January. +// +// The Missal's rubric at the Most Holy Name of Jesus says so directly: +// "Diebus ferialibus a 2 ad 5 ianuarii Missa dicitur ut die 1 ianuarii" -- on +// the ferial days from the 2nd to the 5th of January, the Mass of 1 January +// (the Circumcision) is said. Titus 2:11-15 / Luke 2:21. +// +// Without this the days fell back through the walk-back to the Sunday within +// the Octave of the Nativity and read Gal 4:1-7 instead. +// +// FERIAL days only, which excludes two things on purpose. The Sunday in that +// window carries the Holy Name (RG 17(a)) and has its own Mass; and an +// otherwise-unoccupied Saturday carries Our Lady's office (RG 78) and hers, +// which is why the BVM check runs before this one and why 3 January 2026 -- +// a Saturday -- correctly reads Titus 3:4-7 rather than 2:11-15. +func efEpiphanytideOpeningReadings(day calendar.LiturgicalDay) []calendar.Reading { + if day.Date.Month() != time.January || day.Date.Day() < 2 || day.Date.Day() > 5 { + return nil + } + // The feria, not a feast or a Sunday that outranks it: the observed office + // must still be the temporal ferial one. + if !strings.HasPrefix(day.Observed.Slug, "ef-christmas-") || day.Weekday == time.Sunday { + return nil + } + return []calendar.Reading{ + {Part: "first", Citation: "Titus 2:11-15"}, + {Part: "gospel", Citation: "Luke 2:21"}, + } +} diff --git a/internal/caldata/tridentine-lectionary.ini b/internal/caldata/tridentine-lectionary.ini index ff39604..9190941 100644 --- a/internal/caldata/tridentine-lectionary.ini +++ b/internal/caldata/tridentine-lectionary.ini @@ -601,3 +601,14 @@ gospel = John 18:1-40; 19:1-42 [ef-passiontide-2-saturday] first = Col 3:1-4 gospel = Matt 28:1-7 + +; The Most Holy Name of Jesus (RG 17(a)), both shapes -- the Sunday falling +; 2-5 January and, in the years when no Sunday does, 2 January itself. +; Citations verified by colitur against both photographic scans. +[ef-holy-name-sunday] +first = Acts 4:8-12 +gospel = Luke 2:21 + +[ef-holy-name] +first = Acts 4:8-12 +gospel = Luke 2:21 |
