aboutsummaryrefslogtreecommitdiff
path: root/test/test_differential.ml
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_differential.ml')
-rw-r--r--test/test_differential.ml65
1 files changed, 61 insertions, 4 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
(* ---------------------------------------------------------------------- *)