diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-18 11:36:33 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-18 11:36:33 +0200 |
| commit | 0281a846ac7c22d22990a6664a37205930a94b7d (patch) | |
| tree | 3b3d4140d0b3feb005a1bf36b52458b662944e3c /test/test_golden.ml | |
| parent | 01219763c87c84175fcfa469882c6f30a56720d5 (diff) | |
| download | colitur-0281a846ac7c22d22990a6664a37205930a94b7d.tar.gz colitur-0281a846ac7c22d22990a6664a37205930a94b7d.zip | |
fix(ef): the Assumption and St Lawrence vigils are violet (RG 128)
RG 128, transcribed in the rules register since 2026-08-11, gives violet to
"vigils of II and III class outside Paschaltide". The Vigil of the Assumption
(14 August, II class) carried White and the Vigil of St Lawrence (9 August,
III class) carried Red. Both are outside Paschaltide, so both are violet. The
Ascension's vigil is untouched: it is the one II-class vigil inside
Paschaltide and was already correctly white.
The rule had been sitting in the register, disagreeing with the shipped data,
since before the data was bootstrapped. It was invisible because colitur,
lectio and missalemeum all carried the same two wrong colours -- colitur was
bootstrapped from lectio, lectio's ini is generated from missalemeum, and
missalemeum uses Divinum Officium's data files. Three sources agreeing is one
source counted three times, and the differential and the oracle both went
green on the shared error. It surfaced only against witnesses outside that
tree: a published 1962 Ordo flagged the Assumption's, and O'Connell, The
Celebration of Mass 4th ed. (1964), section 4(c) and footnote 169, gave the
general rule and with it St Lawrence's, which the Ordo omits entirely.
Two golden pins added, in years where each vigil is actually observed rather
than impeded. The divergence this creates against every DO-lineage source is
cited in both allow-lists: C37 (lectio, 77 rows -- 92 possible minus 15 where
the vigil falls on a Sunday) and M29 (missalemeum, 3 rows in 2026-2027 and 2
in each of 2035 and 2038). Both gated on the exact slugs or dates and on
colour alone, so any other divergence on those days would still surface.
Also recorded, no code change: rose on Gaudete and Laetare stays. RG 131 is
permissive ("adhiberi possunt") and the Ordo prints violet, so the colour
field carries a permission rather than a requirement on those two Sundays a
year -- a decided position now, not an unexamined one.
Diffstat (limited to 'test/test_golden.ml')
| -rw-r--r-- | test/test_golden.ml | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/test/test_golden.ml b/test/test_golden.ml index 876e3de..33ca362 100644 --- a/test/test_golden.ml +++ b/test/test_golden.ml @@ -1315,9 +1315,38 @@ let test_rogation_wednesday_yields_to_a_feast_2026 () = "2026-05-13 wednesday season=paschaltide week=6 slug=ef-ascension-vigil rank=class-2 colour=white \ subject=temporal name_la=- comms=[robert-bellarmine:ordinary] in=- out=[]" +(* RG 128, transcribed in docs/research/rules-register.md ยง3b: violet is used + for "II/III-class vigils outside Paschaltide". Two of colitur's five vigils + disagreed with that rule until the ef-oconnell-rubrics branch -- the + Assumption's (II class, 14 August) was White and St Lawrence's (III class, + 9 August) was Red. Both are outside Paschaltide, so both are violet. + + O'Connell, The Celebration of Mass 4th ed. (1964), section 4(c) states the + same rule and its footnote 169 names the sole exception -- "the only vigil + of II class within Eastertide is that of the Ascension and its colour is + white" -- which colitur already emits correctly (ef-ascension-vigil, white, + pinned by the two Rogation Wednesday cases just above). + + Pinned in years where each vigil is actually OBSERVED rather than impeded: + 9 August 2025 is a Saturday and 14 August 2025 a Thursday, both checked + with `date -d`. In 2026, 9 August is a Sunday and the vigil never appears. *) +let test_vigil_of_st_lawrence_is_violet_2025 () = + check ~msg:"RG 128: III-class vigil outside Paschaltide is violet, not red" 2025 8 9 + "2025-08-09 saturday season=time-after-pentecost week=8 slug=vigil-of-st-lawrence \ + rank=class-3 colour=violet subject=saint name_la=- comms=[romanus:ordinary] in=- out=[]" + +let test_vigil_of_the_assumption_is_violet_2025 () = + check ~msg:"RG 128: II-class vigil outside Paschaltide is violet, not white" 2025 8 14 + "2025-08-14 thursday season=time-after-pentecost week=9 slug=vigil-of-the-assumption \ + rank=class-2 colour=violet subject=saint name_la=- comms=[eusebius-confessor:ordinary] in=- out=[]" + let suite = ( "golden pins (known-tricky years)", - [ Alcotest.test_case "Easter extreme: 1598 earliest (22 Mar, Gauss-verified)" `Quick + [ Alcotest.test_case "RG128: St Lawrence's vigil is violet (2025)" `Quick + test_vigil_of_st_lawrence_is_violet_2025; + Alcotest.test_case "RG128: the Assumption's vigil is violet (2025)" `Quick + test_vigil_of_the_assumption_is_violet_2025; + Alcotest.test_case "Easter extreme: 1598 earliest (22 Mar, Gauss-verified)" `Quick test_easter_extreme_1598; Alcotest.test_case "Easter extreme: 1666 latest (25 Apr, Gauss-verified)" `Quick test_easter_extreme_1666; |
