summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/gen-sanctoral-ef.go35
1 files changed, 28 insertions, 7 deletions
diff --git a/scripts/gen-sanctoral-ef.go b/scripts/gen-sanctoral-ef.go
index e5392d3..75ee70d 100644
--- a/scripts/gen-sanctoral-ef.go
+++ b/scripts/gen-sanctoral-ef.go
@@ -118,17 +118,37 @@ func rankOf(n int) calendar.Rank {
// feasts of the same class are only commemorated on a Sunday, so they need no
// marker.
//
-// Two substring checks are deliberately narrower than they once were, and one
-// is new, all found by checking the calendarium's own verbatim titles
-// (missale-romanum-1962.pdf) against what this function produced:
-// - "purification" is NOT a lord check at all -- the calendarium's own
-// title is "IN PURIFICATIONE B. MARIAE VIRG.", a feast of the BLESSED
-// VIRGIN, not the Lord. It was wrongly matching here.
+// Two substring checks were narrowed, and one is new, found by checking the
+// calendarium's own verbatim titles (missale-romanum-1962.pdf) against what
+// this function produced -- but "purification" is a THIRD, DELIBERATELY
+// DIFFERENT case, kept matching rather than narrowed, and the reason is
+// itself worth recording:
+// - "purification" IS kept as a lord match, even though the calendarium's
+// own title is "IN PURIFICATIONE B. MARIAE VIRG." (a feast of the BLESSED
+// VIRGIN by name). The tag's actual job here is not naming/colour
+// categorisation -- it exists solely to drive the occurrence rule
+// ("a II-class feast of the Lord takes an occurring Sunday's place
+// outright"), and on THAT question the calendarium's title is not the
+// decisive evidence: missalemeum -- the same oracle this generator's own
+// data is bootstrapped from -- shows the Purification taking a II-class
+// Sunday's place OUTRIGHT with commemorations EMPTY (confirmed live,
+// 2014-02-02, 2020-02-02, 2025-02-02), the exact "festum Domini" pattern,
+// not the ordinary-BVM-feast pattern (control: the Nativity of the BVM,
+// 8 September, on a Sunday -- 2019-09-08 -- shows the SUNDAY observed,
+// the feast merely commemorated, the opposite shape). An earlier version
+// of this comment (and this codebase) untagged it on the calendarium's
+// title alone; that was reversed after the same live check colitur's own
+// review independently ran (colitur git history: cab8b07 retags it BVM,
+// then 7d3b5ec reverses that "follow the oracle... a different project
+// could reasonably rule the other way on the same evidence" -- recorded
+// as a genuinely contested point, not a clean-cut error, but the
+// occurrence-behaviour evidence is what this tag is FOR).
// - "holy name" alone is ambiguous: it matches BOTH "Holy Name of Jesus"
// (a feast of the Lord) and "Most Holy Name of Mary"/"Holy Name of Mary"
// (a feast of the BVM, calendarium: "Sanctissimi Nominis Mariae") --
// wrongly matching the latter too. Excluded whenever the title also
-// names Mary.
+// names Mary. Unlike the Purification, this one is NOT contested: its
+// occurrence behaviour matches the ordinary-BVM pattern too.
// - "baptism" is a new case: "Commemoration of the Baptism of the Lord" (13
// January, calendarium: "IN COMMEMORATIONE BAPTISMATIS D. N. I. C.") did
// not match any existing case -- the HasSuffix check below requires "of
@@ -139,6 +159,7 @@ func classOf(en string) string {
switch {
case strings.Contains(l, "holy cross"), // Exaltation / Finding of the Holy Cross
strings.Contains(l, "transfiguration"),
+ strings.Contains(l, "purification"), // the Presentation of the Lord -- occurrence-behaviour evidence, see doc comment
strings.Contains(l, "precious blood"),
strings.Contains(l, "baptism"),
strings.Contains(l, "holy name") && !strings.Contains(l, "mary"),