From 71054def597178f8143ed121e33460558456cce6 Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Tue, 18 Aug 2026 16:38:15 +0200 Subject: test(differential): C8 closed, C6 narrowed to naming lectio gained Rogation Monday and Tuesday (RG 87, violet under RG 128(d)) and the Missal's own Mass for the weekdays within the Octave of the Nativity ("Diebus infra octavam Nativitatis Domini", Titus 3:4-7 / Luke 2:15-20). C8 26 -> 0 CLOSED C6 119 -> 119 narrowed: the cause halved, the count did not C6 is worth reading carefully rather than skimming the number. Its rows no longer differ on First_f or Gospel_f at all -- the two engines now read the SAME Mass on 29-31 December, where lectio previously served the Sunday's. What is left is Slug_f alone, colitur's ef-nativity-octave-day-N against lectio's ef-christmas-N-weekday. That is vocabulary, not disagreement. The count did not move because the entry's gate already admitted a Slug_f-only subset, which is exactly the case where a row count is a misleading summary. 17 classes, 1019 rows, agreement 93.9%. --- data/ef/expected-divergences.sexp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'data') diff --git a/data/ef/expected-divergences.sexp b/data/ef/expected-divergences.sexp index 1c3c9e8..6a2b72b 100644 --- a/data/ef/expected-divergences.sexp +++ b/data/ef/expected-divergences.sexp @@ -85,13 +85,15 @@ CITATION component, new this task: Important 3(a) (tools/bootstrap_lectionary.ml VERDICT, split by the SAME 138-row population, not two entries: on the 119 rows where 29-31 December is an ordinary WEEKDAY that year, colitur's `Tit. 3,4-7` citation is CONFIRMED CORRECT against the Missal (verdict colitur would be accurate for this subset alone). On the 19 rows where 29-31 December IS ITSELF a Sunday that year (2006-12-31, 2007-12-30, 2012-12-30, 2013-12-29, 2017-12-31, 2018-12-30, 2019-12-29, 2023-12-31, 2024-12-29, 2028-12-31, 2029-12-30, 2030-12-29, 2034-12-31, 2035-12-30, 2040-12-30, 2041-12-29, 2045-12-31, 2046-12-30, 2047-12-29 -- independently re-derived against `date -d +%u` for every one of the 138 dates, not estimated), RG 69's own unconditional rule means the SUNDAY'S distinct Office should be observed instead -- colitur's `Temporal_ef` does not distinguish the two cases at the slug level at all, so it emits the weekday formulary there too, which is WRONG by this reading. This is a genuine [Temporal_ef] defect (not a lectionary/bootstrap issue, and not something this generator can fix on its own), out of this task's own safe scope -- a behaviour change to a shared, multi-round-reviewed kernel-adjacent function, the same discipline C25 below explains for its own one-hop-removed consequence of this identical gap. [verdict] is [open], not [colitur], because a single per-entry verdict cannot honestly claim BOTH sub-populations at once, and the coordinator's own instruction was explicit: mark it questioned, not leave a verdict the evidence contradicts. -Gated on the literal date window (month=12, day in {29,30,31}) AND colitur's own slug family (`nativity_octave_day_slugs`) AND `subset diffs [ Slug_f; First_f; Gospel_f ]` (widened this task from the exact-match `diffs = [ Slug_f ]` the pre-citation-comparison entry used -- narrowing back to exact-match would have silently re-excluded the very citation divergence this task exists to surface). Derived directly from the OCaml comparator's own failure output (test_layer_c_counts_match_citations), not hand-counted first and cross-checked after: 138. NARROWED (Nativity-Octave fix, 2026-08-18): 138 -> 119. Nineteen of these days are 26-28 December, which colitur now builds as days WITHIN the Octave of the Nativity (RG 67) rather than generic Christmastide ferias, so their temporal identity -- and with it their divergence shape -- changed. Not a re-adjudication: the same RG 69 disagreement on the days that remain. VERDICT CLOSED 2026-08-18, open -> colitur, because the defect this entry named was FIXED rather than re-argued. The note above splits the old 138 rows into 119 weekday rows, where it already recorded colitur's citation as CONFIRMED CORRECT and said verdict colitur would be accurate for that subset alone, and 19 Sunday rows where colitur emitted the weekday formulary in defiance of RG 69 and was plainly wrong -- a genuine Temporal_ef defect it deliberately left out of scope. Temporal_ef now excludes Sundays from the octave-day branch (register 6.17, confirmed against the oracle: missalemeum shows Sunday in the Octave of Christmas on 2035-12-30 where colitur showed a feria), so those 19 rows no longer occur at all and the count fell 138 -> 119 -- exactly the population this note had already enumerated by date. What remains is only the subset this entry itself certified correct: colitur says the Missal's own Diebus infra octavam formulary, lectio falls back to whichever civil Sunday precedes the date. Verdict colitur, on the reasoning already written here rather than on anything new.") +Gated on the literal date window (month=12, day in {29,30,31}) AND colitur's own slug family (`nativity_octave_day_slugs`) AND `subset diffs [ Slug_f; First_f; Gospel_f ]` (widened this task from the exact-match `diffs = [ Slug_f ]` the pre-citation-comparison entry used -- narrowing back to exact-match would have silently re-excluded the very citation divergence this task exists to surface). Derived directly from the OCaml comparator's own failure output (test_layer_c_counts_match_citations), not hand-counted first and cross-checked after: 138. NARROWED (Nativity-Octave fix, 2026-08-18): 138 -> 119. Nineteen of these days are 26-28 December, which colitur now builds as days WITHIN the Octave of the Nativity (RG 67) rather than generic Christmastide ferias, so their temporal identity -- and with it their divergence shape -- changed. Not a re-adjudication: the same RG 69 disagreement on the days that remain. VERDICT CLOSED 2026-08-18, open -> colitur, because the defect this entry named was FIXED rather than re-argued. The note above splits the old 138 rows into 119 weekday rows, where it already recorded colitur's citation as CONFIRMED CORRECT and said verdict colitur would be accurate for that subset alone, and 19 Sunday rows where colitur emitted the weekday formulary in defiance of RG 69 and was plainly wrong -- a genuine Temporal_ef defect it deliberately left out of scope. Temporal_ef now excludes Sundays from the octave-day branch (register 6.17, confirmed against the oracle: missalemeum shows Sunday in the Octave of Christmas on 2035-12-30 where colitur showed a feria), so those 19 rows no longer occur at all and the count fell 138 -> 119 -- exactly the population this note had already enumerated by date. What remains is only the subset this entry itself certified correct: colitur says the Missal's own Diebus infra octavam formulary, lectio falls back to whichever civil Sunday precedes the date. Verdict colitur, on the reasoning already written here rather than on anything new. NARROWED, not closed, 2026-08-18: still 119 rows, but the CAUSE has halved. lectio now serves the Missal's own 'Diebus infra octavam Nativitatis Domini' Mass on 29-31 December (Titus 3:4-7 / Luke 2:15-20) instead of falling back to the Sunday's, so First_f and Gospel_f no longer differ on any of these days -- what remains is Slug_f alone, colitur's ef-nativity-octave-day-N against lectio's ordinary ef-christmas-N-weekday. That is naming, not disagreement: the two engines now read the same Mass on the same day. This entry's own gate already admits a Slug_f-only subset, which is why the count did not move even though the substantive half of the divergence did.") (expected_rows 119)) - ((id C8) - (citation "RG 87 (Minor Litanies/Rogations, Mon/Tue before Ascension); register ยง3c item 3") - (verdict colitur) - (note "Rogation Monday and Tuesday exist as colitur's own ef-rogation-{monday,tuesday} slugs (violet) whenever no higher-ranked saint intervenes. lectio computes no Rogation days at all and shows the plain paschaltide-week-6 feria instead. REFRESHED (ef-rebootstrap fixture refresh, 2026-08-12): expected_rows UNCHANGED at 31 -- lectio's fix wave did not touch Rogation computation at all (not named in any of its seven defects), independently confirmed by re-deriving the count against the refreshed fixture (same Python cross-check as C1/C6, matched the OCaml comparator's own failure output before being set here). CORRECTED, ef-sanctoral-status: 31 -> 26. Five rows left this entry for C38 when `ubaldus` (16 May) was promoted to Feast on the Missal's own calendarium: 16 May can itself be a Rogation Monday or Tuesday, and a III-class feast outranks the Rogation feria, so on those five days colitur's observed office is now the saint and the divergence is C38's, not this entry's. The rows did not stop diverging; their CAUSE changed, and they are filed where the cause is cited.") - (expected_rows 26)) + ; C8 -- CLOSED, REMOVED (2026-08-18): 0 of 16801 rows, was 26. lectio builds + ; Rogation Monday and Tuesday now (RG 87, Easter+36/+37, violet under + ; RG 128(d)). The Wednesday is NOT built there and deliberately so: Easter+38 + ; is the Ascension's Vigil, which wins the day, and the rubric asks for a + ; 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) -- cgit v1.3