aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/bootstrap_lectionary.ml40
1 files changed, 39 insertions, 1 deletions
diff --git a/tools/bootstrap_lectionary.ml b/tools/bootstrap_lectionary.ml
index 7fb186d..7df290b 100644
--- a/tools/bootstrap_lectionary.ml
+++ b/tools/bootstrap_lectionary.ml
@@ -599,6 +599,44 @@ let epiphanytide_weekday_citations =
(`TimeAfterEpiphany1, non_saturday_weekdays, pair ~first:"Rom 12:1-5" ~gospel:"Luke 2:42-52")
]
+(* RG 299's own escape clause, exercised (movable-date-specs follow-up,
+ 2026-08-17). The general ferial rule is "In reliquis feriis dicitur Missa
+ dominicae praecedentis, NISI A RUBRICIS ALITER PROVISUM SIT" (RG 299,
+ scan1.txt:1096-1098), restated in the propers as "Per totum annum, si
+ dicenda sit infra hebdomadam Missa de feria, adhibetur Missa dominicae
+ praecedentis, NISI PROPRIA MISSA ASSIGNETUR" (scan1.txt:4933-4935).
+
+ The week after Trinity Sunday is the clearest case of that exception in the
+ whole year. Trinity is the temporal identity of its own Sunday, so step 3's
+ walkback lands on Trinity's Mass -- but the Missal prints a NAMED formula
+ for the week immediately after it, "Missa dominicae I post Pentecosten"
+ (heading, scan1.txt:21758), precisely because the Sunday's own Mass has
+ been taken by the feast. Its readings are "Lectio Epistolae beati Ioannis
+ Apostoli. 1 Ioann. 4, 8-21" (scan1.txt:21801-21802) and "Sequentia sancti
+ Evangelii secundum Lucam. Luc. 6, 36-42" (scan1.txt:21813-21814).
+
+ Given directly here so these ferias resolve at STEP 2 and never reach step
+ 3's walkback at all -- which is both correct and the honest shape: the
+ Missal assigns them a Mass, so they have one, rather than inheriting one.
+
+ This is test_oracle.ml's own M26 shape 2(a). Shape 2(b), Christ the King's
+ week, is NOT the same case and is deliberately not given entries here: no
+ proper Mass is assigned there (checked, scan1.txt:39163 ff, no rubric
+ precedes that Mass heading), so RG 299's DEFAULT governs and the preceding
+ Sunday's Mass genuinely is Christ the King's own. *)
+let trinity_week_citations = pair ~first:"1 John 4:8-21" ~gospel:"Luke 6:36-42"
+
+let trinity_week_entries =
+ List.map
+ (fun wd -> (slug_or_die ("ef-time-after-pentecost-1-" ^ wd), trinity_week_citations))
+ (* NO Thursday: Corpus Christi is Easter+60, which IS the Thursday of this
+ week every year without exception, so the ferial slug never exists.
+ Found by the generator's own reachability guard rather than reasoned
+ out in advance -- the guard refuses to emit a key no Temporal_ef slug
+ can ever match, which is precisely the silent-lookup-miss this
+ lectionary has been bitten by before. *)
+ [ "monday"; "tuesday"; "wednesday"; "friday"; "saturday" ]
+
let epiphanytide_opening_entries =
List.concat_map
(fun (family, wds, cs) ->
@@ -750,7 +788,7 @@ let () =
let entries =
translated @ vigil_entries @ holy_week_entries @ passion_tuesday_entry
@ ember_saturday_corrections @ nativity_octave_entries @ holy_name_entries
- @ epiphanytide_opening_entries @ movable_feast_entries
+ @ epiphanytide_opening_entries @ trinity_week_entries @ movable_feast_entries
in
assert_reachable entries;
let lect =