From 124d7e2261c721c4a49f7203efc276088c7cb217 Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Sat, 15 Aug 2026 00:16:35 +0200 Subject: kernel+ef: resolve readings, chain steps 1 and 2 Liturgical_day.citations has read "always empty until Plan 4" since Plan 3; it is now filled. Rite.t gains a readings function, rite-supplied for the same reason transfer_target is: what a day with no proper falls back to is a rubric, not a universal. Calendar calls it and passes its own temporal function as the callback the rite needs to reach another date. Steps 1 and 2 only: the observed celebration's own proper, else the day's own temporal slug. Nothing encodes "Lent has daily propers" -- the presence of an entry is the discriminator. --- lib/rites/rite_ef/lectionary_ef.mli | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 lib/rites/rite_ef/lectionary_ef.mli (limited to 'lib/rites/rite_ef/lectionary_ef.mli') diff --git a/lib/rites/rite_ef/lectionary_ef.mli b/lib/rites/rite_ef/lectionary_ef.mli new file mode 100644 index 0000000..fe9359e --- /dev/null +++ b/lib/rites/rite_ef/lectionary_ef.mli @@ -0,0 +1,15 @@ +open Colitur_kernel + +(** The EF lectionary resolution chain. All rubric knowledge about what a day + with no proper falls back to lives here, not in the kernel. + + Steps 1 and 2 only (Task 4): the observed celebration's own proper, else + the day's own temporal slug in the lectionary. A day matching neither + gets [] for now -- the ferial fallback to the preceding Sunday (Task 5) + and the Commons (Task 6) are not built here. *) +val readings : + observed:Vocab_ef.rank Celebration.t -> + temporal:(Vocab_ef.season, Vocab_ef.rank) Temporal.t -> + date:Date.t -> + temporal_at:(Date.t -> (Vocab_ef.season, Vocab_ef.rank) Temporal.t) -> + Citation.t list -- cgit v1.3