aboutsummaryrefslogtreecommitdiff
path: root/scripts/gen-sanctoral-ef.go
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-12 13:53:22 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-12 13:53:22 +0200
commit50e39702bad835962b6e9c04253572e5b48a951f (patch)
tree280734635066e5c135a180db549930fa9ddec687 /scripts/gen-sanctoral-ef.go
parentb4d44c88fe3c92c5fb06b43fe94be0049059ef6e (diff)
downloadlectio-50e39702bad835962b6e9c04253572e5b48a951f.tar.gz
lectio-50e39702bad835962b6e9c04253572e5b48a951f.zip
gen-sanctoral-ef: keep the Purification tagged lord -- the brief was wrong here
Disagreement with the task brief, found and corrected before landing, not after: the brief's defect 7 named the Purification (2 February) as "wrongly tagged lord... a BVM feast", citing the calendarium's own title, "IN PURIFICATIONE B. MARIAE VIRG." That citation is accurate -- but the tag's actual job is not naming or colour categorisation, it exists solely to drive one occurrence rule ("a II-class feast of the Lord takes an occurring Sunday's place outright"), and on THAT question the title is not the decisive evidence. Checked directly against missalemeum (this data's own oracle, live, not archival): the Purification takes a II-class Sunday's place OUTRIGHT, commemorations EMPTY (2014-02-02, 2020-02-02, 2025-02-02, all fetched fresh) -- the exact "festum Domini" pattern. Control: the Nativity of the BVM (8 September, an undisputed ordinary Marian feast) on a Sunday (2019-09-08) shows the opposite shape, the Sunday observed and the feast merely commemorated. The Purification's occurrence behaviour does not match an ordinary BVM feast's. Independent corroboration, found while comparing lectio's output against colitur's (the sibling engine this task's brief points to): colitur's own git history shows the identical retag, made and then reversed within the same review cycle it landed in -- cab8b07 "retag the Purification... as BVM, not Lord" (the brief's own reading), followed by 7d3b5ec "follow the oracle on the Purification" (the reversal, on the same live evidence independently re-derived here). That commit records the calendarium-title counter-evidence too and calls it "a genuinely contested point... a different project could reasonably rule the other way" -- not a clean-cut error either direction, but the weight of evidence for THIS tag's actual purpose favours keeping it lord. most-holy-name-of-mary (the OTHER entry the brief named) is untouched by this reversal and stays retagged away from lord -- its own occurrence behaviour matches the ordinary-BVM pattern, not contested by either project. internal/caldata/tridentine-calendar.ini regenerated; only the Purification's class field changes back (empty -> lord), 6 civil days 2005-2050 (every year 2 February falls on a Sunday: 2014, 2020, 2025, 2031, 2042, 2048) revert to matching what the branch point (and colitur's own current state) already had -- net zero change to PUBLISHED output on this specific point relative to before this task started, despite the intermediate wrong-then-reverted state along the way.
Diffstat (limited to 'scripts/gen-sanctoral-ef.go')
-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"),