From 967e911728eefb85dc53065c73c5c5d4cdce6a59 Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Tue, 18 Aug 2026 15:39:48 +0200 Subject: fix(ef): twelve RG 124 colours -- missalemeum has the rule inverted RG 124, "De coloribus paramentorum", section C, 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 twelve of these INVERTED IN BOTH DIRECTIONS: ten confessors, doctors and virgins in red (Ephrem, Julia of Falconieri, John Gualbert, Camillus de Lellis, Jerome Emiliani, Martha, Alphonsus Liguori, Augustine, Rose of Lima, John of San Fecundo), and two actual martyrs in white (Apollinaris and Josaphat, both Bishop and Martyr). Both directions failing is why this reads as one rule applied backwards rather than twelve separate slips, and why they are corrected as a block. Adjudicated by colitur against the scans -- its C18 carries the per-slug reasoning and its M21 the oracle side, verdict colitur. Two of its fourteen, conversion-of-st-paul and chair-of-st-peter, already agreed here. Found by a full-year sweep comparing clectio's output against colitur day by day, not by the patch tool that produced the earlier corrections. That tool reads colitur's sanctoral.sexp directly and so misses everything in adjustments.sexp, the overlay where all twenty of colitur's colour edits actually live -- its SECOND structural blind spot, after temporal days. All twelve go into the generator's missalOverrides table, so regeneration preserves them, and into TestTridentineMissalOverrides, now sixteen pinned fields. Mutation-tested in BOTH directions: reverting a martyr to white and a confessor to red each redden the test with the rubric named. Pinning only one direction would have let a careless "make them all white" fix pass ten of twelve. The oracle allow-list gains one entry covering the twelve dates in both years. --- scripts/gen-sanctoral-ef.go | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'scripts/gen-sanctoral-ef.go') 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 -- cgit v1.3