aboutsummaryrefslogtreecommitdiff
path: root/data/ef
diff options
context:
space:
mode:
Diffstat (limited to 'data/ef')
-rw-r--r--data/ef/expected-divergences.sexp69
1 files changed, 69 insertions, 0 deletions
diff --git a/data/ef/expected-divergences.sexp b/data/ef/expected-divergences.sexp
new file mode 100644
index 0000000..17bafc1
--- /dev/null
+++ b/data/ef/expected-divergences.sexp
@@ -0,0 +1,69 @@
+; data/ef/expected-divergences.sexp -- Task 15's Layer C: the CITED allow-list
+; for colitur's differential harness against lectio (test/test_differential.ml),
+; 2005-2050. This is the only layer that may cover a difference in rank,
+; colour, or which celebration is observed -- Layers A (vocabulary) and B
+; (numbering) live in test_differential.ml's code because they normalise
+; NAMES and INDICES only and never touch this file's territory.
+;
+; Each entry is a genuine liturgical disagreement between the two engines.
+; [verdict] names which engine the register/Missal backs; every entry here
+; is "colitur" -- an entry saying otherwise would mean "fix colitur", not
+; "allow-list it" (task ruling). [expected_rows] is the exact row count this
+; entry accounts for over the fixture's 2005-2050 span: a REGRESSION PIN, not
+; documentation -- test_differential.ml asserts actual counts equal these
+; exactly, so an unnoticed behaviour change here fails loudly instead of
+; silently changing what the harness accepts.
+;
+; Regenerate expected_rows only after re-adjudicating the change against the
+; Missal/register -- never by re-running the comparator and copying its
+; output back here (that would launder a regression into a new baseline).
+((id C1)
+ (citation "RG 72-73 (Nativity/Epiphany season boundary, Jan 1-13) + RG 119a (white through \"expletum tempus Epiphaniae\"); register §3c item 1")
+ (verdict colitur)
+ (note "6-13 January is Christmastide in colitur, matching RG 72-73's explicit boundary at 13 January (corroborated independently by RG 119a's colour rule, register lines 241-246). lectio's efSeason switches to time-after-epiphany on 6 January. The season disagreement cascades into colour (green vs white) and, on 7-8 January specifically, into the ferial slug family name (colitur's ef-christmas-2-<weekday> vs lectio's ef-time-after-epiphany-1-<weekday> for the same two days).")
+ (expected_rows 368))
+ ((id C2)
+ (citation "RG 91 line 332 (\"Sundays of Advent, Lent, Passiontide, and Low Sunday\" -- I class, unqualified); extends register §3c item 4 (stated there for Advent only) to Lent on the same textual basis")
+ (verdict colitur)
+ (note "Advent II & IV and Lent I-III are I class in colitur, matching RG 91's own unqualified line 332 (already confirmed for Passion Sunday, Palm Sunday, Low Sunday and Advent I, where lectio agrees). lectio's temporal_ef.go generic Sunday branch assigns Class2 and special-cases only Advent I, Passion/Palm/Low Sunday -- a lectio gap for the remaining five Sundays this entry covers.")
+ (expected_rows 215))
+ ((id C3)
+ (citation "RG 91 line 332 (same I-class Sunday rule as C2) + RG 131 (rose indult, Gaudete/Laetare, \"in Officio et Missa diei dominici tantum\")")
+ (verdict colitur)
+ (note "Gaudete (Advent III) and Laetare (Lent IV): I class per C2's citation, plus the RG 131 rose indult. lectio has no Rose case in its EF colour function and zero rose rows in tridentine-calendar.ini -- Rose exists only on lectio's OF path -- so it prints violet for both Sundays.")
+ (expected_rows 89))
+ ((id C4)
+ (citation "RG 91 entry 18 (\"II-class ferias ... Advent 17-23 Dec\"); register §3c item 2")
+ (verdict colitur)
+ (note "Advent ferias 17-23 December (excluding the Advent Ember days, already correct on both sides) are II class in colitur. lectio marks every Advent feria III class.")
+ (expected_rows 140))
+ ((id C5)
+ (citation "RG 91 entry 18 (\"Ember days of Advent, Lent, September\", the same entry as C4); extends register §3c item 2 to the Lent set on the same textual basis lectio already gets right for Advent and September")
+ (verdict colitur)
+ (note "The Lent I Ember Wednesday/Friday/Saturday are II class with colitur's own ef-lent-ember-{wed,fri,sat} slugs. lectio implements the Advent and September Ember exceptions (matches colitur exactly, confirmed empty diff there) but not the Lent one, falling back to a plain ef-lent-1-<weekday> III-class feria -- a lectio gap not previously named in the register.")
+ (expected_rows 128))
+ ((id C6)
+ (citation "RG 91 entry 17 (\"days within the Octave of the Nativity\")")
+ (verdict colitur)
+ (note "29-31 December (and any Sunday landing among them) are II class in colitur, with the ef-nativity-octave-day-{5,6,7} slugs. lectio treats them as plain class-4 ferias (ef-christmas-0-<weekday>), not recognising the Nativity octave's own entry.")
+ (expected_rows 138))
+ ((id C7)
+ (citation "RG 91 entries 16 (II-class feast of the universal Church) vs 18 (II-class ferias, incl. Ember days) -- entry 16 outranks entry 18")
+ (verdict colitur)
+ (note "St Matthew (21 September, colliding with the September Ember Wednesday or Friday in some years) and St Thomas (21 December, colliding with the Advent Ember Friday in some years) are both II-class universal feasts and win the day per RG 91's own numeric ordering -- matching Rite_ef.Precedence_ef.band's already-reviewed entry 16/18 handling. lectio does not contest Ember days against sanctoral feasts at all and keeps the Ember office observed.")
+ (expected_rows 34))
+ ((id C8)
+ (citation "RG 87 (Minor Litanies/Rogations, Mon/Tue before Ascension); register §3c item 3")
+ (verdict colitur)
+ (note "Rogation Monday and Tuesday exist as colitur's own ef-rogation-{monday,tuesday} slugs (violet) whenever no higher-ranked saint intervenes. lectio computes no Rogation days at all and shows the plain paschaltide-week-6 feria instead.")
+ (expected_rows 31))
+ ((id C9)
+ (citation "RG 95 (translation is a right of I-class FEASTS only) + RG 91 line 332 (Sundays are a separate table row, not feasts) + RG 109(a) (\"of a Sunday\" is a privileged commemoration, presupposing the Sunday stays put) + RG 96 (the general translation walk) -- the same reasoning already fixed for the analogous impeded-Sunday defect in Precedence_ef (Task 9)")
+ (verdict colitur)
+ (note "St Joseph (19 March, I class) colliding with a Lent Sunday (I class per C2): colitur keeps the Sunday observed and transfers Joseph to the next free day (usually 20 March; in years the walk is congested enough to cross Easter, as far as 1 April -- 2008, 2035, 2046, independently pinned by this project's own transfer tests). lectio instead puts Joseph ON the Sunday, displacing the Lenten Sunday office RG 95 says cannot be displaced by a translated feast.")
+ (expected_rows 15))
+ ((id C10)
+ (citation "RG 91 entry 3 (Sacred Heart, a Feast of the Lord, outranks entry 11 Precious Blood) + RG 96 (impeded I-class feast moves to the next day that is NOT I or II class)")
+ (verdict colitur)
+ (note "2011: Sacred Heart (Friday after the Corpus Christi octave) falls on 1 July and impedes the Precious Blood (also 1 July, I class but a lower RG 91 entry). RG 96's walk must skip 2 July (Visitation, II class) and 3 July (Sunday), landing on 4 July (Monday, a free class-4 feria). lectio instead lands Precious Blood on 2 July, illegitimately displacing the Visitation -- exactly what RG 96's \"not I or II class\" clause forbids.")
+ (expected_rows 2))