aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-18 17:35:53 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-18 17:35:53 +0200
commit897c274fd28402159ca6d45eedc1257b1ce98696 (patch)
tree2d205de209b3e1a08de77af0870d8c27ba91bb9a
parent5773d603a2936638654f8e6bd8e595240de4203a (diff)
downloadcolitur-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.
-rw-r--r--data/ef/expected-divergences.sexp27
-rw-r--r--test/fixtures/lectio-ef-2005-2050.provenance28
-rw-r--r--test/fixtures/lectio-ef-2005-2050.txt26
-rw-r--r--test/test_differential.ml32
4 files changed, 59 insertions, 54 deletions
diff --git a/data/ef/expected-divergences.sexp b/data/ef/expected-divergences.sexp
index 1bad0ca..d6cbc5b 100644
--- a/data/ef/expected-divergences.sexp
+++ b/data/ef/expected-divergences.sexp
@@ -94,16 +94,23 @@ Gated on the literal date window (month=12, day in {29,30,31}) AND colitur's own
; commemoration -- a channel lectio's one-office-per-day temporal function
; does not have. That is the same reason this entry never covered the
; Wednesday either. Citation preserved in the register.
- ((id C14)
- (citation "RG 95 (translation is a right of I-class feasts) + RG 96 (the general forward walk, \"the next following day that is not I or II class\") + RG 96's own Attamen (a) (\"festum Annuntiationis ... quando est transferendum post Pascha, transfertur, tamquam in sedem propriam, in feriam II post dominicam in albis\" -- the Annunciation's transferred target is its OWN PROPER SEAT, not a provisional landing spot subject to further re-ordering)")
- (verdict colitur)
- (note "ef-rebootstrap fixture refresh (2026-08-12), replacing the closed C9's old 'Joseph on a Lent Sunday' shape: in 2008, 2035 and 2046, St Joseph's (19 March) RG 96 walk is congested enough by Passiontide/Holy Week/the Easter octave to cross Easter, landing on the Monday after Low Sunday -- exactly where the Annunciation (25 March), independently transferred under its own Attamen (a) exception, has already been assigned its \"sedes propria\". colitur's calendar.ml (place_transfers/compare_deferred) resolves the resulting same-band (RG 91 entry 11) tie between the two I-class feasts by slug order (\"annunciation...\" < \"joseph...\"), an engineering convention with no direct RG citation of its own (recorded honestly as such in calendar.ml's own comments and test_golden.ml's 2008 golden-pin comment) -- so the Annunciation keeps the Monday and Joseph's own walk continues one day further (1 April 2008; 3 April 2035 and 2046, since the Annunciation's own target there is 2 April), each a genuine free class-4 feria. lectio, by contrast, does NOT resolve this collision at all: its transferIfImpededEF walks each candidate independently with no awareness of a second contestant, so the Annunciation's own walk claims the Monday and Joseph is left with no transferred day anywhere -- merely tacked onto the Annunciation's own row as a trailing, never-admitted \"+joseph-spouse-of-the-bl-virgin-mary\" candidate (lectio's own commit 09a1444, \"calendar: record the RG 95 chained-transfer gap in the source\", states this outright: \"No functional change -- this collision is left unfixed, defensible against scope\"). RG 95 grants the right of translation to I-class feasts; Joseph has it and lectio's engine never exercises it for him here -- colitur giving him a real transferred day, somewhere, is the more textually faithful reading regardless of the harder sub-question below. OPEN SUB-QUESTION, recorded rather than silently resolved either way (docs/research/rules-register.md has the full account): whether Joseph, being impeded FIRST (19 March, six days before the Annunciation's own 25 March), should instead take priority for the Monday under RG 98's \"in paritate autem Officium prius impeditum praecedit\" (at equal table position, the office impeded first takes precedence) -- which would push the ANNUNCIATION to the later day instead. colitur's current slug-order tie-break was never checked against this specific reading; the Annunciation's own \"tamquam in sedem propriam\" wording is offered as the stronger textual argument for exempting it from an RG 97/98 queue contest altogether (it names a specific day as its own proper seat, not a provisional walk target), but this is this project's own reading of the primary text, not a settled point -- flagged as a genuine open item, not adjudicated with full confidence either direction. Independently re-derived (not copied from prose): `grep joseph-spouse-of-the-bl-virgin-mary` against both the refreshed fixture and colitur's own `day` CLI output for 2005-2050, filtered to rows with a real post-Layer-A/B diff -- exactly these 3 dates, cross-checked against the OCaml comparator's own failure output before this value was set. WIDENED, task 8 (branch ef-lectionary, citation comparison): [First_f]/[Gospel_f] joined the accepted diff set -- Joseph's own transferred office now carries his own proper (Ecclus 45:1-6/Matt 1:18-21, data/ef/adjustments.sexp), a natural continuation of the SAME identity divergence this entry already explains, not a second cause. Count unchanged: 3.")
- (expected_rows 3))
- ((id C15)
- (citation "RG 91 entry 14 (\"Festa Domini II classis, primum mobilia, deinde fixa\") + RG 17(b) (\"festum S. Familiae ... celebrandum dominica prima post Epiphaniam ... locum tenet dominicae occurrentis cum omnibus iuribus et privilegiis\") + RG 112(a) (\"Officium, Missa aut commemoratio de aliquo festo vel mysterio unius Divinae Personae excludit commemorationem ... de alio festo vel mysterio eiusdem Divinae personae\"), all scan-verified; register §6.0/§4")
- (verdict colitur)
- (note "ef-rg112-rg110 task: SPLIT OUT of C1's own blanket 6-13 January window, not a new kind of divergence -- the same discipline the now-closed C13 already established for this exact date (C1's own note above), applied again because building Holy Family reopened the identical shape C13 used to cover, for a different underlying reason. Before this task, colitur had no Holy Family office: on these seven dates (13 January when it is itself a Sunday -- 2008, 2013, 2019, 2030, 2036, 2041, 2047), colitur's generic Sunday fallback lost outright to the fixed Commemoration of the Baptism of the Lord (already subject Lord in the rebootstrapped data, RG16(a)'s existing mechanism), producing the SAME slug lectio's own tridentine-calendar.ini shows there (`commemoration-of-the-baptism-of-the-lord`) -- only Season differed, inside C1's own shape. Holy Family (RG 17(b)) now correctly outranks the fixed Baptism (RG 91 entry 14's own \"primum mobilia, deinde fixa\" -- {!Rite_ef.Precedence_ef.entry_14_movable_band}) and excludes it as a commemoration entirely (RG 112(a), directly confirmed by the Holy Family Mass propers' own more specific 13-January rubric, both photographic scans: \"Si festum S. Familiae occurrerit die 13 ianuarii, Missa dicitur de festo S. Familiae, sine commemoratione Baptismatis D.N.I.C., et sine commemoratione dominicae\"), so colitur's own slug on these 7 dates changes to `ef-time-after-epiphany-sunday-1` (Holy Family's own -- unchanged from the plain Sunday key it always carried, temporal_ef.ml's own comment on why) -- a genuine SLUG divergence against lectio, which has no Holy Family at all and still shows the fixed Baptism observed. Gated on the literal 7-date list AND colitur's own slug (the same identity guard C1/C6/C8/C14 already apply, fix round 1's own finding 1). Derived from the OCaml comparator's own failure output directly (test_layer_c_counts_match_citations), not by hand-counting first and cross-checking after: 7. WIDENED, task 8: [First_f]/[Gospel_f] joined the accepted diff set -- Holy Family's own proper (Col 3:12-17/Luke 2:42-52) now differs from the fixed Baptism's, which lectio still shows, for the identical reason this entry already names. Count unchanged: 7.")
- (expected_rows 7))
+ ; C14 -- CLOSED, REMOVED (2026-08-18): 0 of 16801 rows, was 3. lectio has
+ ; adopted RG 96(a)/97/98. Its transferIfImpededEF resolved each impeded
+ ; I-class feast 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. lectio now resolves the
+ ; year's transfers as a set (its new efTransferPlan): the Annunciation takes
+ ; the Monday as its sedes propria under RG 96(a) and Joseph takes the Tuesday.
+ ; colitur's reading was right and is unchanged; the citation above is the one
+ ; lectio adopted. Preserved in the register.
+ ; C15 -- CLOSED, REMOVED (2026-08-18): 0 of 16801 rows, was 7. lectio has
+ ; adopted the Holy Family Mass propers' own 13-January rubric -- "Si festum
+ ; S. Familiae occurrerit die 13 ianuarii, Missa dicitur de festo S. Familiae,
+ ; SINE COMMEMORATIONE Baptismatis D.N.I.C." -- so on 2008, 2013, 2019, 2030,
+ ; 2036, 2041 and 2047 it now observes the Holy Family and omits the Baptism
+ ; outright, as colitur already did. lectio already had the Holy Family Mass on
+ ; every other Sunday after Epiphany; 13 January was the one date it could not
+ ; reach. colitur unchanged. Preserved in the register.
; C16 -- CLOSED, REMOVED (2026-08-18): 0 of 16801 rows, was 20. lectio builds RG 17(a)'s own 2-January fallback now, so the years with no Sunday in the 2-5 January window have the Holy Name office instead of none.
; Citation preserved in docs/research/rules-register.md.
; C17 -- CLOSED, REMOVED (2026-08-18): 0 of 16801 rows, was 439 -- the
diff --git a/test/fixtures/lectio-ef-2005-2050.provenance b/test/fixtures/lectio-ef-2005-2050.provenance
index 5443e8e..1130a58 100644
--- a/test/fixtures/lectio-ef-2005-2050.provenance
+++ b/test/fixtures/lectio-ef-2005-2050.provenance
@@ -1,4 +1,32 @@
Fixture: lectio-ef-2005-2050.txt
+Task: 2026-08-18, refresh after lectio adopted two further Missal corrections
+(RG 96(a)/97/98 transfer collisions, and the Holy Family propers' own
+13-January omission of the Baptism).
+
+Produced by the sibling project ~/git/projects/lectio at commit:
+ e713da2 fix(ef): two I-class feasts can no longer transfer onto the same day
+SHA-256: 2e9c5761e7e5ccee4b5be096e8727d07a2e67dd9523a897f9aa73407ddf1e350
+
+13 rows changed against the previous fixture (bac0aacfaa67db0f6f9ae45f1295f831f62bb35a6e2a8e8c72503b2b26e1a8a8):
+ - 7 rows, 13 January in 2008/2013/2019/2030/2036/2041/2047: lectio kept the
+ Commemoration of the Baptism as the observed office on a 13 January that is
+ itself the Sunday after Epiphany. The Holy Family Mass propers say "sine
+ commemoratione Baptismatis D.N.I.C." -- the Baptism is omitted, and the day
+ is the Holy Family. lectio now agrees with colitur on all seven.
+ - 6 rows, 2008/2035/2046: St Joseph and the Annunciation, both impeded by an
+ early Easter, both transferred onto the Monday after Low Sunday, where
+ Joseph lost and vanished from the year (he showed only as "+joseph-..." in
+ the Annunciation's commemoration tail). RG 96(a) gives the Annunciation a
+ sedes propria on that Monday; Joseph now takes the Tuesday. lectio agrees
+ with colitur on all six.
+
+Both corrections run colitur -> lectio, not the other way: colitur argued them
+from the Missal and lectio adopted them. On these 13 days the Divinum Officium
+lineage no longer holds, the same way the eight earlier corrections broke it.
+
+--- previous provenance, retained ---
+
+Fixture: lectio-ef-2005-2050.txt
Task: 2026-08-14-colitur-ef-lectionary, Task 8 (fixture refresh -- lectio's
lectio-ef-dump gained two new columns, Epistle/Lesson and Gospel citations;
branch ef-lectionary).
diff --git a/test/fixtures/lectio-ef-2005-2050.txt b/test/fixtures/lectio-ef-2005-2050.txt
index b4f18ce..177d7ab 100644
--- a/test/fixtures/lectio-ef-2005-2050.txt
+++ b/test/fixtures/lectio-ef-2005-2050.txt
@@ -1105,7 +1105,7 @@
2008-01-10 thursday christmas 1 ef-time-after-epiphany-1-thursday class-4 white - - Isa_60:1-6 Matt_2:1-12
2008-01-11 friday christmas 1 ef-time-after-epiphany-1-friday class-4 white - - Isa_60:1-6 Matt_2:1-12 +hyginus-pope-and-martyr
2008-01-12 saturday christmas 1 ef-time-after-epiphany-1-saturday class-4 white - - Titus_3:4-7 Luke_2:15-20
-2008-01-13 sunday christmas 1 commemoration-of-the-baptism-of-the-lord class-2 white Commemoration_of_the_Baptism_of_the_Lord Wspomnienie_Chrztu_Pańskiego Isa_60:1-6 John_1:29-34
+2008-01-13 sunday christmas 1 ef-time-after-epiphany-sunday-1 class-2 white - - Col_3:12-17 Luke_2:42-52
2008-01-14 monday time-after-epiphany 1 hilary class-3 white St._Hilary św._Hilarego,_Biskupa,_Wyznawcy_i_Doktora_Kościoła 2_Tim_4:1-8 Matt_5:13-19 +felicis
2008-01-15 tuesday time-after-epiphany 1 paul-the-first-hermit class-3 white St._Paul,_the_First_Hermit św._Pawła,_Pierwszego_Pustelnika,_Wyznawcy Phil_3:7-12 Matt_11:25-30 +maur-abbot
2008-01-16 wednesday time-after-epiphany 1 marcellus-i class-3 red St._Marcellus_I św._Marcelego_I,_Papieża_i_Męczennika 1_Pet_5:1-4;_5:10-11. Matt_16:13-19
@@ -1183,8 +1183,8 @@
2008-03-28 friday easter 1 ef-easter-1-friday class-1 white - - 1_Pet_3:18-22 Matt_28:16-20 +john-of-capistrano
2008-03-29 saturday easter 1 ef-easter-1-saturday class-1 white - - 1_Pet_2:1-10 John_20:1-9
2008-03-30 sunday easter 2 ef-low-sunday class-1 white - - 1_John_5:4-10 John_20:19-31
-2008-03-31 monday easter 2 annunciation-of-the-blessed-virgin-mary class-1 white Annunciation_of_the_Blessed_Virgin_Mary Zwiastowanie_N._M._P. Isa_7:10-15 Luke_1:26-38 +joseph-spouse-of-the-bl-virgin-mary
-2008-04-01 tuesday easter 2 ef-easter-2-tuesday class-4 white - - 1_John_5:4-10 John_20:19-31
+2008-03-31 monday easter 2 annunciation-of-the-blessed-virgin-mary class-1 white Annunciation_of_the_Blessed_Virgin_Mary Zwiastowanie_N._M._P. Isa_7:10-15 Luke_1:26-38
+2008-04-01 tuesday easter 2 joseph-spouse-of-the-bl-virgin-mary class-1 white St._Joseph,_Spouse_of_the_Bl._Virgin_Mary św._Józefa,_Oblubieńca_N._M._P. Ecclus_45:1-6 Matt_1:18-21
2008-04-02 wednesday easter 2 francis-of-paola class-3 white St._Francis_of_Paola św._Franciszka_z_Pauli,_Wyznawcy Phil_3:7-12 Luke_12:32-34
2008-04-03 thursday easter 2 ef-easter-2-thursday class-4 white - - 1_John_5:4-10 John_20:19-31
2008-04-04 friday easter 2 isidore-of-seville class-3 white St._Isidore_of_Seville św._Izydora,_Biskupa,_Wyznawcy_i_Doktora_Kościoła 2_Tim_4:1-8 Matt_5:13-19
@@ -2932,7 +2932,7 @@
2013-01-10 thursday christmas 1 ef-time-after-epiphany-1-thursday class-4 white - - Isa_60:1-6 Matt_2:1-12
2013-01-11 friday christmas 1 ef-time-after-epiphany-1-friday class-4 white - - Isa_60:1-6 Matt_2:1-12 +hyginus-pope-and-martyr
2013-01-12 saturday christmas 1 ef-time-after-epiphany-1-saturday class-4 white - - Titus_3:4-7 Luke_2:15-20
-2013-01-13 sunday christmas 1 commemoration-of-the-baptism-of-the-lord class-2 white Commemoration_of_the_Baptism_of_the_Lord Wspomnienie_Chrztu_Pańskiego Isa_60:1-6 John_1:29-34
+2013-01-13 sunday christmas 1 ef-time-after-epiphany-sunday-1 class-2 white - - Col_3:12-17 Luke_2:42-52
2013-01-14 monday time-after-epiphany 1 hilary class-3 white St._Hilary św._Hilarego,_Biskupa,_Wyznawcy_i_Doktora_Kościoła 2_Tim_4:1-8 Matt_5:13-19 +felicis
2013-01-15 tuesday time-after-epiphany 1 paul-the-first-hermit class-3 white St._Paul,_the_First_Hermit św._Pawła,_Pierwszego_Pustelnika,_Wyznawcy Phil_3:7-12 Matt_11:25-30 +maur-abbot
2013-01-16 wednesday time-after-epiphany 1 marcellus-i class-3 red St._Marcellus_I św._Marcelego_I,_Papieża_i_Męczennika 1_Pet_5:1-4;_5:10-11. Matt_16:13-19
@@ -5123,7 +5123,7 @@
2019-01-10 thursday christmas 1 ef-time-after-epiphany-1-thursday class-4 white - - Isa_60:1-6 Matt_2:1-12
2019-01-11 friday christmas 1 ef-time-after-epiphany-1-friday class-4 white - - Isa_60:1-6 Matt_2:1-12 +hyginus-pope-and-martyr
2019-01-12 saturday christmas 1 ef-time-after-epiphany-1-saturday class-4 white - - Titus_3:4-7 Luke_2:15-20
-2019-01-13 sunday christmas 1 commemoration-of-the-baptism-of-the-lord class-2 white Commemoration_of_the_Baptism_of_the_Lord Wspomnienie_Chrztu_Pańskiego Isa_60:1-6 John_1:29-34
+2019-01-13 sunday christmas 1 ef-time-after-epiphany-sunday-1 class-2 white - - Col_3:12-17 Luke_2:42-52
2019-01-14 monday time-after-epiphany 1 hilary class-3 white St._Hilary św._Hilarego,_Biskupa,_Wyznawcy_i_Doktora_Kościoła 2_Tim_4:1-8 Matt_5:13-19 +felicis
2019-01-15 tuesday time-after-epiphany 1 paul-the-first-hermit class-3 white St._Paul,_the_First_Hermit św._Pawła,_Pierwszego_Pustelnika,_Wyznawcy Phil_3:7-12 Matt_11:25-30 +maur-abbot
2019-01-16 wednesday time-after-epiphany 1 marcellus-i class-3 red St._Marcellus_I św._Marcelego_I,_Papieża_i_Męczennika 1_Pet_5:1-4;_5:10-11. Matt_16:13-19
@@ -9141,7 +9141,7 @@
2030-01-10 thursday christmas 1 ef-time-after-epiphany-1-thursday class-4 white - - Isa_60:1-6 Matt_2:1-12
2030-01-11 friday christmas 1 ef-time-after-epiphany-1-friday class-4 white - - Isa_60:1-6 Matt_2:1-12 +hyginus-pope-and-martyr
2030-01-12 saturday christmas 1 ef-time-after-epiphany-1-saturday class-4 white - - Titus_3:4-7 Luke_2:15-20
-2030-01-13 sunday christmas 1 commemoration-of-the-baptism-of-the-lord class-2 white Commemoration_of_the_Baptism_of_the_Lord Wspomnienie_Chrztu_Pańskiego Isa_60:1-6 John_1:29-34
+2030-01-13 sunday christmas 1 ef-time-after-epiphany-sunday-1 class-2 white - - Col_3:12-17 Luke_2:42-52
2030-01-14 monday time-after-epiphany 1 hilary class-3 white St._Hilary św._Hilarego,_Biskupa,_Wyznawcy_i_Doktora_Kościoła 2_Tim_4:1-8 Matt_5:13-19 +felicis
2030-01-15 tuesday time-after-epiphany 1 paul-the-first-hermit class-3 white St._Paul,_the_First_Hermit św._Pawła,_Pierwszego_Pustelnika,_Wyznawcy Phil_3:7-12 Matt_11:25-30 +maur-abbot
2030-01-16 wednesday time-after-epiphany 1 marcellus-i class-3 red St._Marcellus_I św._Marcelego_I,_Papieża_i_Męczennika 1_Pet_5:1-4;_5:10-11. Matt_16:13-19
@@ -11046,8 +11046,8 @@
2035-03-30 friday easter 1 ef-easter-1-friday class-1 white - - 1_Pet_3:18-22 Matt_28:16-20
2035-03-31 saturday easter 1 ef-easter-1-saturday class-1 white - - 1_Pet_2:1-10 John_20:1-9
2035-04-01 sunday easter 2 ef-low-sunday class-1 white - - 1_John_5:4-10 John_20:19-31
-2035-04-02 monday easter 2 annunciation-of-the-blessed-virgin-mary class-1 white Annunciation_of_the_Blessed_Virgin_Mary Zwiastowanie_N._M._P. Isa_7:10-15 Luke_1:26-38 +joseph-spouse-of-the-bl-virgin-mary +francis-of-paola
-2035-04-03 tuesday easter 2 ef-easter-2-tuesday class-4 white - - 1_John_5:4-10 John_20:19-31
+2035-04-02 monday easter 2 annunciation-of-the-blessed-virgin-mary class-1 white Annunciation_of_the_Blessed_Virgin_Mary Zwiastowanie_N._M._P. Isa_7:10-15 Luke_1:26-38 +francis-of-paola
+2035-04-03 tuesday easter 2 joseph-spouse-of-the-bl-virgin-mary class-1 white St._Joseph,_Spouse_of_the_Bl._Virgin_Mary św._Józefa,_Oblubieńca_N._M._P. Ecclus_45:1-6 Matt_1:18-21
2035-04-04 wednesday easter 2 isidore-of-seville class-3 white St._Isidore_of_Seville św._Izydora,_Biskupa,_Wyznawcy_i_Doktora_Kościoła 2_Tim_4:1-8 Matt_5:13-19
2035-04-05 thursday easter 2 vincent-ferrer class-3 white St._Vincent_Ferrer św._Wincentego_Fereriusza,_Wyznawcy Ecclus_31:8-11 Luke_12:35-40
2035-04-06 friday easter 2 ef-easter-2-friday class-4 white - - 1_John_5:4-10 John_20:19-31
@@ -11332,7 +11332,7 @@
2036-01-10 thursday christmas 1 ef-time-after-epiphany-1-thursday class-4 white - - Isa_60:1-6 Matt_2:1-12
2036-01-11 friday christmas 1 ef-time-after-epiphany-1-friday class-4 white - - Isa_60:1-6 Matt_2:1-12 +hyginus-pope-and-martyr
2036-01-12 saturday christmas 1 ef-time-after-epiphany-1-saturday class-4 white - - Titus_3:4-7 Luke_2:15-20
-2036-01-13 sunday christmas 1 commemoration-of-the-baptism-of-the-lord class-2 white Commemoration_of_the_Baptism_of_the_Lord Wspomnienie_Chrztu_Pańskiego Isa_60:1-6 John_1:29-34
+2036-01-13 sunday christmas 1 ef-time-after-epiphany-sunday-1 class-2 white - - Col_3:12-17 Luke_2:42-52
2036-01-14 monday time-after-epiphany 1 hilary class-3 white St._Hilary św._Hilarego,_Biskupa,_Wyznawcy_i_Doktora_Kościoła 2_Tim_4:1-8 Matt_5:13-19 +felicis
2036-01-15 tuesday time-after-epiphany 1 paul-the-first-hermit class-3 white St._Paul,_the_First_Hermit św._Pawła,_Pierwszego_Pustelnika,_Wyznawcy Phil_3:7-12 Matt_11:25-30 +maur-abbot
2036-01-16 wednesday time-after-epiphany 1 marcellus-i class-3 red St._Marcellus_I św._Marcelego_I,_Papieża_i_Męczennika 1_Pet_5:1-4;_5:10-11. Matt_16:13-19
@@ -13159,7 +13159,7 @@
2041-01-10 thursday christmas 1 ef-time-after-epiphany-1-thursday class-4 white - - Isa_60:1-6 Matt_2:1-12
2041-01-11 friday christmas 1 ef-time-after-epiphany-1-friday class-4 white - - Isa_60:1-6 Matt_2:1-12 +hyginus-pope-and-martyr
2041-01-12 saturday christmas 1 ef-time-after-epiphany-1-saturday class-4 white - - Titus_3:4-7 Luke_2:15-20
-2041-01-13 sunday christmas 1 commemoration-of-the-baptism-of-the-lord class-2 white Commemoration_of_the_Baptism_of_the_Lord Wspomnienie_Chrztu_Pańskiego Isa_60:1-6 John_1:29-34
+2041-01-13 sunday christmas 1 ef-time-after-epiphany-sunday-1 class-2 white - - Col_3:12-17 Luke_2:42-52
2041-01-14 monday time-after-epiphany 1 hilary class-3 white St._Hilary św._Hilarego,_Biskupa,_Wyznawcy_i_Doktora_Kościoła 2_Tim_4:1-8 Matt_5:13-19 +felicis
2041-01-15 tuesday time-after-epiphany 1 paul-the-first-hermit class-3 white St._Paul,_the_First_Hermit św._Pawła,_Pierwszego_Pustelnika,_Wyznawcy Phil_3:7-12 Matt_11:25-30 +maur-abbot
2041-01-16 wednesday time-after-epiphany 1 marcellus-i class-3 red St._Marcellus_I św._Marcelego_I,_Papieża_i_Męczennika 1_Pet_5:1-4;_5:10-11. Matt_16:13-19
@@ -15064,8 +15064,8 @@
2046-03-30 friday easter 1 ef-easter-1-friday class-1 white - - 1_Pet_3:18-22 Matt_28:16-20
2046-03-31 saturday easter 1 ef-easter-1-saturday class-1 white - - 1_Pet_2:1-10 John_20:1-9
2046-04-01 sunday easter 2 ef-low-sunday class-1 white - - 1_John_5:4-10 John_20:19-31
-2046-04-02 monday easter 2 annunciation-of-the-blessed-virgin-mary class-1 white Annunciation_of_the_Blessed_Virgin_Mary Zwiastowanie_N._M._P. Isa_7:10-15 Luke_1:26-38 +joseph-spouse-of-the-bl-virgin-mary +francis-of-paola
-2046-04-03 tuesday easter 2 ef-easter-2-tuesday class-4 white - - 1_John_5:4-10 John_20:19-31
+2046-04-02 monday easter 2 annunciation-of-the-blessed-virgin-mary class-1 white Annunciation_of_the_Blessed_Virgin_Mary Zwiastowanie_N._M._P. Isa_7:10-15 Luke_1:26-38 +francis-of-paola
+2046-04-03 tuesday easter 2 joseph-spouse-of-the-bl-virgin-mary class-1 white St._Joseph,_Spouse_of_the_Bl._Virgin_Mary św._Józefa,_Oblubieńca_N._M._P. Ecclus_45:1-6 Matt_1:18-21
2046-04-04 wednesday easter 2 isidore-of-seville class-3 white St._Isidore_of_Seville św._Izydora,_Biskupa,_Wyznawcy_i_Doktora_Kościoła 2_Tim_4:1-8 Matt_5:13-19
2046-04-05 thursday easter 2 vincent-ferrer class-3 white St._Vincent_Ferrer św._Wincentego_Fereriusza,_Wyznawcy Ecclus_31:8-11 Luke_12:35-40
2046-04-06 friday easter 2 ef-easter-2-friday class-4 white - - 1_John_5:4-10 John_20:19-31
@@ -15350,7 +15350,7 @@
2047-01-10 thursday christmas 1 ef-time-after-epiphany-1-thursday class-4 white - - Isa_60:1-6 Matt_2:1-12
2047-01-11 friday christmas 1 ef-time-after-epiphany-1-friday class-4 white - - Isa_60:1-6 Matt_2:1-12 +hyginus-pope-and-martyr
2047-01-12 saturday christmas 1 ef-time-after-epiphany-1-saturday class-4 white - - Titus_3:4-7 Luke_2:15-20
-2047-01-13 sunday christmas 1 commemoration-of-the-baptism-of-the-lord class-2 white Commemoration_of_the_Baptism_of_the_Lord Wspomnienie_Chrztu_Pańskiego Isa_60:1-6 John_1:29-34
+2047-01-13 sunday christmas 1 ef-time-after-epiphany-sunday-1 class-2 white - - Col_3:12-17 Luke_2:42-52
2047-01-14 monday time-after-epiphany 1 hilary class-3 white St._Hilary św._Hilarego,_Biskupa,_Wyznawcy_i_Doktora_Kościoła 2_Tim_4:1-8 Matt_5:13-19 +felicis
2047-01-15 tuesday time-after-epiphany 1 paul-the-first-hermit class-3 white St._Paul,_the_First_Hermit św._Pawła,_Pierwszego_Pustelnika,_Wyznawcy Phil_3:7-12 Matt_11:25-30 +maur-abbot
2047-01-16 wednesday time-after-epiphany 1 marcellus-i class-3 red St._Marcellus_I św._Marcelego_I,_Papieża_i_Męczennika 1_Pet_5:1-4;_5:10-11. Matt_16:13-19
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