aboutsummaryrefslogtreecommitdiff
path: root/lib/rites/rite_of/rubrics_of.mli
blob: ced9193f6ddf26275506374dd82631cfdd9a9614 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
(** IGMR n. 53 (Gloria), n. 67-68 (Symbolum/Credo), n. 364-365 and the
    Missale Romanum editio typica tertia (2002)'s own printed "INDEX
    PRAEFATIONUM" (preface choice) -- see the .ml's own header for every
    paragraph quoted in full and every branch's own citation. The OF
    counterpart of {!Rite_ef.Rubrics_ef}; same shape, same three functions,
    same [Rite.t] signatures -- but see [preface]'s own citation for why
    this file's verdict on {!Colitur_kernel.Preface.t} differs sharply from
    what {!Rite_ef.Rubrics_ef.preface} was able to build. *)

open Colitur_kernel

(** The one Requiem-shaped entity the shipped OF calendar can ever construct
    as [observed] (All Souls, 2 November) -- see the .ml's own header for
    why colour cannot serve as the Requiem proxy here the way
    {!Colour.Black} does for {!Rite_ef.Rubrics_ef} (OF permits, but never
    requires, black vestments for the dead -- IGMR n. 346 e -- and the
    shipped data uses violet), so a closed slug list, checked against
    [data/of/calendar-2002.sexp] directly, is the only signal available.
    Exposed so the test suite can assert this population stays exactly
    what it was measured to be, the same discipline
    {!Rite_ef.Rubrics_ef.creed_apostle_slugs} already establishes. *)
val requiem_slugs : string list

(** Whether the Gloria in excelsis is said at this day's Mass (IGMR n. 53).
    [temporal] is read for exactly one fact -- n. 53's own "diebus dominicis
    EXTRA TEMPUS ADVENTUS ET QUADRAGESIMAE": {!Rite_of.Temporal_of.temporal}
    tags every Sunday of Advent/Lent/Easter [Sollemnitas] (the same rank a
    genuine solemnity carries), so testing [observed.rank] alone would
    wrongly grant an Advent or Lent Sunday the Gloria n. 53 explicitly
    denies it -- the identical "read temporal, not observed, for a day-of-
    week/season fact" discipline {!Rite_ef.Rubrics_ef.creed}'s own RG 475(a)
    citation already establishes. [date] is read once, against the rite's
    own (Gregorian) Easter, for the two Missale-Romanum-own-rubric
    exceptions (Holy Thursday evening Mass, the Easter Vigil Mass) -- see
    the .ml's own citation for the primary text, found in the Missal's
    Proper of Time rather than the IGMR itself. [observed]'s [slug] is
    checked once against {!requiem_slugs} -- see that value's own citation
    for why this is an INFERENCE, not an IGMR paragraph, and exactly how
    narrowly it is applied. *)
val gloria :
  temporal:(Vocab_of.season, Vocab_of.rank) Temporal.t ->
  observed:Vocab_of.rank Celebration.t ->
  date:Date.t ->
  bool

(** Whether the Symbolum (Credo) is said, post-homily, at this day's Mass
    (IGMR n. 67-68). Named [creed], not [credo]: IGMR n. 67's own heading is
    "Professio fidei" and its body says "Symbolum", never "Credo" (checked
    directly, igmr.txt:568-577) -- "Credo" is this file's own prose
    shorthand, kept in comments and test labels, but the exported name
    matches {!Colitur_kernel.Rite.t.creed}'s own field exactly, the same
    "interface name matches the kernel field it satisfies" discipline
    {!Rite_ef.Rubrics_ef.creed} already follows. Reads [temporal] for the
    identical reason [gloria] does -- n. 68's own "diebus dominicis" is a
    plain, weekday-only fact, unlike n. 53's Advent/Lent carve-out, so every
    Sunday qualifies (Advent/Lent Sundays INCLUDED, unlike [gloria]) -- and
    [observed]'s [rank] for n. 68's own "in sollemnitatibus", and [slug]
    against {!requiem_slugs} for the identical reason [gloria] checks it.
    Narrower than [gloria] on purpose: n. 68 has no "et festis" clause at
    all, so a [Festum]-rank day (an ordinary feast) does NOT get the Creed
    -- the one place this function's shape most visibly parts from EF's own
    RG 475(b)/(c). [date] is accepted, for signature symmetry with
    [gloria]/[preface] and {!Rite.t}'s own shared shape, but genuinely
    unread: n. 67-68 carries no Easter-relative window of its own, unlike
    RG 475(d)'s three EF octaves -- checked, not assumed (see the .ml's own
    citation). *)
val creed :
  temporal:(Vocab_of.season, Vocab_of.rank) Temporal.t ->
  observed:Vocab_of.rank Celebration.t ->
  date:Date.t ->
  bool

(** Which preface is said at this day's Mass (IGMR n. 364-365; the Missale's
    own "INDEX PRAEFATIONUM"). ALWAYS [None] -- not a stub, a measured
    verdict: see the .ml's own header for the full census of the 2002
    Missal's preface collection (over 50 individual texts across ~30 named
    occasions) against {!Preface.t}'s 15 EF-cited constructors, and why
    none of them is safe to reuse. Same three parameters as [gloria]/
    [creed], all three genuinely unread -- kept only for {!Rite.t}'s shared
    shape. *)
val preface :
  temporal:(Vocab_of.season, Vocab_of.rank) Temporal.t ->
  observed:Vocab_of.rank Celebration.t ->
  date:Date.t ->
  Preface.t option