diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/rites/rite_of/precedence_of.ml | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/lib/rites/rite_of/precedence_of.ml b/lib/rites/rite_of/precedence_of.ml index 5344374..0e2c246 100644 --- a/lib/rites/rite_of/precedence_of.ml +++ b/lib/rites/rite_of/precedence_of.ml @@ -124,6 +124,87 @@ let is_nativity_octave_day (ctx : Vocab_of.season Precedence.context) = let is_lenten_feria (ctx : Vocab_of.season Precedence.context) = ctx.season = Vocab_of.Lent +(* W3 (of-known-wrongs, 2026-08-26). Both are shipped MOVABLE obligatory + memorials of the BVM (data/of/calendar-2002.sexp: [immaculate-heart-of-mary], + Easter_offset 69; data/of/amendments/006-mary-mother-of-the-church.sexp: + [mary-mother-of-the-church], Easter_offset 50), and both can land on a + FIXED obligatory memorial's own date in a real year -- confirmed, not + merely possible: e.g. 2011-06-13 (Mater Ecclesiae vs Anthony of Padua) and + 2015-06-13 (Immaculate Heart vs Anthony of Padua, three years apart via + the other offset). Both candidates then band identically at Tabula + III.10 (100, both universal Memoria_obligatoria) -- a tie {!band} could + not break on its own, so {!Colitur_kernel.Precedence.resolve}'s kernel + tie-break (Slug.compare, alphabetical) silently decided instead: 892 days + for Mater Ecclesiae and 1109 for the Immaculate Heart across 1583-9999 + (measured with the fix applied and compared against the plain alphabetical + order every one of those days would otherwise have taken -- see this + task's own report for the full sweep). + + NEITHER of colitur's two checked primary sources resolves this: the 2018 + decree inscribing Mater Ecclesiae (AAS 110, 437-438) is silent on + universal-calendar coincidence (its own coincidence clause covers only a + PARTICULAR calendar keeping the celebration on a different day at a + higher grade); Normae n. 14's third clause ("Si eodem die plures + inscribuntur in calendario memoriae ad libitum, una tantum celebrari + potest, omissis ceteris.") resolves only memoriae AD LIBITUM colliding + with each other, and n. 14's second clause covers only the Lenten-feria + case. Two OBLIGATORY memorials colliding is genuinely unaddressed by + either. + + RESOLVED on a THIRD, later primary source, found by searching the + corpus (docs/research/of/), not invented: the Congregation for Divine + Worship and the Discipline of the Sacraments' own "Notification on the + Memorial of the Blessed Virgin Mary, Mother of the Church" (24 March + 2018 -- the SAME dicastery, the SAME two signatories, Robertus Card. + Sarah [Praefectus] and Arturus Roche [Archiepiscopus a Secretis], as the + 11 February 2018 decree itself). Published only on the Dicastery's own + site (vatican.va/roman_curia/congregations/ccdds/documents/ + rc_con_ccdds_doc_20180324_notificazione-mater-ecclesiae_{en,it,la,sp}.html); + confirmed NOT listed in the AAS 2018 combined index + (docs/research/of/aas-indices/aas-indice2018.pdf, checked directly via + pdftotext) alongside the decree it follows up, which IS indexed there + (p.437) -- so this is a genuine dicasterial clarification, not an AAS + promulgation, and is cited as such rather than papered over as "AAS n.". + Its own operative Latin: "In casu occurrentiae huius memoriae cum alia + memoria principia generalia normarum universalium de Anno liturgico et + de Calendario (cf. Tabula dierum liturgicorum, n. 60) sequenda sunt. Cum + autem memoria B.M.V. Ecclesiae Matris sit Pentecoste coniuncta, sicut + pariter memoria Immaculati Cordis B.M.V. celebrationi Sacratissimi + Cordis Iesu coniuncta est, in casu occurrentiae cum alia memoria + alicuius Sancti vel Beati, iuxta liturgicam traditionem praestantiae + inter personas, memoria B.M.V. praevalere debet." The Dicastery's own + official English: "In the case where this Memorial coincides with + another Memorial the principles of the Universal Norms... are to be + followed (cf. Table of Liturgical Days, n. 60). Given that the Memorial + of the Blessed Virgin Mary, Mother of the Church is linked to Pentecost, + as the Memorial of the Immaculate Heart of the Blessed Virgin Mary is + similarly linked to the celebration of the Most Sacred Heart of Jesus, + then, in the case where it coincides with another Memorial of a Saint or + Blessed, and following the liturgical tradition of pre-eminence amongst + persons, the Memorial of the Blessed Virgin Mary is to prevail." The + Notification itself names BOTH memorials by this same analogy -- Mater + Ecclesiae's own rule IS the Immaculate Heart's pre-existing one, restated + -- so both are listed here, not only the one this task's own defect + report was filed against. + + THIS IS THEREFORE A RUBRIC, NOT COLITUR'S OWN REASONED CHOICE: a + primary, dicastery-issued clarification of universal application, not an + analogy imported from the EF's own RG 91 entry 14 (which was the + fallback this task's brief authorized if nothing resolving turned up). + + Implemented as a sub-rank strictly BETWEEN Tabula entries 9 and 10 (95, + not 100/110) -- the same "fits between neighbours" technique this + module's own header comment documents for exactly this situation. Never + climbs above entries 1-9: neither memorial's own date range (Easter+50 = + 11 May-14 June; Easter+69 = 30 May-3 July) can ever reach a Tabula 1-9 + day, so 95 is inert there. Deliberately NOT a [subject = Bvm] rule: the + Notification's own reasoning is specifically that EACH of these two + memorials is tied to a movable SOLEMNITY OF THE LORD (Pentecost, the + Sacred Heart) -- a FIXED BVM memorial (e.g. Our Lady of Guadalupe, 12 + December) gets no such boost, because nothing in the Notification's own + text extends this to Marian memorials in general. *) +let movable_bvm_memorials = [ "mary-mother-of-the-church"; "immaculate-heart-of-mary" ] + let band (ctx : Vocab_of.season Precedence.context) (c : Vocab_of.rank Precedence.candidate) : int = let temporal = c.Precedence.origin = Precedence.Temporal in @@ -191,6 +272,12 @@ let band (ctx : Vocab_of.season Precedence.context) temporal && (is_late_advent_feria ctx || is_nativity_octave_day ctx || is_lenten_feria ctx) then 90 (* Tabula II.9 *) + else if + c.cel.rank = Vocab_of.Memoria_obligatoria && List.mem (slug_of c) movable_bvm_memorials + then + 95 (* Between Tabula 9 and 10 -- W3, see [movable_bvm_memorials]'s own + comment above for the Notification this cites and why it is + scoped to these two slugs rather than [subject = Bvm]. *) else if c.cel.rank = Vocab_of.Memoria_obligatoria && not (is_proper layer) then 100 (* Tabula III.10 -- universal or proper; the [layer] test is what separates entry 10 from entry 11. Unlike entries 3, 5 and 7, "or |
