aboutsummaryrefslogtreecommitdiff
path: root/lib/rites/rite_ef/precedence_ef.ml
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rites/rite_ef/precedence_ef.ml')
-rw-r--r--lib/rites/rite_ef/precedence_ef.ml36
1 files changed, 33 insertions, 3 deletions
diff --git a/lib/rites/rite_ef/precedence_ef.ml b/lib/rites/rite_ef/precedence_ef.ml
index c9e6a55..dd75765 100644
--- a/lib/rites/rite_ef/precedence_ef.ml
+++ b/lib/rites/rite_ef/precedence_ef.ml
@@ -1325,9 +1325,39 @@ let disposition ~(winner : Vocab_ef.rank Precedence.candidate)
accurate, already decides every real case this codebase's current data
produces; the slug fallback below is exercised only between two
[Commemoration_only] candidates tied at {!unclassified} (138 of the 599,
- all order/count-invisible -- RG 91 has no table position for either of
- them to compare, so there is nothing more specific RG 113 could supply
- here either). {!band} needs a [context] this function itself does not
+ RG 91 having no table position for either of them to compare).
+
+ CORRECTED 2026-08-18: this used to add "all order/count-invisible", which
+ was true of 2005-2050 -- the range it was measured over -- and is NOT true
+ generally. 2038-06-02 is a live counter-example, found when the 2035/2038
+ oracle windows began comparing commemorations: the Ascension Vigil is II
+ class, RG 111(c) admits exactly ONE commemoration, and the two candidates
+ are `rogation-wednesday` and `sts-marcellinus-peter-erasmus` -- both
+ genuinely [Commemoration_only] (2 June reads "Commemoratio ... Comm." in
+ the calendarium itself, LT.txt:5148 and scan1.txt:2828, so the data is
+ right, not defective). The slug fallback therefore decides which
+ commemoration the day KEEPS, not merely how two kept ones are ordered.
+ missalemeum keeps the saints; this keeps the Rogation, on nothing but
+ "rogation-" sorting before "sts-".
+
+ AND THE RUBRIC GENUINELY DOES NOT SETTLE IT, checked rather than assumed.
+ RG 113's second sentence needs a table position and neither has one. Its
+ FIRST sentence, "Commemoratio de Tempore fit primo loco", looked like the
+ answer -- a Rogation being plausibly *de Tempore* -- but RG 81 forecloses
+ it in terms: "De Litaniis maioribus ... Earum autem commemoratio NON EST
+ HABENDA commemoratio «de Tempore»" (LT.txt:1399-1401), and RG 89 extends
+ RG 81 to the minor Litanies. So a Rogation commemoration is explicitly not
+ *de Tempore*, and tagging the entry [Subject.Temporal] to reach that
+ sentence would have been WRONG -- the [Subject.Saint] it carries,
+ inherited from the Major Litanies precedent, stands. RG 114 says only that
+ what exceeds the number is omitted, never which.
+
+ What remains is therefore a genuine LACUNA, not an unfound rule: the slug
+ order below is a documented CONVENTION for a case the Rubricae Generales
+ leave open, deliberately kept rather than changed to match the oracle --
+ which would be adopting an answer with no more warrant than this one, from
+ a source already adjudicated wrong six times over. See
+ docs/research/rules-register.md §6.16. {!band} needs a [context] this function itself does not
have (date/season/weekday) -- unlike [dignity], which read [rank] alone
-- so {!Precedence.resolve} now computes each candidate's own [band]
value once, generically, and hands it to [admit] as the trailing [int]