aboutsummaryrefslogtreecommitdiff
path: root/internal/calendar
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-18 15:39:48 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-18 15:39:48 +0200
commit967e911728eefb85dc53065c73c5c5d4cdce6a59 (patch)
tree70a25aba22fa038ba411e5e3323f5ab42d349047 /internal/calendar
parent4b2e1a1e0d52cba62ab7f80aecf3506c323b47fd (diff)
downloadlectio-967e911728eefb85dc53065c73c5c5d4cdce6a59.tar.gz
lectio-967e911728eefb85dc53065c73c5c5d4cdce6a59.zip
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.
Diffstat (limited to 'internal/calendar')
-rw-r--r--internal/calendar/oracle_ef_test.go31
1 files changed, 31 insertions, 0 deletions
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"