aboutsummaryrefslogtreecommitdiff
path: root/data/of/amendments/006-mary-mother-of-the-church.sexp
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-26 00:18:16 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-26 00:18:16 +0200
commit85c1f194c03634eaa905f0bfd630fe23b5f53e59 (patch)
treeb003bd26bebd44c61514fc652250889ce56c1bef /data/of/amendments/006-mary-mother-of-the-church.sexp
parent0994587b3694bb87d9a8ee32d60babf25c784acf (diff)
downloadcolitur-85c1f194c03634eaa905f0bfd630fe23b5f53e59.tar.gz
colitur-85c1f194c03634eaa905f0bfd630fe23b5f53e59.zip
feat(of): post-2002 GRC amendment overlays, one file per decree
Adds data/of/amendments/*.sexp: 13 overlay files, one per decree, carrying the General Roman Calendar's amendments since the 2002 typical edition (docs/research/of/PROVENANCE-amendments.md's own 15-item inventory, items 10-12 sharing one decree; items 2 and 3, though issued the same day, carry different protocol numbers and are counted as two decrees). 14 Add directives (Padre Pio, Juan Diego, Guadalupe, John XXIII, John Paul II, Mary Mother of the Church, Paul VI, Loreto, Faustina Kowalska, Gregory of Narek, John of Avila, Hildegard of Bingen, Teresa of Calcutta, John Henry Newman) and 2 Edit directives (Mary Magdalene's rank memoria->festum; Martha/Mary/Lazarus's name widened, same slug, same date and rank -- a continuation of the existing memorial per the decree's own text, not a suppression and replacement). Mary, Mother of the Church is the one movable entry (Easter_offset 50, the Monday after Pentecost) -- verified against the decree's own text and against Colitur_kernel.Computus.gregorian_easter in three real years, no kernel change needed. data/of/calendar-2002.sexp is untouched, per spec sec4.1. Adds test/test_amendments_of.ml: every file parses, each has a pinned SHA-256, applying all 13 in decree order yields 222 entries (208 base + 14 Add) with an empty Overlay.merge diagnostics list, and Mary Mother of the Church resolves to the Monday after Pentecost in three real years. Two Precedence_of interactions are recorded, not fixed (out of scope for a data-only task): a movable Memoria_obligatoria can land on an existing fixed one (verified for 13 June 2011), a genuine band tie Normae n. 14 does not address and Precedence_of.ml does not implement; and adding Hildegard of Bingen changes which of two ad-libitum memorials on 17 September Precedence.resolve reports as observed, by alphabetical tie-break alone.
Diffstat (limited to 'data/of/amendments/006-mary-mother-of-the-church.sexp')
-rw-r--r--data/of/amendments/006-mary-mother-of-the-church.sexp76
1 files changed, 76 insertions, 0 deletions
diff --git a/data/of/amendments/006-mary-mother-of-the-church.sexp b/data/of/amendments/006-mary-mother-of-the-church.sexp
new file mode 100644
index 0000000..8fc6d64
--- /dev/null
+++ b/data/of/amendments/006-mary-mother-of-the-church.sexp
@@ -0,0 +1,76 @@
+; data/of/amendments/006-mary-mother-of-the-church.sexp -- ADDS the
+; Blessed Virgin Mary, Mother of the Church, to the General Roman
+; Calendar. The one genuinely MOVABLE amendment in this inventory.
+;
+; Decree: Congregation for Divine Worship and the Discipline of the
+; Sacraments, 11 February 2018, Prot. N. 1037/2017. Signed Robertus Card.
+; Sarah (Praefectus) + Arturus Roche (Archiepiscopus a Secretis).
+; Published: AAS 110 (2018), 437-438 (decree text continues past 438;
+; index cites 437 as the start page).
+;
+; What it does, verified directly against the decree's own operative
+; sentence (docs/research/of/aas-monthly/2018_marzo.pdf, line 2434-2437 of
+; the extracted transcript): "Summus autem Pontifex Franciscus... decrevit
+; ut memoriam B. Mariae Virginis, Ecclesiae Matris, in Calendarium
+; Romanum inscribendam esse Feria II post Pentecosten et quotannis
+; celebrandam" -- inscribes a MEMORIA (obligatory: no "ad libitum"
+; qualifier anywhere in the operative sentence) on "Feria II post
+; Pentecosten", the MONDAY AFTER PENTECOST.
+;
+; Date arithmetic, verified rather than trusted: Pentecost is Easter+49
+; (the 50th day of the Paschal season inclusive of Easter itself), so the
+; following Monday is Easter+50. Date_spec.Easter_offset 50 is exactly
+; this; kernel-level and rite-agnostic (built for EF's Rogation
+; Wednesday), no code change needed. See test_amendments_of.ml's own
+; test_mater_ecclesiae_monday_after_pentecost, which re-derives the
+; calendar date from Colitur_kernel.Computus.gregorian_easter in three
+; real years rather than trusting this offset's own arithmetic.
+;
+; The day carries no other GRC celebration to displace on any FIXED date
+; -- but the decree's own destination is a MOVABLE one, so this is not
+; quite true every year: see the finding recorded below.
+;
+; `la` name taken directly from the decree's own text ("B. Mariae
+; Virginis, Ecclesiae Matris", expanded here to "Beatae Mariae Virginis,
+; Ecclesiae Matris" to match calendar-2002.sexp's own convention of
+; writing out abbreviations in `la` names); `en` is this task's own
+; translation (no lectio entry exists for this decree -- it postdates
+; lectio's own last GRC sync).
+;
+; *** FINDING, worth surfacing rather than silently shipping: a real,
+; unresolved Precedence_of interaction. *** Easter+50 ranges over 11 May
+; - 14 June across the Gregorian Easter window (22 March - 25 April).
+; Several FIXED Memoria_obligatoria entries already sit inside that
+; window in data/of/calendar-2002.sexp: 26 May (Philip Neri), 1 June
+; (Justin Martyr), 3 June (Charles Lwanga & companions), 5 June
+; (Boniface), 11 June (Barnabas), 13 June (Anthony of Padua). Verified
+; computationally (Meeus/Jones/Butcher Gregorian Easter, 1583-2100) that
+; Easter+50 DOES land on each of those dates in real years -- e.g. 2011
+; (Easter 24 April) puts Mary, Mother of the Church squarely on 13 June,
+; Anthony of Padua's own day. On such a year both candidates band at
+; Tabula III.10 (100, both universal Memoria_obligatoria), a genuine tie
+; Precedence_of.band does not and cannot break: Precedence.resolve's own
+; tie-break (Slug.compare) then picks whichever slug sorts first
+; alphabetically as the sole OBSERVED day, silently omitting the other
+; for that year -- not a crash, not a diagnostic, just a deterministic
+; but liturgically arbitrary pick. Normae universales n. 14's own text
+; (docs/research/of/normae-universales-2002-transcription.md) resolves the
+; AD-LIBITUM/AD-LIBITUM case explicitly ("una tantum celebrari potest,
+; omissis ceteris") but is silent on two OBLIGATORY memorials colliding;
+; pastoral practice generally reduces both to ad libitum for that one
+; year, which Precedence_of.ml implements nowhere. Recorded here as a
+; real, load-bearing gap -- not fixed, out of this data-only task's own
+; scope, and not unique to this entry (any future obligatory-memorial
+; overlay entry on a fixed May/June date has the identical exposure).
+((id of-amend-06-mary-mother-of-the-church)
+ (directives
+ ((Add
+ ((date (Easter_offset 50))
+ (cel
+ ((slug mary-mother-of-the-church)
+ (names
+ ((en "The Blessed Virgin Mary, Mother of the Church")
+ (la "Beatae Mariae Virginis, Ecclesiae Matris")))
+ (rank Memoria_obligatoria) (status Feast) (colour White)
+ (subject Bvm) (citations ()) (layer of-universal)))))
+ )))