diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-21 15:07:44 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-21 15:07:44 +0200 |
| commit | 35c11c7ccf95acfb35a7ec34edfa86d92da60e4a (patch) | |
| tree | 63e2e0c8f9c6317f68a52961c7770f72c3ba79c0 /test/test_precedence_ef.ml | |
| parent | 0eae32f67145065b0e4960650ae06c293fd9f272 (diff) | |
| parent | f3ac69d0a679200a48716be065a0fa2e70a2c6da (diff) | |
| download | colitur-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_precedence_ef.ml')
| -rw-r--r-- | test/test_precedence_ef.ml | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/test/test_precedence_ef.ml b/test/test_precedence_ef.ml index 3f3e070..6bd7bfd 100644 --- a/test/test_precedence_ef.ml +++ b/test/test_precedence_ef.ml @@ -370,7 +370,7 @@ let test_all_souls_yields_to_sunday () = in let all_souls = cand ~origin:P.Sanctoral ~layer:PE.universal_layer "ef-all-souls" in let rules = - { P.band = (fun c cd -> PE.band c cd); + { P.vigil_feast = (fun _ -> None); band = (fun c cd -> PE.band c cd); disposition = (fun ~winner:_ ~loser:_ -> P.Omit); admit = (fun ~observed:_ ~temporal:_ cs -> List.map (fun (c, p, (_ : int)) -> (c, p)) cs) } in @@ -1443,7 +1443,11 @@ let test_admit_uses_precedence_not_slug_when_they_disagree () = [rules] deliberately reused, not rebuilt per test, since it is always the same three real functions. *) -let real_rules = { P.band = PE.band; disposition = PE.disposition; admit = PE.admit } +(* The real EF ruleset, including RG 33's third-trigger hook -- a stub here + would make any test built on [real_rules] blind to it. *) +let real_rules = + { P.vigil_feast = PE.vigil_feast; band = PE.band; disposition = PE.disposition; + admit = PE.admit } (* I-class day, zero admitted: the strongest form of "does not vanish" -- EVERY commemoration due is dropped (RG 111: "none save one privileged", @@ -1929,7 +1933,7 @@ let test_all_souls_transfers_end_to_end () = in let all_souls = cand ~origin:P.Sanctoral ~layer:PE.universal_layer "ef-all-souls" in let rules = - { P.band = PE.band; disposition = PE.disposition; + { P.vigil_feast = (fun _ -> None); band = PE.band; disposition = PE.disposition; admit = (fun ~observed:_ ~temporal:_ cs -> List.map (fun (c, p, (_ : int)) -> (c, p)) cs) } in let resolution = P.resolve rules day_ctx ~temporal:sunday ~sanctoral:[ all_souls ] in |
