From 29f1cc7e67e75d3f35747e5f6edd4e7ba430f97e Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Tue, 25 Aug 2026 19:52:46 +0200 Subject: feat(of): admit and vigil_feast, both argued degenerate admit returns the empty list because disposition never returns Commemorate; vigil_feast returns None because the OF has no vigil office that its feast's movement could orphan -- 'of-nativity-vigil' is a Mass formulary of the solemnity, not a separate celebration. Both are argued from the sources rather than stubbed, and Precedence_of.rules now assembles the four functions the kernel resolver consumes. --- lib/rites/rite_of/precedence_of.mli | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'lib/rites/rite_of/precedence_of.mli') diff --git a/lib/rites/rite_of/precedence_of.mli b/lib/rites/rite_of/precedence_of.mli index be4713d..6b30dad 100644 --- a/lib/rites/rite_of/precedence_of.mli +++ b/lib/rites/rite_of/precedence_of.mli @@ -56,3 +56,23 @@ val disposition : winner:Vocab_of.rank Precedence.candidate -> loser:Vocab_of.rank Precedence.candidate -> Precedence.disposition + +(** [admit]: always the empty list. The OF admits no commemorations at all -- + the direct consequence of {!disposition} never returning [Commemorate], and + argued from the same Normae n. 60. Not a stub: every losing candidate is + still reported in {!Colitur_kernel.Precedence.resolution.omitted} with its + reason, so nothing is dropped silently. All three parameters are unread. *) +val admit : + observed:Vocab_of.rank Precedence.candidate -> + temporal:Vocab_of.rank Precedence.candidate -> + (Vocab_of.rank Precedence.candidate * Precedence.privilege * int) list -> + (Vocab_of.rank Precedence.candidate * Precedence.privilege) list + +(** [vigil_feast]: always [None]. RG 33's third omission trigger is EF-only; + the OF has no vigil OFFICE that its feast's movement could orphan. The + Nativity's "of-nativity-vigil" is a Mass formulary of the solemnity, not a + separate celebration. *) +val vigil_feast : Vocab_of.rank Precedence.candidate -> Slug.t option + +(** The four functions assembled for {!Colitur_kernel.Precedence.resolve}. *) +val rules : (Vocab_of.season, Vocab_of.rank) Precedence.rules -- cgit v1.3