summaryrefslogtreecommitdiff
path: root/lib/rites/rite_ef/lectionary_ef.mli
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-21 22:54:13 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-21 22:54:13 +0200
commit28dc226a31fa0cc72432f5607ab5cd74503ef43d (patch)
tree35dc78657b108a5b8e5d20092a9db4c00d609284 /lib/rites/rite_ef/lectionary_ef.mli
parent384b0789c0f4d9beb936080a5592bb4aa6134295 (diff)
downloadcolitur-28dc226a31fa0cc72432f5607ab5cd74503ef43d.tar.gz
colitur-28dc226a31fa0cc72432f5607ab5cd74503ef43d.zip
fix(kernel,ef): a votive Mass is not the day's own -- add Mass_formulary.Votive
Mass_formulary.source was missing a case for a Mass said IN PLACE of the day's own office's Mass while that office is itself kept unchanged -- RG 309(a) and RG 431(e) both classify the RG 78 Saturday Mass of Our Lady this way, in the Missal's own words, as a "Missa votiva IV classis... de B. Maria Virg.", not as the day's own office's Mass. The Latin Mass Society Ordo (docs/research/ordo/lms-ordo-2024-2025.pdf) witnesses it directly, printing that day as "V Mass of BVM". The BVM-Saturday branch in Lectionary_ef.readings was tagged Own_slug for lack of a better constructor when Task 2 landed, flagged there as a judgement call rather than a specified answer. That call was wrong: left as Own_slug, a future comparison against the LMS Ordo (a later task in this plan) would read every BVM Saturday as a manufactured divergence between colitur's "own" Mass and the Ordo's votive one. Retagged to Votive; said is unchanged (still the day's own, reused ferial, temporal slug) since the office itself is unaffected, only the Mass said for it. Added the new constructor's source_to_string case ("votive") and its own test row, and pinned the branch itself in test_lectionary_ef.ml's formulary cases at 1 August 2026, verified directly against the resolver rather than assumed. Both this session's own drifted pins that the earlier commit inherited from the task brief are unaffected by this change, and both are re-confirmed independently correct in this round: dune test and the exhaustive sweep are green, and colitur day stays byte-identical against the pre-fix-round binary.
Diffstat (limited to 'lib/rites/rite_ef/lectionary_ef.mli')
-rw-r--r--lib/rites/rite_ef/lectionary_ef.mli14
1 files changed, 10 insertions, 4 deletions
diff --git a/lib/rites/rite_ef/lectionary_ef.mli b/lib/rites/rite_ef/lectionary_ef.mli
index 2f36926..43763ff 100644
--- a/lib/rites/rite_ef/lectionary_ef.mli
+++ b/lib/rites/rite_ef/lectionary_ef.mli
@@ -109,10 +109,16 @@ val commons_for : commons:Commons.t -> Slug.t -> (Slug.t * Citation.t list) opti
- {b Step 2} -- the day's own temporal slug in the lectionary.
{!Colitur_kernel.Mass_formulary.Own_slug}, [said] that slug. The RG
309(a) Saturday votive Mass of Our Lady also answers here (structurally,
- not as a fifth numbered step): it is tagged the same way, because its
- own guard only ever fires when the observed celebration already IS the
- day's own temporal office (the office reuses the ordinary ferial
- slug) -- see the implementation comment on that branch.
+ not as a fifth numbered step), but is tagged
+ {!Colitur_kernel.Mass_formulary.Votive} instead, not [Own_slug]: RG
+ 309(a)/431(e) classify it, in the Missal's own words, as a "Missa
+ votiva" said IN PLACE of the day's own office's Mass, the office (RG
+ 78) itself being kept -- witnessed by the Latin Mass Society Ordo,
+ which prints this day's Mass as "V" (Votive). [said] is still that
+ slug: only the source constructor differs from an ordinary Step 2
+ lookup, because the guard that reaches this branch only ever fires
+ when the observed celebration already IS the day's own temporal
+ office -- see the implementation comment on that branch.
- {b Step 3} -- for a weekday whose own slug has no entry, the preceding
Sunday's temporal slug (never its observed one; a Sunday is guarded
out because it has no PRECEDING Sunday to resume, not because