diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-22 22:40:07 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-22 22:40:07 +0200 |
| commit | 761ae859d73660bcfaa59581312989cb942e704d (patch) | |
| tree | adcf7aa53f104fd753769445ced043946d6f0927 /lib/render/template.mli | |
| parent | 9c96e0afc19925b651e0dfee3bc9182dee72acf0 (diff) | |
| download | colitur-761ae859d73660bcfaa59581312989cb942e704d.tar.gz colitur-761ae859d73660bcfaa59581312989cb942e704d.zip | |
feat(ef): RG 111(a), the sung-Mass commemoration cap
Item 1 of Phase 3 (celebrant-rubrics-phase1): the "at Low Mass"
commemoration-placement rule the design spec recorded as unread. It is
not a new rule -- it is the sung/low axis of RG 111, which colitur
already implements.
RG 111(a) (LT.txt, "Ratio admittendi commemorationes"): a liturgical
day of the first class, AND any non-conventual sung Mass regardless of
the day's own class, admits at most one commemoration, and only if it
is privileged. (b)/(c)/(d), the same rubric's remaining clauses, give
the wider caps colitur's admit already computes -- which is exactly
the LOW MASS answer.
Exposed as Precedence.sung_mass_commemorations, a pure derivation over
the existing Low-Mass admitted list (filter to Privileged, keep the
first), not a new stored field on Liturgical_day.t: the input list is
already validated and privilege-tagged, so a second field would only
create a second place for the same fact to drift out of sync with the
first, with no new information gained. Liturgical_day.t.commemorations
is now documented as the Low Mass set explicitly, removing the
ambiguity its .mli previously left unstated.
Tested against synthetic Low-Mass sets (none/one/two privileged,
already-first, empty) and two real calendar days resolved through the
normal Cal.day pipeline: 2026-08-14 (Vigil of the Assumption, an
ordinary-only commemoration, dropped at Sung Mass) and 2026-04-25 (the
Major Litanies, RG 80/109(f), privileged, kept at both Masses).
Diffstat (limited to 'lib/render/template.mli')
0 files changed, 0 insertions, 0 deletions
