diff options
| -rw-r--r-- | internal/caldata/caldata_test.go | 17 | ||||
| -rw-r--r-- | internal/caldata/tridentine-calendar.ini | 24 | ||||
| -rw-r--r-- | internal/calendar/oracle_ef_test.go | 31 | ||||
| -rw-r--r-- | scripts/gen-sanctoral-ef.go | 39 |
4 files changed, 99 insertions, 12 deletions
diff --git a/internal/caldata/caldata_test.go b/internal/caldata/caldata_test.go index c0e2d50..95bb7dc 100644 --- a/internal/caldata/caldata_test.go +++ b/internal/caldata/caldata_test.go @@ -434,6 +434,23 @@ func TestTridentineMissalOverrides(t *testing.T) { {"didacus", "rank", "class-3", "Missal calendarium: S. Didaci Conf., III classis"}, {"vigil-of-st-lawrence", "colour", "violet", "RG 128: III-class vigil outside Paschaltide"}, {"vigil-of-the-assumption", "colour", "violet", "RG 128: II-class vigil outside Paschaltide"}, + // RG 124: red is for Apostles, Evangelists and Martyrs. missalemeum has + // these inverted in BOTH directions -- confessors and virgins red, two + // actual martyrs white -- which is why both directions are pinned here. + // A fix that turned every one of them white would pass ten of these + // twelve and fail the two that matter. + {"alphonsus-liguori", "colour", "white", "RG 124: not a martyr, so white"}, + {"apollinaris", "colour", "red", "RG 124(e): Bishop and MARTYR, red"}, + {"augustine", "colour", "white", "RG 124: not a martyr, so white"}, + {"camillus-de-lellis", "colour", "white", "RG 124: not a martyr, so white"}, + {"ephrem-of-syria", "colour", "white", "RG 124: not a martyr, so white"}, + {"jerome-emiliani", "colour", "white", "RG 124: not a martyr, so white"}, + {"john-gualbert", "colour", "white", "RG 124: not a martyr, so white"}, + {"john-of-san-fecundo", "colour", "white", "RG 124: not a martyr, so white"}, + {"josaphat", "colour", "red", "RG 124(e): Bishop and MARTYR, red"}, + {"julia-of-falconieri", "colour", "white", "RG 124: not a martyr, so white"}, + {"martha", "colour", "white", "RG 124: not a martyr, so white"}, + {"rose-of-lima", "colour", "white", "RG 124: not a martyr, so white"}, } { rc, ok := l.Cels[c.slug] if !ok { diff --git a/internal/caldata/tridentine-calendar.ini b/internal/caldata/tridentine-calendar.ini index 51b931a..54c8aa2 100644 --- a/internal/caldata/tridentine-calendar.ini +++ b/internal/caldata/tridentine-calendar.ini @@ -1053,7 +1053,7 @@ name.pl = śś. Bazylidesa, Cyryna, Nabora i Nazariusza, Męczenników [john-of-san-fecundo] date = 06-12 rank = class-3 -colour = red +colour = white name.en = St. John of San Fecundo name.pl = św. Jana z Facundo, Wyznawcy reading.first = Sir 31:8-11 @@ -1096,7 +1096,7 @@ reading.gospel = Matt 25:14-23 [ephrem-of-syria] date = 06-18 rank = class-3 -colour = red +colour = white name.en = St. Ephrem of Syria name.pl = św. Efrema, Diakona, Wyznawcy i Doktora Kościoła reading.first = 2 Tim 4:1-8 @@ -1112,7 +1112,7 @@ name.pl = śś. Marka i Marcelina, Męczenników [julia-of-falconieri] date = 06-19 rank = class-3 -colour = red +colour = white name.en = St. Julia of Falconieri name.pl = św. Juliany Falconieri, Dziewicy reading.first = 2 Cor 10:17-18; 11:1-2 @@ -1294,7 +1294,7 @@ name.pl = św. Piusa I, Papieża i Męczennika [john-gualbert] date = 07-12 rank = class-3 -colour = red +colour = white name.en = St. John Gualbert name.pl = św. Jana Gwalberta, Opata reading.first = Ecclus 45:1-6 @@ -1342,7 +1342,7 @@ name.pl = św. Aleksego, Wyznawcy [camillus-de-lellis] date = 07-18 rank = class-3 -colour = red +colour = white name.en = Camillus de Lellis name.pl = św. Kamila de Lellis reading.first = 1 John 3:13-18. @@ -1367,7 +1367,7 @@ reading.gospel = Luke 10:1-9 [jerome-emiliani] date = 07-20 rank = class-3 -colour = red +colour = white name.en = St. Jerome Emiliani name.pl = św. Hieronima Emiliani, Wyznawcy reading.first = Isa 58:7-11 @@ -1408,7 +1408,7 @@ reading.gospel = Luke 7:36-50 [apollinaris] date = 07-23 rank = class-3 -colour = white +colour = red name.en = St. Apollinaris name.pl = św. Apolinarego, Biskupa i Męczennika reading.first = 1 Pet. 5:1-11 @@ -1479,7 +1479,7 @@ name.pl = śś. Feliksa, Symplicjusza, Faustyna i Beatryczy, Męczenników [martha] date = 07-29 rank = class-3 -colour = red +colour = white name.en = St. Martha name.pl = św. Marty, Dziewicy reading.first = 2 Cor 10:17-18; 11:1-2 @@ -1511,7 +1511,7 @@ name.pl = Siedmiu Braci Machabejskich, Męczenników [alphonsus-liguori] date = 08-02 rank = class-3 -colour = red +colour = white name.en = St. Alphonsus Liguori name.pl = św. Alfonsa Marii Liguori, Biskupa, Wyznawcy i Doktora Kościoła reading.first = 2 Tim. 2:1-7 @@ -1777,7 +1777,7 @@ reading.gospel = Matt 18:1-5 [augustine] date = 08-28 rank = class-3 -colour = red +colour = white name.en = St. Augustine name.pl = św. Augustyna, Biskupa, Wyznawcy i Doktora Kościoła reading.first = 2 Tim 4:1-8 @@ -1809,7 +1809,7 @@ name.pl = św. Sabiny, Męczennicy [rose-of-lima] date = 08-30 rank = class-3 -colour = red +colour = white name.en = St. Rose of Lima name.pl = św. Róży z Limy, Dziewicy reading.first = 2 Cor 10:17-18; 11:1-2 @@ -2435,7 +2435,7 @@ name.pl = św. Dydaka, Wyznawcy [josaphat] date = 11-14 rank = class-3 -colour = white +colour = red name.en = St. Josaphat name.pl = św. Jozafata, Biskupa i Męczennika reading.first = Heb 5:1-6 diff --git a/internal/calendar/oracle_ef_test.go b/internal/calendar/oracle_ef_test.go index 47983c9..b74d935 100644 --- a/internal/calendar/oracle_ef_test.go +++ b/internal/calendar/oracle_ef_test.go @@ -128,6 +128,37 @@ type efAllow struct { var efAllowList = []efAllow{ { + // RG 124, "De coloribus paramentorum", section C "De colore rubro", + // both photographic scans word for word: 124(b) gives red to + // "Sanctorum Apostolorum et Evangelistarum, in eorum die natalicio, + // excepto festo S. Ioannis (27 decembris)", and 124(e) to "Sanctorum + // Martyrum, quorum colitur aut martyrium". Red is for Apostles, + // Evangelists and Martyrs; a Confessor, Doctor or non-martyr Virgin is + // white. + // + // missalemeum has these INVERTED IN BOTH DIRECTIONS -- ten confessors + // and virgins in red, and two actual martyrs (Apollinaris and + // Josaphat, both Bishop and Martyr) in white. Both directions failing + // is why this is read as a systematic upstream error rather than a + // judgement call: a rule applied backwards, not a series of + // individual mistakes. + // + // colitur adjudicated the same fourteen slugs against the scans (its + // C18 carries the per-slug reasoning, its M21 the oracle side, verdict + // colitur). Twelve are corrected here; conversion-of-st-paul and + // chair-of-st-peter already agreed. + match: func(date string, day time.Time, o efOracleDay) bool { + switch date[5:] { + case "06-12", "06-18", "06-19", "07-12", "07-18", "07-20", + "07-23", "07-29", "08-02", "08-28", "08-30", "11-14": + return true + } + return false + }, + field: "colour", + reason: "RG 124: red is for Apostles, Evangelists and Martyrs; missalemeum has ten confessors/virgins red and two martyrs white, inverted in both directions (colitur C18/M21)", + }, + { // The 1962 Missal's own universal CALENDARIUM ranks both of these as // bare III-class feasts, with no commemoration rubric: "S. Ubaldi Ep. // et Conf., III classis" (16 May) and "S. Didaci Conf., III classis" diff --git a/scripts/gen-sanctoral-ef.go b/scripts/gen-sanctoral-ef.go index ba4d9ce..39826fc 100644 --- a/scripts/gen-sanctoral-ef.go +++ b/scripts/gen-sanctoral-ef.go @@ -333,6 +333,45 @@ var missalOverrides = []missalOverride{ `RG 128, same rule; 14 August is a II-class vigil outside Paschaltide. ` + `The rule's sole exception is the Ascension's vigil, INSIDE Paschaltide, ` + `which is white and is deliberately not listed here`}, + + // RG 124, "De coloribus paramentorum", section C "De colore rubro", both + // photographic scans word for word: 124(b) gives red to "Sanctorum + // Apostolorum et Evangelistarum, in eorum die natalicio, excepto festo S. + // Ioannis (27 decembris)", and 124(e) to "Sanctorum Martyrum, quorum + // colitur aut martyrium". Red is therefore for Apostles, Evangelists and + // Martyrs; a Confessor, Doctor or non-martyr Virgin is white. + // + // missalemeum has these twelve INVERTED IN BOTH DIRECTIONS -- ten + // confessors and virgins in red, and two actual martyrs in white -- which + // is the signature of a systematic upstream error rather than a judgement + // call, and is why they are corrected as a block. colitur adjudicated the + // same fourteen slugs against the scans (its C18 carries the per-slug + // reasoning, its M21 the oracle side); the two not listed here, + // conversion-of-st-paul and chair-of-st-peter, already agree. + {"alphonsus-liguori", "colour", "white", + `RG 124 not a martyr (Confessor/Virgin/Doctor) -- RG 124 gives red only to Apostles, Evangelists and Martyrs, so white`}, + {"apollinaris", "colour", "red", + `RG 124 Bishop and MARTYR -- RG 124(e), red`}, + {"augustine", "colour", "white", + `RG 124 not a martyr (Confessor/Virgin/Doctor) -- RG 124 gives red only to Apostles, Evangelists and Martyrs, so white`}, + {"camillus-de-lellis", "colour", "white", + `RG 124 not a martyr (Confessor/Virgin/Doctor) -- RG 124 gives red only to Apostles, Evangelists and Martyrs, so white`}, + {"ephrem-of-syria", "colour", "white", + `RG 124 not a martyr (Confessor/Virgin/Doctor) -- RG 124 gives red only to Apostles, Evangelists and Martyrs, so white`}, + {"jerome-emiliani", "colour", "white", + `RG 124 not a martyr (Confessor/Virgin/Doctor) -- RG 124 gives red only to Apostles, Evangelists and Martyrs, so white`}, + {"john-gualbert", "colour", "white", + `RG 124 not a martyr (Confessor/Virgin/Doctor) -- RG 124 gives red only to Apostles, Evangelists and Martyrs, so white`}, + {"john-of-san-fecundo", "colour", "white", + `RG 124 not a martyr (Confessor/Virgin/Doctor) -- RG 124 gives red only to Apostles, Evangelists and Martyrs, so white`}, + {"josaphat", "colour", "red", + `RG 124 Bishop and MARTYR -- RG 124(e), red`}, + {"julia-of-falconieri", "colour", "white", + `RG 124 not a martyr (Confessor/Virgin/Doctor) -- RG 124 gives red only to Apostles, Evangelists and Martyrs, so white`}, + {"martha", "colour", "white", + `RG 124 not a martyr (Confessor/Virgin/Doctor) -- RG 124 gives red only to Apostles, Evangelists and Martyrs, so white`}, + {"rose-of-lima", "colour", "white", + `RG 124 not a martyr (Confessor/Virgin/Doctor) -- RG 124 gives red only to Apostles, Evangelists and Martyrs, so white`}, } // applyMissalOverrides rewrites the harvested entries in place and reports |
