diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-21 22:54:13 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-21 22:54:13 +0200 |
| commit | 28dc226a31fa0cc72432f5607ab5cd74503ef43d (patch) | |
| tree | 35dc78657b108a5b8e5d20092a9db4c00d609284 /lib/rites/rite_ef/lectionary_ef.mli | |
| parent | 384b0789c0f4d9beb936080a5592bb4aa6134295 (diff) | |
| download | colitur-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.mli | 14 |
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 |
