aboutsummaryrefslogtreecommitdiff
path: root/lib/rites/rite_of/precedence_of.mli
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-25 19:52:46 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-25 19:52:46 +0200
commit29f1cc7e67e75d3f35747e5f6edd4e7ba430f97e (patch)
treeae8d6817bc2761ec30c1ae6d37a4629d1c4cc1c0 /lib/rites/rite_of/precedence_of.mli
parentebbf88dae0110e9cb00935861fae1857107260cc (diff)
downloadcolitur-29f1cc7e67e75d3f35747e5f6edd4e7ba430f97e.tar.gz
colitur-29f1cc7e67e75d3f35747e5f6edd4e7ba430f97e.zip
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.
Diffstat (limited to 'lib/rites/rite_of/precedence_of.mli')
-rw-r--r--lib/rites/rite_of/precedence_of.mli20
1 files changed, 20 insertions, 0 deletions
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