aboutsummaryrefslogtreecommitdiff
path: root/lib/rites/rite_ef/precedence_ef.mli
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-22 12:01:48 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-22 12:02:01 +0200
commitd4682c13161b62bc83eaae37790493f670d39c01 (patch)
tree84cf7e536b5bd73cd6c93d7426fa2003cd02abdc /lib/rites/rite_ef/precedence_ef.mli
parentfd8a4f115d3c62450368cf9b3fed5705ce78e805 (diff)
downloadcolitur-d4682c13161b62bc83eaae37790493f670d39c01.tar.gz
colitur-d4682c13161b62bc83eaae37790493f670d39c01.zip
feat(ef): the Creed, RG 475-476
Whether the Creed is said at Mass. New Rubrics_ef.creed, reached through a new Rite.t.creed field and a new Liturgical_day.t.creed bool (false, not an option, for a rite that has not implemented the rule); colitur rubrics gains a fourth TAB-separated column. 475(a) reads the TEMPORAL cycle's own weekday, not the observed day: a Sunday impeded by a Feast of the Lord (RG 16a) still says the Creed. 475(d)'s three octaves (Nativity, Easter, Pentecost) are pure date/ Easter-offset windows, checked first, since a saint's feast winning the day inside one of them still says the Creed ("etiam in festis occurrentibus") -- St Stephen, 26 December, is the live witness. RG 23 classifies Ash Wednesday and every feria of Holy Week (including the Sacred Triduum) as feriae, not festa, however high their rank, so 475(b)/(c)'s "in festis" never reaches them; this single check subsumes 476(a)'s own naming of the Chrism/Lord's-Supper Mass and the Easter Vigil. RG 28-34 vigils are a third liturgical-day category, also excluded from "in festis" regardless of rank -- reuses the already- exported Precedence_ef.is_vigil rather than a new list. 475(e)'s Apostle/Evangelist natalicia list (creed_apostle_slugs) was derived by grepping data/ef/sanctoral.sexp directly and checking each candidate's own date against whether it is that saint's dies natalis -- not copied from any list supplied with the task. The Conversion of St Paul and the 30 June Commemoration of St Paul are excluded (neither is a natalicium); the Chair of St Peter and St Barnabas are included only because the clause names them explicitly, which is exactly why it has to: neither is a natalicium either. 475(c)'s BVM half reuses Precedence_ef.marian_slugs (newly exported) rather than the subject field alone: checked against the shipped data, almost every Marian sanctoral entry ships subject=Saint, not Bvm. man/colitur.1's rubrics section is updated to match the new column; test/cli.t repinned via dune promote for the same reason. Verified day/readings output byte-identical to v0.10.1 across the whole 1583-9999 domain (both binaries' concatenated day+readings output, 6,148,492 lines each, zero diff). Domain-wide: 882,996 days say the Creed, 2,191,250 do not; every one of the domain's 439,178 Sundays says it, zero exceptions.
Diffstat (limited to 'lib/rites/rite_ef/precedence_ef.mli')
-rw-r--r--lib/rites/rite_ef/precedence_ef.mli16
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/rites/rite_ef/precedence_ef.mli b/lib/rites/rite_ef/precedence_ef.mli
index 4c2523a..0100d40 100644
--- a/lib/rites/rite_ef/precedence_ef.mli
+++ b/lib/rites/rite_ef/precedence_ef.mli
@@ -132,6 +132,22 @@ val sunday_marker : string
recognising a live candidate again. *)
val major_litanies_slug : string
+(** RG 112(d)'s own closed, hand-verified list of sanctoral entries that are
+ themselves a feast/commemoration OF the Blessed Virgin Mary in her own
+ right -- see the .ml's own citation for the full derivation and the
+ entries considered and excluded. A celebration is "of the BVM" for
+ {!disposition}'s RG 112(d) branch when its [subject] is [Subject.Bvm] OR
+ its slug is on this list ({!Celebration.t}'s [subject] field is NOT
+ reliably [Bvm] for most Marian sanctoral entries -- bootstrapped from
+ lectio, most carry [Saint] instead, this list is the reliable signal).
+
+ Exposed (task 5, the Creed, RG 475(c) "festis II classis... B. Mariae
+ Virg.") so a second rite-local consumer can test the identical
+ Marian-identity question without re-deriving its own list and risking
+ drift from this one -- the same reasoning {!vigil_feast_table} and
+ {!is_vigil} are already exposed for. *)
+val marian_slugs : string list
+
(** [disposition ~winner ~loser]: RG 92-95, 33, 21-27, 94 (docs/research/
rules-register.md ยง4, "Occurrence", "Vigils" and "Caput IV, 'De
feriis'"). What becomes of a losing candidate, decided by the LOSER's