aboutsummaryrefslogtreecommitdiff
path: root/test/test_precedence_ef.ml
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-11 23:41:33 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-11 23:41:33 +0200
commit3583448631c1f1cf0767728d605a858fcb810cfc (patch)
tree83975a3e6afde5b4bae42e3649bb03940716f928 /test/test_precedence_ef.ml
parent2ad350e0f97a99f76ac1d2d95cfa210f7393c777 (diff)
downloadcolitur-3583448631c1f1cf0767728d605a858fcb810cfc.tar.gz
colitur-3583448631c1f1cf0767728d605a858fcb810cfc.zip
rite(ef): an impeded I-class Sunday commemorates, not transfers
disposition's Class1 branch was unconditional on rank, so an impeded I-class Sunday (Advent/Lent/Passiontide/Low Sunday) currently transferred like a feast. RG 95 (register lines 323, 363) restricts the right of translation to I-class FEASTS -- RG 91's own table lists Sundays as a separate row (entry 6, line 332) from feasts (entries 11-13, lines 337-339) -- and RG 109(a) (line 374) lists "of a Sunday" as a privileged commemoration category, which presupposes an impeded Sunday stays put rather than moving to another day. Excludes is_sunday_slug losers from the Transfer branch so they fall through to the existing Commemorate (privilege_of loser) branch, which already tags them Privileged via RG 109(a) with no further change. Fires on real dates in the 2005-2050 differential window: 24 December on Advent IV in 2023, 2028, 2034, 2045; 8 December on an Advent Sunday in 2024, 2030, 2041. Verified no previously-passing Transfer assertion used a Sunday-shaped loser (grepped test_precedence_ef.ml, test_calendar.ml -- which uses its own synthetic rite unrelated to Precedence_ef.disposition -- test_colitur.ml, test_validate.ml); confirmed by mutation-reverting the fix and observing exactly the one new test fail, nothing else.
Diffstat (limited to 'test/test_precedence_ef.ml')
-rw-r--r--test/test_precedence_ef.ml22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/test_precedence_ef.ml b/test/test_precedence_ef.ml
index f3fd357..09c41fd 100644
--- a/test/test_precedence_ef.ml
+++ b/test/test_precedence_ef.ml
@@ -318,6 +318,28 @@ let disposition_cases =
cand "ef-nativity",
cand ~origin:P.Sanctoral ~layer:PE.universal_layer "ef-local-i-class-feast",
"Transfer" );
+ (* Fix round 1 (post-Task-9 review): RG 95 (register lines 323, 363)
+ restricts the right of translation to I-class FEASTS -- RG 91's own
+ table lists Sundays as a separate row (entry 6, register line 332)
+ from feasts (entries 11-13, lines 337-339) -- so an impeded I-class
+ Sunday must NOT transfer, unlike the plain I-class feast row above:
+ same [Class1] rank, same kind of winner, the ONLY difference is that
+ this loser's slug carries [PE.sunday_marker]. RG 109(a) (register
+ line 374) confirms this from the other direction: "of a Sunday" is a
+ privileged commemoration category, which presupposes an impeded
+ Sunday stays put rather than moving to another day the way a feast
+ does. Sourced from [Temporal_ef.temporal]'s own real output (Advent I
+ Sunday 2026, Class1, "ef-advent-sunday-1"), the same coupling-safety
+ reason [of_temporal]'s other callers use it -- this is also a
+ realistic shape: 8 December falls on an Advent Sunday in 2024, 2030
+ and 2041 (Immaculate Conception, RG 91 entry 4, outranking entry 6),
+ and 24 December falls on Advent IV in 2023, 2028, 2034 and 2045 (the
+ Nativity Vigil, also entry 5 outranking entry 6). *)
+ ( "RG95/RG109(a): an impeded I-class SUNDAY does NOT transfer -- it is \
+ Commemorated and Privileged",
+ cand ~origin:P.Sanctoral ~layer:PE.universal_layer "ef-immaculate-conception",
+ of_temporal (T.advent_start 2026),
+ "Commemorate(Privileged)" );
(* RG 33 -- register line 383-384: a I/II-class vigil impeded by any
Sunday or a I-class feast is entirely OMITTED, not commemorated. The
vigil is sourced from [Temporal_ef.temporal]'s own real output (as