diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-13 08:17:36 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-13 08:17:36 +0200 |
| commit | daca7de424be106c1cc5f3aa01950eda3b767a0f (patch) | |
| tree | ec228073abc4597642da7435f9ca77e977e07cf9 /test | |
| parent | 6319c8d5c012db40206b463dc912a1edf7aeec5d (diff) | |
| download | colitur-daca7de424be106c1cc5f3aa01950eda3b767a0f.tar.gz colitur-daca7de424be106c1cc5f3aa01950eda3b767a0f.zip | |
test(differential): split the Holy Family/Baptism collision out of C1 (C15)
Before this task's Holy Family fix, colitur's generic Sunday
fallback lost outright to the fixed Commemoration of the Baptism of
the Lord on 13 January whenever it fell on a Sunday, producing the
SAME slug lectio's own tridentine-calendar.ini shows there --
squarely inside C1's own 6-13 January blanket (only Season differed).
Now that Holy Family (RG 17(b)) correctly outranks the fixed Baptism
and excludes it as a commemoration (RG 91 entry 14, RG 112(a)),
colitur's own slug on those seven dates (2008, 2013, 2019, 2030,
2036, 2041, 2047) changes to ef-time-after-epiphany-sunday-1 -- a
genuine identity divergence against lectio, which has no Holy Family
at all. C1's own predicate does not absorb it (jan_6_13_slug has no
entry for that slug), so it surfaced as unexplained, exactly the
check the task brief asked for: split it out into its own cited
entry rather than widening C1's predicate to swallow it silently.
C1's own expected_rows moves 368 -> 361 (back to its pre-rebootstrap
value, for a third and different reason than either of the first two
moves recorded in its own note); the new C15 covers the 7 rows,
gated on the literal date list AND colitur's own slug, the same
identity guard C1/C6/C8/C14 already apply.
Diffstat (limited to 'test')
| -rw-r--r-- | test/test_differential.ml | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/test/test_differential.ml b/test/test_differential.ml index 89e6873..94adb2c 100644 --- a/test/test_differential.ml +++ b/test/test_differential.ml @@ -471,6 +471,35 @@ let nativity_octave_day_slugs = note for the full account of why that was wrong). *) let joseph_annunciation_collision_dates_2005_2050 = [ "2008-04-01"; "2035-04-03"; "2046-04-03" ] +(* C15 -- ef-rg112-rg110 task: SPLIT OUT of C1's own blanket 6-13 January + window, not a new kind of divergence -- the same discipline C13 (now + closed, see the header above) already established for this exact date, + and the SAME check the task brief asked for explicitly ("if C1 now + absorbs a different observed celebration, split it out"). Before this + task, colitur had no Holy Family office at all: on these seven dates (13 + January, the one civil day it falls on a Sunday in the 2005-2050 window + -- 2008, 2013, 2019, 2030, 2036, 2041, 2047), colitur's own generic + Sunday fallback happened to lose outright to the fixed Commemoration of + the Baptism of the Lord (RG16(a)'s existing "festum Domini beats an + ordinary Sunday" mechanism, subject Lord already present in the + REBOOTSTRAPPED data), producing the SAME slug lectio's own tridentine- + calendar.ini shows for that date ("commemoration-of-the-baptism-of-the- + lord") -- only [Season] differed (RG 72-73 vs lectio's own 6 January + boundary), squarely inside C1's own shape. Now that Holy Family is built + (RG 17(b)) and correctly outranks the fixed Baptism (RG 91 entry 14, + "primum mobilia, deinde fixa"; RG 112(a) excludes the Baptism as a + commemoration too, both this task's own precedence_ef.ml changes), + colitur's own slug on these seven dates changes to + "ef-time-after-epiphany-sunday-1" (Holy Family's own, unchanged from the + ordinary-Sunday key it always carried, temporal_ef.ml's own comment on + why) -- a GENUINE identity divergence against lectio, which has no Holy + Family at all and still shows the fixed Baptism observed there. Gated on + the literal 7-date list AND colitur's own slug (the same guard C1/C6/C8/ + C14 already apply, fix round 1's own finding 1: a predicate must pin + WHICH celebration it is about, not only the date). *) +let holy_family_baptism_collision_dates_2005_2050 = + [ "2008-01-13"; "2013-01-13"; "2019-01-13"; "2030-01-13"; "2036-01-13"; "2041-01-13"; "2047-01-13" ] + (* [layer_c_reason l c diffs] returns the [data/ef/expected-divergences.sexp] [id] this row-pair's remaining (post Layer A/B) diff set belongs to, or [None] if nothing here explains it (a genuine, uncovered failure). *) @@ -516,6 +545,11 @@ let layer_c_reason (l : row) (c : row) diffs = 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 + && subset diffs [ Season; Slug_f ] + && String.equal c.slug "ef-time-after-epiphany-sunday-1" + then Some "C15" else None (* ---------------------------------------------------------------------- *) |
