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 /test | |
| 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 'test')
| -rw-r--r-- | test/test_lectionary_ef.ml | 22 | ||||
| -rw-r--r-- | test/test_mass_formulary.ml | 2 |
2 files changed, 19 insertions, 5 deletions
diff --git a/test/test_lectionary_ef.ml b/test/test_lectionary_ef.ml index bc2be8c..5bdce12 100644 --- a/test/test_lectionary_ef.ml +++ b/test/test_lectionary_ef.ml @@ -582,9 +582,10 @@ let test_commons_load_rejects_bad_data () = (* ---------------------------------------------------------------------- *) (* The formulary itself (Task 2): each step of the chain now reports HOW *) -(* it resolved, not only what it resolved. One day per step -- the same *) -(* dates this file already uses (and hand-verifies) elsewhere for the *) -(* citations those days carry, so no new date needs independent checking. *) +(* it resolved, not only what it resolved. One day per step, plus the RG *) +(* 309(a) votive branch (fix round 1) -- the same dates this file already *) +(* uses (and hand-verifies) elsewhere for the citations those days carry, *) +(* so no new date needs independent checking. *) (* ---------------------------------------------------------------------- *) let formulary_cases = @@ -605,7 +606,20 @@ let formulary_cases = (* step 4: a saint sent to a Common -- same date as [test_step4_commons_perpetua_and_felicity]; [said] is the Common's OWN id (data/ef/commons.sexp), not the saint's slug. *) - (2038, 3, 6, "common-of-non-virgins-1", Colitur_kernel.Mass_formulary.Common) ] + (2038, 3, 6, "common-of-non-virgins-1", Colitur_kernel.Mass_formulary.Common); + (* Fix round 1 (coordinator review): the RG 309(a)/RG 78 Saturday votive + Mass of Our Lady, structurally reached between steps 4 and 2 (see + [readings]' own implementation comment) but tagged [Votive], not + [Own_slug] -- the Missal's own RG 309(a)/431(e) classify this Mass as + a "Missa votiva", said in place of the day's own office's Mass while + the office (RG 78) itself is kept; witnessed by the Latin Mass + Society Ordo, which prints this day's Mass as "V" (Votive). 1 August + 2026 verified directly against the real resolver (`colitur day + 2026`), not trusted from a supplied date, given this session's own + drifted-pin history: a IV-class Saturday, "Officium sanctae Mariae in + sabbato", temporal slug [ef-time-after-pentecost-9-saturday]. [said] + is unaffected by the retag and stays that same (reused ferial) slug. *) + (2026, 8, 1, "ef-time-after-pentecost-9-saturday", Colitur_kernel.Mass_formulary.Votive) ] let test_formulary_reports_its_source () = List.iter diff --git a/test/test_mass_formulary.ml b/test/test_mass_formulary.ml index b940161..824e0c7 100644 --- a/test/test_mass_formulary.ml +++ b/test/test_mass_formulary.ml @@ -14,7 +14,7 @@ let test_round_trips_through_sexp () = let test_to_string_names_the_source () = let cases = [ (MF.Proper, "proper"); (MF.Own_slug, "own"); (MF.Preceding_sunday, "preceding-sunday"); - (MF.Common, "common") ] + (MF.Common, "common"); (MF.Votive, "votive") ] in List.iter (fun (via, expected) -> |
