From 4855ef2a667b7ea71092e0582db5aff1838a0d63 Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Wed, 5 Aug 2026 22:24:53 +0200 Subject: calendar/readings: report Sunday as its own display rank, not solemnity The Ordinary Form's Table of Liturgical Days treats Sunday as its own category, never a solemnity. temporal.go's sundayDay() already marks these days distinctly from named solemnities (Class stays unset, unlike solemn()'s ClassLord); internal/readings/offline.go now reads that existing signal to relabel the REPORTED rank to "sunday" for ordinary and privileged-season Sundays alike, leaving Celebration.Rank, ofRankOrder and all precedence untouched. Named solemnities landing on a Sunday (Easter, Pentecost, ...) and feasts of the Lord (Holy Family) keep reporting their own rank. The 1962 form is untouched. Added calendar.RankSunday (display-only, deliberately excluded from ofRankOrder), the i18n Sunday/niedziela words, and a test pinning the exact dates from the original bug report. --- internal/calendar/types.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'internal/calendar') diff --git a/internal/calendar/types.go b/internal/calendar/types.go index 298e49d..6d828f1 100644 --- a/internal/calendar/types.go +++ b/internal/calendar/types.go @@ -17,6 +17,18 @@ const ( RankFeast Rank = "feast" // RankSolemnity Rank = "solemnity" // + // RankSunday is a DISPLAY-ONLY rank: in the 1969 Universal Norms' Table of + // Liturgical Days, Sunday is its own category, never a solemnity (Sundays + // of Christmas Time/Ordinary Time are band 6, below feasts of the Lord; + // Sundays of Advent/Lent/Easter are band 2, above solemnities -- a flat + // Rank cannot express both bands, and this constant does not try to). + // Nothing in this package ever assigns it to Celebration.Rank, and it MUST + // NOT be added to ofRankOrder below: ofRankOrder's default case (0, + // ferial-level) would make every Sunday lose every precedence contest. + // Callers that want it derive it themselves from the already-computed, + // unchanged Celebration (see internal/readings/offline.go's displayRank). + RankSunday Rank = "sunday" + // Extraordinary Form ranks (1960 Code of Rubrics): I-IV class + commemoration. RankClass1 Rank = "class-1" RankClass2 Rank = "class-2" -- cgit v1.3