aboutsummaryrefslogtreecommitdiff
path: root/test/dune
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-11 22:01:24 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-11 22:04:59 +0200
commit436ba75e27d2aa61b1c6035a22157b40f1a9834b (patch)
tree4ec34520d9627409e72298ab8bfe087527ad07b9 /test/dune
parent1d6be4ac281e62accfb905b137b3c6b494183ee4 (diff)
downloadcolitur-436ba75e27d2aa61b1c6035a22157b40f1a9834b.tar.gz
colitur-436ba75e27d2aa61b1c6035a22157b40f1a9834b.zip
rite(ef): RG 91 Table of Precedence
Precedence_ef.band transcribes RG 91's 28-entry Table of Precedence (rules-register.md ยง4) for the EF rite: given a day's context and a candidate celebration, returns the table's own entry number, 1-28 (I class 1-13, II class 14-21, III class 22-26, IV class 27-28); lower wins. Every branch carries its entry number and register citation in a comment, checked in the table's own numeric order. Two entries are transcribed as the register states them even though they invert the pattern the rest of the table follows: at III class, 23 (particular calendars) outranks 24 (universal), the reverse of how 11/12 and 14/16/19/20 rank a universal feast ahead of a proper one at I and II class. Sanctoral-origin, layer-decided entries (11-13, 14/16/19/20, 23/24) follow the brief's structural insight: a celebration whose layer is not the universal base is an overlay -- proper, or indult if its layer id also carries the indult prefix. Neither the universal-layer id nor the indult prefix is an RG citation; both are colitur's own data-modelling convention, exposed from the module so whichever task loads the real EF sanctoral overlays can align to them. Vigils (21, 26) are read off the temporal cycle's own -vigil slug suffix rather than gated on origin, since a II/III-class vigil can be either temporal-origin (Ascension, already produced by temporal_ef) or sanctoral-origin (a saint's vigil, no task has loaded yet); Ember days (part of entry 18) are read off temporal_ef's own ember slug prefixes rather than re-derived, since the September anchor is independently flagged there as one of the more contested dates in the calendar. A candidate shape the table has no row for (e.g. a Class1 vigil that is not Nativity or Pentecost, or a Class4 candidate marked as a vigil -- RG 91 has no IV-class vigil either) returns a dedicated unclassified sentinel (max_int) rather than being folded into a same-rank entry it does not belong to. test_precedence_ef.ml is table-driven: one Alcotest.test_case per RG 91 entry (55 rows total, several entries covered by more than one named day so a single missed offset cannot hide behind a passing sibling), each date computed from Computus.gregorian_easter rather than hand-typed, so an arithmetic slip cannot pass by accident.
Diffstat (limited to 'test/dune')
0 files changed, 0 insertions, 0 deletions