aboutsummaryrefslogtreecommitdiff
path: root/lib/rites/rite_of/precedence_of.mli
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-25 19:59:26 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-25 19:59:26 +0200
commitce67fad69398047739a6ce89fb76f32b136b69f5 (patch)
treeae2074f9602fed00dbb0ed33b7c97bef4e34d717 /lib/rites/rite_of/precedence_of.mli
parent29f1cc7e67e75d3f35747e5f6edd4e7ba430f97e (diff)
downloadcolitur-ce67fad69398047739a6ce89fb76f32b136b69f5.tar.gz
colitur-ce67fad69398047739a6ce89fb76f32b136b69f5.zip
fix(of): correct vigil_feast's justification for of-nativity-vigil
The prior comment claimed of-nativity-vigil is 'not a distinct celebration' - wrong: Temporal_of.named (temporal_of.ml:230) constructs it as its own Sollemnitas-rank candidate on 24 December, a genuine contestant in band/Precedence.resolve. The real reason None is safe is structural, not that. The Nativity is Tabula entry 2 (band 20); only entry 1, the Paschal Triduum (band 10), bands lower. The Triduum's Easter-2..Easter window is confined to 20 March-25 April because Gregorian Easter never falls outside [22 March, 25 April] over the whole 1583-9999 domain (measured exhaustively in test_computus.ml, not assumed), so it can never reach 25 December. The Nativity therefore always keeps its own day and its vigil can never be orphaned by a transfer or reduction. Behaviour is unchanged: vigil_feast still returns None unconditionally. RG 33 (EF-only) and Normae nn. 11/13 remain the reason the hook exists at all and returns None for every other candidate.
Diffstat (limited to 'lib/rites/rite_of/precedence_of.mli')
-rw-r--r--lib/rites/rite_of/precedence_of.mli15
1 files changed, 12 insertions, 3 deletions
diff --git a/lib/rites/rite_of/precedence_of.mli b/lib/rites/rite_of/precedence_of.mli
index 6b30dad..e81d35e 100644
--- a/lib/rites/rite_of/precedence_of.mli
+++ b/lib/rites/rite_of/precedence_of.mli
@@ -69,9 +69,18 @@ val admit :
(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. *)
+ the OF has no vigil OFFICE that its feast's movement could orphan --
+ Normae nn. 11/13 create no such independent celebration for anything
+ other than "of-nativity-vigil". THAT candidate is not exempt by lacking
+ standing: {!Rite_of.Temporal_of.named} constructs it as its own
+ Sollemnitas-rank candidate on 24 December, a genuine contestant in
+ {!band}/{!Colitur_kernel.Precedence.resolve}. It is exempt structurally
+ instead -- the Nativity (Tabula entry 2, band 20) can only ever be beaten
+ by the Triduum (entry 1, band 10), whose window (Easter-2..Easter) is
+ confined to 20 March-25 April because Gregorian Easter never falls outside
+ [22 March, 25 April] (measured exhaustively, 1583-9999, not assumed), so
+ it can never reach 25 December. The Nativity therefore always keeps its
+ own day, and its vigil can never be orphaned. *)
val vigil_feast : Vocab_of.rank Precedence.candidate -> Slug.t option
(** The four functions assembled for {!Colitur_kernel.Precedence.resolve}. *)