diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-18 17:35:53 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-18 17:35:53 +0200 |
| commit | 897c274fd28402159ca6d45eedc1257b1ce98696 (patch) | |
| tree | 2d205de209b3e1a08de77af0870d8c27ba91bb9a /test/test_differential.ml | |
| parent | 5773d603a2936638654f8e6bd8e595240de4203a (diff) | |
| download | colitur-897c274fd28402159ca6d45eedc1257b1ce98696.tar.gz colitur-897c274fd28402159ca6d45eedc1257b1ce98696.zip | |
test(differential): C14 and C15 closed -- only slug vocabulary remains
lectio adopted the last two Missal corrections colitur argued:
C14 3 -> 0 RG 96(a)/97/98. lectio resolved each impeded I-class feast's
transfer independently, so in 2008, 2035 and 2046 St Joseph and
the Annunciation both walked onto the Monday after Low Sunday
and Joseph, losing there, was observed on no day of those years
at all. It now resolves the year's transfers as a set: the
Annunciation takes the Monday as its sedes propria, Joseph the
Tuesday.
C15 7 -> 0 The Holy Family propers' own 13-January rubric, "sine
commemoratione Baptismatis D.N.I.C.". lectio kept the Baptism
as the observed office on all seven such years in 2005-2050.
Those were the last two BEHAVIOUR classes. What is left is C1 (138) and C6
(119), both pure slug vocabulary.
Measured across the whole fixture, applying only the season normalisation the
test already applies: 579 of 16801 days differ, and every one of them differs
on the SLUG ALONE. Zero days differ on season, rank, colour, Epistle or Gospel.
(The test's own norm_slug table already maps 322 of the 579; the 257 left are
C1 and C6. The field profile is the same either way.)
So the two engines now agree on every liturgically meaningful field on every
day of 2005-2050. The residue is what the two projects call things --
ef-christmas-2-friday against ef-time-after-epiphany-1-friday for the same day,
same Mass. Aligning it means renaming lectio's slugs, and those are keys: its
lectionary, clectio's generated tables and any user overlay are built on them.
Left as vocabulary rather than forced.
Fixture refreshed against lectio e713da2; 13 rows changed, colitur agrees with
all of them. 24 divergence classes at the start of this work, 2 now.
Diffstat (limited to 'test/test_differential.ml')
| -rw-r--r-- | test/test_differential.ml | 32 |
1 files changed, 1 insertions, 31 deletions
diff --git a/test/test_differential.ml b/test/test_differential.ml index e8bf9ae..8423888 100644 --- a/test/test_differential.ml +++ b/test/test_differential.ml @@ -164,7 +164,7 @@ let allow_list_path = "../data/ef/expected-divergences.sexp" deliberately, after re-running the exact command the provenance note names -- never by copying the actual value back in to make a mismatch pass, which would defeat the point of pinning it at all. *) -let fixture_sha256 = "bac0aacfaa67db0f6f9ae45f1295f831f62bb35a6e2a8e8c72503b2b26e1a8a8" +let fixture_sha256 = "2e9c5761e7e5ccee4b5be096e8727d07a2e67dd9523a897f9aa73407ddf1e350" (* Same technique tools/bootstrap_sanctoral.ml already uses for this exact purpose (that file's own comment: shelling out to the system's @@ -1127,36 +1127,6 @@ let layer_c_reason (l : row) (c : row) diffs = (String.equal c.slug "ef-rogation-monday" || String.equal c.slug "ef-rogation-tuesday") && subset diffs [ Season; Slug_f; Colour_f ] then Some "C8" - else if - List.mem l.date joseph_annunciation_collision_dates_2005_2050 - (* Task 8: [First_f; Gospel_f] joined the accepted set -- Joseph's own - transferred office (Ecclus 45:1-6/Matt 1:18-21, his own proper) now - genuinely differs from the plain feria lectio shows for the same - civil date, exactly BECAUSE the identity already differs (this - predicate's own pre-existing [Slug_f; Rank] pair); not a second, - independent citation-only divergence. *) - && subset diffs [ Slug_f; Rank; First_f; Gospel_f ] - (* Colitur-slug guard, added by the fixture-refresh review. Fix round 1's - own finding 1 established that a Layer C predicate must pin WHICH - celebration the citation is about, not merely the date -- C1, C6 and C8 - all carry that guard; C14 was written after that ruling and omitted it. - Demonstrated live: with [Calendar.compare_deferred] switched to RG 98 - origin order, the observed celebration on all three dates flips to the - Annunciation, and C14 still matched exactly 3 rows with its count pin - green. The suite only reddened because the SIBLING dates fell outside - every predicate -- geometry, not this pin. *) - && String.equal c.slug "joseph-spouse-of-the-bl-virgin-mary" - then Some "C14" - else if - List.mem l.date holy_family_baptism_collision_dates_2005_2050 - (* Task 8: [First_f; Gospel_f] joined the accepted set for the same - reason as C14 above -- Holy Family's own citations (Col 3:12-17/Luke - 2:42-52, its own proper) differ from the fixed Baptism's (which - lectio still shows there) exactly BECAUSE the office identity - already differs; the same single cause, not two. *) - && subset diffs [ Season; Slug_f; First_f; Gospel_f ] - && String.equal c.slug "ef-time-after-epiphany-sunday-1" - then Some "C15" (* [Colour_f] is admitted only on the Saturday of this week, and only alongside the citation difference: that day is ALSO an unoccupied IV-class Saturday, so RG 78's votive Office of the BVM makes colitur |
