summaryrefslogtreecommitdiff
path: root/lib/rites/rite_ef/precedence_ef.ml
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-11 22:56:07 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-11 22:56:07 +0200
commit8c6788053dce2a365e3ddf22eccc9c68e641f32e (patch)
tree53565e0107effefb46b1e56e5305ef7c5ffa60c2 /lib/rites/rite_ef/precedence_ef.ml
parent07c87370d6a0de687b42a41d967135578f014bdc (diff)
downloadcolitur-8c6788053dce2a365e3ddf22eccc9c68e641f32e.tar.gz
colitur-8c6788053dce2a365e3ddf22eccc9c68e641f32e.zip
rite(ef): fix false justification in impedes_vigil's comment
Review finding: the comment claimed every RG 91 entry that can outrank a II-class vigil (entry 21) without being a Sunday is I class 'by the table's own structure (entries 1-13)'. False -- entries 14 and 16-20 (Feasts of the Lord II class, universal/proper/indult II-class feasts, days within the Nativity octave) are all Class2, all outrank entry 21, and none is a Sunday. The code was always correct: impedes_vigil implements RG 33's own two named conditions (any Sunday, or a I-class feast) directly, and does not depend on the band table's numeric ordering at all. Reworded to say so, citing the counter-example entries the review named instead of appealing to a table structure that does not guarantee what the old comment claimed. Comment-only change; no logic, signature, or test changes.
Diffstat (limited to 'lib/rites/rite_ef/precedence_ef.ml')
-rw-r--r--lib/rites/rite_ef/precedence_ef.ml18
1 files changed, 11 insertions, 7 deletions
diff --git a/lib/rites/rite_ef/precedence_ef.ml b/lib/rites/rite_ef/precedence_ef.ml
index d8d64a8..02181ed 100644
--- a/lib/rites/rite_ef/precedence_ef.ml
+++ b/lib/rites/rite_ef/precedence_ef.ml
@@ -243,13 +243,17 @@ let contains_substring s ~needle =
let is_sunday_slug slug = contains_substring slug ~needle:sunday_marker
-(* RG 33's "any Sunday or a I-class feast": every RG 91 entry that can ever
- outrank a II-class vigil (entry 21) without itself being a Sunday is I
- class by the table's own structure (entries 1-13), so [rank = Class1]
- alone already covers every way a I-class vigil (entries 5, 9 -- Nativity,
- Pentecost) can be impeded at all; the slug check is what a II-class vigil
- impeded by an ordinary Sunday (entry 15, rank Class2) needs, since that
- winner's own rank is not Class1. *)
+(* RG 33's own two conditions, taken directly from its text ("any Sunday or
+ a I-class feast") -- NOT derived from anything about which RG 91 entries
+ can numerically outrank a vigil. [rank = Class1] is the "I-class feast"
+ half. [is_sunday_slug] is the "any Sunday" half, and it is not redundant
+ with the rank check: RG 91 entries 14 and 16-20 (Feasts of the Lord II
+ class, universal/proper/indult II-class feasts, days within the Nativity
+ octave) are all [Class2], all outrank a II-class vigil (entry 21), and
+ none of them is a Sunday -- a winner of that shape satisfies neither
+ condition here, so [impedes_vigil] correctly returns [false] and such a
+ vigil falls through to RG 95's ordinary commemorate-or-omit branch
+ instead of RG 33's omission, exactly as the rubric requires. *)
let impedes_vigil (winner : Vocab_ef.rank Precedence.candidate) =
let cel = winner.Precedence.cel in
cel.Celebration.rank = Vocab_ef.Class1