summaryrefslogtreecommitdiff
path: root/test/test_oracle.ml
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-21 15:07:44 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-21 15:07:44 +0200
commit35c11c7ccf95acfb35a7ec34edfa86d92da60e4a (patch)
tree63e2e0c8f9c6317f68a52961c7770f72c3ba79c0 /test/test_oracle.ml
parent0eae32f67145065b0e4960650ae06c293fd9f272 (diff)
parentf3ac69d0a679200a48716be065a0fa2e70a2c6da (diff)
downloadcolitur-35c11c7ccf95acfb35a7ec34edfa86d92da60e4a.tar.gz
colitur-35c11c7ccf95acfb35a7ec34edfa86d92da60e4a.zip
merge: RG 33's third omission trigger
The last unbuilt clause in the EF module. A II/III-class vigil is omitted entirely when the feast it precedes fails to keep its own day -- 1 744 days across 1583-9999, three verified shapes, zero unexplained. Rule and vigil inventory independently confirmed by O'Connell 1964, outside the Divinum Officium -> missalemeum -> lectio lineage. The 10 affected days in 2005-2050 are allow-listed as C39; no external day-level witness exists, which the note states rather than glosses.
Diffstat (limited to 'test/test_oracle.ml')
-rw-r--r--test/test_oracle.ml18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/test_oracle.ml b/test/test_oracle.ml
index 7ee3848..f1d1a89 100644
--- a/test/test_oracle.ml
+++ b/test/test_oracle.ml
@@ -1878,6 +1878,21 @@ let classify_2038 (c : colitur_row) (o : oracle_row) diffs =
else if contains title "Mass of the B. V. M." then Some "BVM-SATURDAY-MASS (M26 shape 1)"
else if first_is "Col 1:12-20" then Some "CHRIST-THE-KING-WEEK (M26 shape 2b)"
else if diffs = [ Colour_f ] && List.mem c.c_observed_slug m21_2038_slugs then Some "COLOUR (M21)"
+ (* RG 33's third omission trigger (register 6.31, implemented
+ 2026-08-21). The Sacred Heart takes 24 June 2038, so the Nativity of St
+ John the Baptist is transferred under RG 96 and the vigil of 23 June is
+ "penitus omissa". missalemeum keeps it -- as does lectio, whose own C39
+ covers this same date on the differential side, which is exactly what
+ one expects of two points on one lineage. Gated on the ORACLE's own
+ title rather than on the date, so a different divergence arriving on 23
+ June could not be silently absorbed here. Cited to the register rather
+ than to an allow-list id because data/ef/expected-divergences-missalemeum.sexp
+ is scoped to the 2026-2027 window, which contains no instance of this
+ clause -- the same convention PERPETUA-COMMON and MISSAL-TWO-PART-CITATION
+ already follow. The tracked, full account is C39's own note in
+ data/ef/expected-divergences.sexp. *)
+ else if contains title "Vigil of the Nativity of St. John the Baptist" then
+ Some "RG33-THIRD-TRIGGER (colitur; register 6.31, see C39)"
else if first_is "Judith" then Some "JUDITH (M28, register 6.6)"
else if c.c_observed_slug = "sts-felicitas-perpetua" then Some "PERPETUA-COMMON (register 6.8)"
else if c.c_observed_slug = "ef-nativity" then Some "CHRISTMAS-MULTI-MASS (M27)"
@@ -2108,6 +2123,9 @@ let test_2038_class_counts () =
("COMM-ONLY-TIE-BREAK (RG-under-determined convention -- register 6.16)", 1);
("JOSEPH-ANNUNCIATION-TRANSFER-ORDER (C14's own collision)", 2);
("JUDITH (M28, register 6.6)", 2);
+ (* RG 33's third trigger: 23 June only -- the Sacred Heart takes 24
+ June 2038 and St John the Baptist transfers. See M31. *)
+ ("RG33-THIRD-TRIGGER (colitur; register 6.31, see C39)", 1);
("MISSAL-TWO-PART-CITATION (register 6.9)", 1);
("COMM-IDENTITY-UNRESOLVED (temporal-origin, no English name -- M15's limit)", 2);
("PERPETUA-COMMON (register 6.8)", 1);