diff options
Diffstat (limited to 'test/test_differential.ml')
| -rw-r--r-- | test/test_differential.ml | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/test/test_differential.ml b/test/test_differential.ml index eb83c0e..c9173d6 100644 --- a/test/test_differential.ml +++ b/test/test_differential.ml @@ -667,7 +667,22 @@ let is_bvm_saturday_row (c : row) diffs = [season_colour] is already white, so a real bug there could slip through unnoticed by colour alone) would be silently absorbed here too. *) - diffs = [ Colour_f ] && String.equal c.weekday "saturday" && String.equal c.rank "class-4" + (* WIDENED (2026-08-17): [First_f]/[Gospel_f] join [Colour_f], because the + CAUSE did not change, it grew. colitur builds RG 78's office (hence white + where lectio is green) and now also says RG 309(a)'s own Mass for it, + where lectio -- having no such office at all -- says the feria's. One + cause, one entry: splitting the colour from the citations would file two + ids against a single divergence. + + At least one difference is required, not merely a subset, so this can + never match a day that agrees entirely. The colour difference is ABSENT + in Christmastide and Paschaltide (RG 119 already made those seasons + white), which is why those rows carry citations alone -- the + [c.colour = "white"] guard still holds there, being colitur's own value + either way. *) + subset diffs [ Colour_f; First_f; Gospel_f ] + && (List.mem Colour_f diffs || List.mem First_f diffs || List.mem Gospel_f diffs) + && String.equal c.weekday "saturday" && String.equal c.rank "class-4" && String.equal c.colour "white" && String.equal c.subject "bvm" (* C19 (task 8, branch ef-lectionary): the Time-after-Epiphany WEEK-INDEX @@ -1252,7 +1267,11 @@ let layer_c_reason (l : row) (c : row) diffs = diffs = [ First_f; Gospel_f ] && String.equal l.first "-" && String.equal l.gospel "-" && List.mem c.slug lectio_no_reading_slugs then Some "C20" - else if List.mem c.slug rg69_one_hop_slugs && diffs = [ First_f; Gospel_f ] then Some "C25" + (* C25 -- CLOSED, BVM Saturday Mass (2026-08-17), predicate removed: 0 rows. + Its days are unoccupied IV-class Saturdays, so they carry RG 78's office + and now RG 309(a)'s Mass for it, which answers before step 3's walkback + is reached. They still differ from lectio, but for C17's cause, and are + filed there. See data/ef/expected-divergences.sexp's own closure note. *) else if List.mem c.slug holy_week_slugs && diffs = [ First_f; Gospel_f ] then Some "C23" else if String.equal c.slug passion_tuesday_slug && diffs = [ First_f; Gospel_f ] then Some "C26" else if String.equal c.slug advent_ember_sat_slug && diffs = [ First_f; Gospel_f ] then Some "C27" |
