diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-12 04:12:53 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-12 04:12:53 +0200 |
| commit | c464c0435c650cf019eb6c6ae1906217d557a15f (patch) | |
| tree | 7a5805b8da7e879a19ebff16edb00aedc46c9796 /test | |
| parent | 079e332e0a797105588787f7e5fdabd95ba1fa12 (diff) | |
| download | colitur-c464c0435c650cf019eb6c6ae1906217d557a15f.tar.gz colitur-c464c0435c650cf019eb6c6ae1906217d557a15f.zip | |
kernel(temporal): Holy Thursday is white, per RG128(b)'s named exception
RG 128(b) excepts "Missa sive Chrismatis sive in Cena Domini feria V
Hebdomadae sanctae" from the Septuagesima-to-Easter-Vigil violet span
as a whole-Mass exception (unlike Palm Sunday's blessing/procession,
which the same sentence carves out as only part of that day) -- so
Holy Thursday's Mass is white, not violet. temporal_ef.ml fell through
to the generic Passiontide ferial path (season_colour Passiontide =
violet) for this date, since [named] has no entry for the Triduum at
all (rank was already correct via [privileged_feria]; only colour was
wrong).
Found via Task 16's missalemeum oracle comparison: every other Triduum
day's oracle colour set includes violet as an option (Good Friday
"bv", Holy Saturday "vw" -- already-flagged, deliberately deferred
per-action gaps, register ยง3b), but Holy Thursday's is white alone.
This is a genuine NEW divergence from lectio too (lectio has no such
exception and still prints violet for Holy Thursday) -- added as
Layer C11 to the differential harness and data/ef/expected-divergences
.sexp, 46 rows (2005-2050), rather than silently changing what that
harness accepts.
Also corrected a stale comment on season_colour claiming white's RG
paragraph was never pinned -- RG 119 was found and cited in the
register on 2026-08-11 but the correction was never copied into this
file's own comment.
Diffstat (limited to 'test')
| -rw-r--r-- | test/test_differential.ml | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/test/test_differential.ml b/test/test_differential.ml index dd601a1..a9bdb91 100644 --- a/test/test_differential.ml +++ b/test/test_differential.ml @@ -76,13 +76,14 @@ family would still be caught by everything except the digit itself. - Layer C (data/ef/expected-divergences.sexp, matched by - [layer_c_reason] below): the CITED allow-list. Ten genuine liturgical - disagreements, each citing its RG paragraph and stating which engine is - right (always colitur, verified against the Missal/register, never - against lectio's own behaviour -- "lectio does it differently" is not - itself a justification anywhere in this file). This is the ONLY layer - that may cover a difference in rank, colour, or which celebration is - observed; A and B never do (enforced structurally below: A/B only ever + [layer_c_reason] below): the CITED allow-list. Eleven genuine liturgical + disagreements (C11 added by Task 16's oracle work, below), each citing + its RG paragraph and stating which engine is right (always colitur, + verified against the Missal/register, never against lectio's own + behaviour -- "lectio does it differently" is not itself a justification + anywhere in this file). This is the ONLY layer that may cover a + difference in rank, colour, or which celebration is observed; A and B + never do (enforced structurally below: A/B only ever touch the season/slug fields, and Layer C's predicates each require an exact, narrow field-diff SET, not "anything goes"). @@ -448,6 +449,7 @@ let layer_c_reason (l : row) (c : row) diffs = (String.equal l.date "2011-07-02" || String.equal l.date "2011-07-04") && subset diffs [ Slug_f; Rank; Colour_f ] then Some "C10" + else if String.equal c.slug "ef-passiontide-2-thursday" && diffs = [ Colour_f ] then Some "C11" else None (* ---------------------------------------------------------------------- *) |
