; data/ef/expected-divergences-lms.sexp -- Task 6 (2026-08-21-colitur- ; celebrant-rubrics-phase1)'s cited allow-list for the LMS Ordo comparison ; (test/test_lms_ordo.ml), fixture window 2024-11-27..2025-12-31. ; ; A SEPARATE file from data/ef/expected-divergences.sexp (the lectio ; allow-list) and data/ef/expected-divergences-missalemeum.sexp (the ; missalemeum/Divinum-Officium-lineage allow-list): this Ordo is a THIRD, ; independent lineage (a printed England & Wales diocesan book, ISBN ; 9781739209636, compiled directly from the 1962 Missal/1960 rubrics -- ; never passed through Divinum Officium, missalemeum or lectio), so its ; own divergences are kept apart rather than tangled into either existing ; file's own provenance. ; ; [verdict] names which side this task's own primary-source research ; backs, the SAME convention the missalemeum file's own header states: ; not always "colitur". ; ; L1 -- CLOSED, FIXED (whole-branch review finding 1, 2026-08-22): was ; 2025-11-03 (All Souls' Day, transferred from 2 November, a Sunday that ; year). colitur used to say the Creed IS said (true) on rank alone ; (475(b), Class1) where the Ordo, correctly, says it is not: "Mon 3 ALL ; SOULS' DAY I Cl B / No Gl Sequence No Cr Pr of the Dead No Blessing". ; ; This entry's own PREVIOUS text argued the divergence could not be fixed ; without a signature change, because [creed]'s inputs (temporal/observed/ ; date) have no notion of "this Mass is a Requiem". That argument was ; wrong: {!Colour.Black} is used by exactly TWO celebrations in the whole ; engine (verified by grepping every [colour Black]/[Colour.Black] site in ; lib/ and data/) -- [commemoration-of-all-souls] (data/ef/sanctoral.sexp) ; and Good Friday (temporal_ef.ml, already [false] via the RG 23(b) feria ; exclusion regardless of colour, and has no Mass at all in the ; 1955-restored Holy Week) -- so on every day this engine can construct, ; [colour = Black] if and only if the Mass is a Requiem: a citable ; implication (RG 117 assigns black to Masses of the dead) on THIS DATA, ; not a heuristic guess. [Rite_ef.Rubrics_ef.creed] now reads ; [observed.colour] as RG 476(f)'s own guard, positioned ahead of 475(b)'s ; rank branch; see rubrics_ef.ml's own header and the guard's own comment ; for the full account, and test_rubrics_ef.ml's ; [test_colour_black_population_is_exactly_two] for the test that fails ; loudly the day a third [Colour.Black] celebration is ever added, so this ; proxy cannot silently rot. ; ; BLAST RADIUS, measured (full 1583-9999 sweep of {!Colitur_kernel. ; Calendar.year}, grouped by [observed]'s own slug): 8 416 days changed ; from [true] to [false], every one [commemoration-of-all-souls] (missing ; from exactly 1 of the 8 417 domain years -- a boundary-year transfer ; effect at 1583/9999, not a third population member: see the "know what ; each layer cannot see"-style caveats elsewhere in this project for other ; instances of the same edge). A further 8 416 [Colour.Black] days are ; Good Friday ([ef-passiontide-2-friday]), unchanged by this fix (already ; [false] before it, via the earlier feria exclusion) -- confirmed ; [creed_true_among_black = 0] after the fix, over the WHOLE domain, not ; merely the fixture's own 2024-2025 window. ; ; `colitur day`/`colitur readings` are unaffected (neither prints [creed]); ; `colitur rubrics` output changes on exactly the 8 416 days above. ; L2 -- OPEN, colitur's own gap, found while building L1's fix (whole- ; branch review finding 2, 2026-08-22). NOT an active entry in this ; file's own machine-checked sense (no code loads or cross-checks an ; "L2" id anywhere -- this file's own [allow_entry] machinery is scoped ; to the CREED axis, {!test_lms_ordo.test_creed_matches_or_is_explained} ; alone; a second, unrelated axis reusing the same id-lookup mechanism ; would let one test's "declared but never fired" check spuriously trip ; on the other axis's own entry). Recorded here as prose only, the same ; discipline this file's own closed L1 note above and ; expected-divergences.sexp's own closed C-entries already use for a ; citation worth preserving without a live parser hook -- the REAL ; enforcement is test_lms_ordo.ml's own [test_formulary_override_matches], ; which asserts this population is exactly 3 days directly. ; ; Strengthening test_lms_ordo.ml's formulary-override check from PRESENCE ; to the actual STRING (this same finding 2) surfaced a real, separate ; defect in step 3 of the reading chain ({!Rite_ef.Lectionary_ef. ; readings}), independent of the Creed axis above. Three real days in the ; fixture window -- 2025-05-30 (Friday), 2025-06-02 (Monday), 2025-06-03 ; (Tuesday), all between Ascension Thursday and the following Sunday -- ; have no proper of their own and fall to {!Colitur_kernel. ; Mass_formulary.Preceding_sunday}. colitur resumes the nearest CALENDAR ; Sunday (the "5th"/"6th Sunday after Easter", Paschaltide's own week ; 6/7), but the Missal, and the Ordo, keep saying ASCENSION'S OWN Mass ; through this stretch instead: "Mass of the Ascension" on all three ; days, never a numbered-Sunday title. Step 3 has no notion of "inside ; Ascension's own after-feast period" -- it always resumes the nearest ; preceding Sunday, numbered or not. ; ; STRUCTURAL, not a fixture artefact: the Ascension is a fixed Easter+39 ; (a Thursday inside Paschaltide week 6), so every feria whose own ; Preceding_sunday fallback would otherwise resolve to week 6 or 7 falls ; in this same stretch, every year -- this is not a coincidence of ; 2024-2025 alone, though only this fixture's own window has been checked ; against a real Ordo. ; ; NOT FIXED in this task: fixing it means teaching step 3, or the ; lectionary data, about Ascension's own after-feast period -- the same ; shape as the Christmastide "infra octavam Nativitatis" entries ; data/ef/lectionary.sexp already carries directly rather than resolving ; through this fallback -- a lectionary-data change out of a fix round's ; own scope. test/test_lms_ordo.ml's own ; [expected_preceding_sunday_override] excludes exactly these two ; (season, week) pairs from its general mapping, and ; [test_formulary_override_matches] asserts the excluded population is ; exactly 3 real days, all showing "Mass of the Ascension", so a change ; to this population (a fourth day, a different Ordo string) would be ; caught rather than silently absorbed. ; ; Domain-wide count: unmeasured -- "which feria is inside Ascension's own ; after-feast period" is not a distinct predicate anywhere in this ; codebase to sweep on. Structurally recurs every year, so on the order ; of 3 days/year x domain years, not merely 3 total.