diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/test_differential.ml | 65 | ||||
| -rw-r--r-- | test/test_lectionary.ml | 21 |
2 files changed, 80 insertions, 6 deletions
diff --git a/test/test_differential.ml b/test/test_differential.ml index 998a8fa..655a054 100644 --- a/test/test_differential.ml +++ b/test/test_differential.ml @@ -840,6 +840,50 @@ let holy_week_slugs = entry). 43 + 3 = 46, the full domain, with no residue. *) let passion_tuesday_slug = "ef-passiontide-1-tuesday" +(* C27/C28 (task 8, fix round 3, coordinator review, Important): two more + Ember Saturdays shipping a saint's Mass verbatim from lectio's ini -- + the exact C26 shape, found by re-review after the fixes above had + already closed the shapes both this file's own reachability check and + the earlier rounds' fixes could catch. Both are multi-lesson Ember + Masses, but neither needed C23/C24's "last lesson before the Gospel" + CONVENTION: both readings are explicitly labelled "Lectio Epistolae" in + the Missal, exactly like Holy Saturday's own Epistle, distinct from the + several numbered prophecies that precede them -- a textual fact, not an + editorial choice (tools/bootstrap_lectionary.ml's own + [ember_saturday_corrections] comment has the full citations and both + scans' line references). + + - C27, [ef-advent-ember-sat] ("Sabbato Quatuor Temporum Adventus"): + 2 Thess 2:1-8 / Luke 3:1-6. lectio's own ini value (Eph 2:19-22 / + John 20:24-29) is St Thomas the Apostle's Mass (21 December). + - C28, [ef-september-ember-sat] ("Sabbato Quatuor Temporum + septembris"): Heb 9:2-12 / Luke 13:6-17. lectio's own ini value + (Ezek 1:10-14 / Matt 9:9-13) is St Matthew's Mass (21 September, the + calling of Matthew). + + Both genuinely observed offices, confirmed against the real resolver, + not assumed. Gated on the literal slug and [diffs] staying exactly + [First_f; Gospel_f] (identity already agrees -- season/slug/rank/colour + were never the problem, only the reading). Derived directly from the + OCaml comparator's own failure output, not hand-counted first and + cross-checked after: C27 40, C28 40 -- not 46, and both traced, not + merely accepted, to the IDENTICAL 6 civil years (2013, 2019, 2024, + 2030, 2041, 2047): 21 September and 21 December are always exactly 91 + days apart, an exact multiple of 7, so they fall on the SAME weekday + every year -- confirmed directly, not merely arithmetic (`date -d` + agrees for all six). In precisely these 6 years both fall on a + Saturday, so Matthew's and Thomas's own FIXED feast days coincide with + their respective Ember Saturday, and the SAINT wins outright (a real, + correct occurrence result, RG 91's own table -- both engines agree, so + these rows never reach C27/C28 at all). This is also the likely origin + of lectio's own wrong ini values in the first place: bootstrapped from + whichever single calendar year lectio's own generator was run against, + which happened to be one of these coincidence years, generalising a + real but YEAR-SPECIFIC coincidence into a permanent template value. 40 + + 6 = 46, the full domain, no residue. *) +let advent_ember_sat_slug = "ef-advent-ember-sat" +let september_ember_sat_slug = "ef-september-ember-sat" + (* C25 (task 8, fix round 1, coordinator review, Important 3(b)) -- [verdict open], the SAME RG 69 gap C6 above re-opened, one hop removed. RG 69 (docs/research/scan1.txt:625-631, word for word: "De dominica @@ -892,10 +936,21 @@ let passion_tuesday_slug = "ef-passiontide-1-tuesday" differ, not re-asserted as a proven arithmetic rule a third time. Gated on the literal 4-slug family and [diffs] staying exactly [First_f; Gospel_f] (identity already agrees -- this is a pure content - consequence). Derived directly from the OCaml - comparator's own failure output, not hand-counted first and cross- - checked after: 57 (19 + 19 + 13 + 6, Wednesday/Thursday/Friday/ - Saturday respectively). *) + consequence). + + CORRECTED, fix round 3 (coordinator review): the TOTAL, 57, comes + directly from the OCaml comparator's own failure output (its own + [expected_rows] pin, cross-checked against a full test run). The + PER-WEEKDAY split does not -- the comparator reports per-id totals + only, never a per-weekday breakdown -- so that finer split was + produced by a separate pass over the raw per-slug failure list, not + the comparator itself, and a prior version of this note wrongly + implied otherwise. That prior version also rotated the labels: it + read "19 + 19 + 13 + 6, Wednesday/Thursday/Friday/Saturday + respectively" (the right four numbers, the wrong weekday each was + attached to). Re-measured directly against the real resolver: + Wednesday 6, Thursday 19, Friday 19, Saturday 13 (6 + 19 + 19 + 13 = + 57, no residue). *) let rg69_one_hop_slugs = [ "ef-christmas-1-wednesday"; "ef-christmas-1-thursday"; "ef-christmas-1-friday"; "ef-christmas-1-saturday" ] @@ -1006,6 +1061,8 @@ let layer_c_reason (l : row) (c : row) diffs = else if List.mem c.slug lent_ember_slugs && diffs = [ First_f; Gospel_f ] then Some "C22" 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" + else if String.equal c.slug september_ember_sat_slug && diffs = [ First_f; Gospel_f ] then Some "C28" else None (* ---------------------------------------------------------------------- *) diff --git a/test/test_lectionary.ml b/test/test_lectionary.ml index e88f103..3fbf8c5 100644 --- a/test/test_lectionary.ml +++ b/test/test_lectionary.ml @@ -100,8 +100,14 @@ let test_ef_data_file_loads () = Passion Tuesday's own real citation (+1, fix round 2); three hand-authored directly from the Missal, the fixed Nativity-Octave days (+3); one entry derived from an already-translated one - rather than re-typed ([ef-holy-name], +1). - 119 + 1 - 1 + 1 + 6 + 1 + 3 + 1 = 131. *) + rather than re-typed ([ef-holy-name], +1); two ini sections + EXCLUDED, fix round 3 -- "ef-advent-ember-sat"/ + "ef-september-ember-sat" carried a saint's Mass verbatim (Thomas + the Apostle's/Matthew's, the C26 shape), not the real Ember + Saturday (-2); two hand-authored directly from the Missal + replacing them, [ember_saturday_corrections] (+2, net 0 against + the -2 immediately above). + 119 + 1 - 1 + 1 + 6 + 1 + 3 + 1 - 2 + 2 = 131. *) Alcotest.(check int) "entry count" 131 (List.length (Lectionary.entries l)); (match Lectionary.find l (slug "ef-lent-1-monday") with @@ -173,6 +179,17 @@ let test_ef_data_file_loads () = check_entry "ef-nativity-octave-day-5" "Titus 3:4-7" "Luke 2:15-20"; check_entry "ef-nativity-octave-day-6" "Titus 3:4-7" "Luke 2:15-20"; check_entry "ef-nativity-octave-day-7" "Titus 3:4-7" "Luke 2:15-20"; + (* Fix round 3 (coordinator review, Important): two more Ember + Saturdays that inherited a saint's Mass verbatim from lectio's + ini, the exact C26 shape -- pinned here so a future regeneration + that silently reverts to the wrong (saint's) value fails loudly + and locally, the same discipline the Lent Ember/Passion Tuesday + pins above already established for their own fix rounds. Both + readings are explicitly labelled "Lectio Epistolae" in the + Missal, so neither needed the "last lesson before the Gospel" + convention Holy Wednesday/Good Friday above rely on. *) + check_entry "ef-advent-ember-sat" "2 Thess 2:1-8" "Luke 3:1-6"; + check_entry "ef-september-ember-sat" "Heb 9:2-12" "Luke 13:6-17"; (* Lent's OWN "ef-lent-1-wednesday/friday/saturday" keys must not reappear once renamed away (colitur never computes them as its own slug at all) -- a regression net for that decision, not |
