aboutsummaryrefslogtreecommitdiff
path: root/lib/rites/rite_ef/rubrics_ef.mli
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rites/rite_ef/rubrics_ef.mli')
-rw-r--r--lib/rites/rite_ef/rubrics_ef.mli107
1 files changed, 107 insertions, 0 deletions
diff --git a/lib/rites/rite_ef/rubrics_ef.mli b/lib/rites/rite_ef/rubrics_ef.mli
new file mode 100644
index 0000000..c005aaf
--- /dev/null
+++ b/lib/rites/rite_ef/rubrics_ef.mli
@@ -0,0 +1,107 @@
+(** RG 475-476 (docs/research/LT.txt, grep "dicitur symbolum") -- whether the
+ Creed is said at Mass. The first rubric in this phase governing a PART OF
+ MASS rather than occurrence/precedence, hence its own module: see the
+ .ml's own header for the rubric quoted in full and every branch's
+ citation. *)
+
+open Colitur_kernel
+
+(** RG 475(e)'s "festis nataliciis Apostolorum et Evangelistarum, necnon in
+ festis Cathedrae S. Petri et S. Barnabae Ap." -- see the .ml's own
+ citation for how each entry was derived from and verified against
+ data/ef/sanctoral.sexp, and for what was deliberately excluded. Exposed
+ so the test suite can assert completeness against the shipped data the
+ same way {!Precedence_ef.vigil_feast_table} already lets it. *)
+val creed_apostle_slugs : string list
+
+(** Whether the Creed is said, post-Gospel/homily, at the Mass this day
+ resolves to.
+
+ [temporal] is read for exactly one fact -- RG 475(a)'s own "in qualibet
+ dominica, ETSI EIUS OFFICIUM ALICUI FESTO LOCUM CEDAT" ("on any Sunday,
+ EVEN WHEN a feast displaces its own Office"): a Sunday impeded by a
+ Feast of the Lord (RG 16(a)) still says the Creed, so this reads the
+ TEMPORAL cycle's own weekday, never [observed]'s. Every other clause
+ reads [observed] -- the celebration whose Mass is actually said -- and
+ [date], read once against the rite's own (Gregorian) Easter for the two
+ Easter-relative window questions (RG 475(d)'s three octaves, RG 23's
+ Ash-Wednesday-and-Holy-Week feriae). [creed] never reads
+ {!Liturgical_day.t.commemorations}: RG 476(e), "ratione alicuius
+ commemorationis in Missa occurrentis" [never say the Creed merely
+ because of a commemoration], holds by construction rather than by a
+ checked branch. RG 476(f) ("in Missis defunctorum") reads
+ [observed]'s [colour]: see the .ml's own header for why [Colour.Black]
+ is a sound proxy for "this Mass is a Requiem" on the shipped data, and
+ what would have to be re-checked if that ever stops being true. *)
+val creed :
+ temporal:(Vocab_ef.season, Vocab_ef.rank) Temporal.t ->
+ observed:Vocab_ef.rank Celebration.t ->
+ date:Date.t ->
+ bool
+
+(** Whether the Te Deum was said at Matins (Breviary 1961 Codex Rubricarum
+ nn. 237-238) -- NOT the Divine Office arriving in scope, but a single
+ Breviary fact {!gloria}'s own RG 431(a) defers a Mass question to. See
+ the .ml's own header for the rubric quoted in full, every branch's own
+ citation, and this source's own stated weakness (a single, not yet
+ scan-verified, web transcription -- docs/research/breviary/PROVENANCE.md).
+ Same three parameters as {!creed}, for the same reasons: [temporal] for
+ the day's own weekday/season, [observed] for the celebration whose
+ Office is actually kept, [date] for the Easter-relative window
+ questions. *)
+val te_deum :
+ temporal:(Vocab_ef.season, Vocab_ef.rank) Temporal.t ->
+ observed:Vocab_ef.rank Celebration.t ->
+ date:Date.t ->
+ bool
+
+(** Whether the Gloria in excelsis is said at this day's Mass (RG 431-432).
+ 431(a)/432(a) defer to {!te_deum}; 431(c) (Holy Thursday, the Easter
+ Vigil Mass) and 432(b)/(d) (violet vestments; a Requiem) are
+ independent overrides, checked ahead of the Te Deum-derived answer --
+ see the .ml's own header for the full account, including which of
+ 431/432's own clauses this engine has no votive-Mass-class dimension to
+ implement and are therefore marked not-applicable rather than silently
+ skipped. *)
+val gloria :
+ temporal:(Vocab_ef.season, Vocab_ef.rank) Temporal.t ->
+ observed:Vocab_ef.rank Celebration.t ->
+ date:Date.t ->
+ bool
+
+(** RG 487(a)'s own two fixed-feast triggers for the Holy Cross preference
+ (the Exaltation of the Holy Cross, the Most Precious Blood) -- see the
+ .ml's own citation for what RG 487(a)'s further-named categories (the
+ Passion/Instruments of the Passion, the Most Holy Redeemer) are absent
+ from the shipped calendar entirely, not merely from this list. *)
+val preface_holy_cross_slugs : string list
+
+(** RG 496's own two St Joseph feasts in the shipped calendar. *)
+val preface_st_joseph_slugs : string list
+
+(** RG 497's own [Apostolorum et Evangelistarum] population -- WIDER than
+ {!creed_apostle_slugs} (no natalicium restriction); includes
+ "conversion-of-st-paul" (Preface-witnesses task, 2026-08-23, four
+ independent unimpeded-year confirmations across two publishers -- see
+ the .ml's own citation for the full evidence and the survey of every
+ other Apostle/Evangelist-named slug that was checked and NOT added. *)
+val preface_apostle_slugs : string list
+
+(** RG 495's own [beatae Mariae Virginis] population -- WIDER than
+ {!Precedence_ef.marian_slugs} (a different, looser standard than that
+ list's own RG 112(d) oration-level one); see the .ml's own citation
+ for the FIUV Ordo evidence. *)
+val preface_bvm_slugs : string list
+
+(** Which preface is said at this day's Mass (RG 482-499). [None] both when
+ this engine resolves a day with no Mass at all (Good Friday) and -- for
+ a rite that has not implemented this function at all -- as the type's
+ own neutral value; see the .ml's own header for the rubric quoted in
+ full, the priority order every branch follows and why, and the FIUV
+ Ordo evidence that order rests on. Same three parameters as {!creed}/
+ {!te_deum}/{!gloria}, for the same reasons. *)
+val preface :
+ temporal:(Vocab_ef.season, Vocab_ef.rank) Temporal.t ->
+ observed:Vocab_ef.rank Celebration.t ->
+ date:Date.t ->
+ Preface.t option