aboutsummaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
Diffstat (limited to 'data')
-rw-r--r--data/of/expected-divergences-litcal.sexp72
1 files changed, 72 insertions, 0 deletions
diff --git a/data/of/expected-divergences-litcal.sexp b/data/of/expected-divergences-litcal.sexp
new file mode 100644
index 0000000..c75538a
--- /dev/null
+++ b/data/of/expected-divergences-litcal.sexp
@@ -0,0 +1,72 @@
+; data/of/expected-divergences-litcal.sexp -- of-litcal-layer task
+; (2026-08-25)'s cited allow-list for the litcal external-validation layer
+; (test/test_litcal_of.ml), fixture window 2023-12-03..2035-12-01 (twelve
+; litcal liturgical years, 4382 civil days).
+;
+; ONE active entry. The Ordinary Time WEEK comparison (the actual risk this
+; layer exists to validate, Normae n. 44's two-block resumption arithmetic)
+; carries NO allow-list at all -- see test_litcal_of.ml's own
+; [test_ordinary_time_week_matches] comment for why a witnessed week is
+; zero-tolerance, not an "expected divergence" shape.
+
+; L1 -- OPEN BY DESIGN, adjudicated "colitur" (a deliberate, cited design
+; decision, not a defect on either side). Fires on every litcal row tagged
+; EASTER_TRIDUUM: Holy Thursday's own evening Mass of the Lord's Supper,
+; Good Friday, and Holy Saturday, across all twelve fixture years -- 3
+; dates x 12 years = 36 rows, exactly.
+;
+; litcal's own data model gives the Sacred Triduum a season value of its
+; own (`liturgical_season: EASTER_TRIDUUM`), distinct from both LENT and
+; EASTER. colitur's `Vocab_of.season` has no such value: it keeps the
+; whole civil day of Holy Thursday, Good Friday and Holy Saturday inside
+; `Lent`, per lib/rites/rite_of/temporal_of.ml's own top-of-module
+; citation --
+;
+; Normae n. 28 (PRIMARY): "Tempus Quadragesimae decurrit a feria IV
+; Cinerum ad Missam in Cena Domini EXCLUSIVE" -- Lent runs from Ash
+; Wednesday up to (excluding) the evening Mass of the Lord's Supper. At
+; colitur's own civil-day granularity (one season per date, never a
+; sub-day boundary), the excluded boundary is an EVENT within Holy
+; Thursday's own civil day, not an earlier day -- so the whole day stays
+; Lent.
+;
+; Normae n. 30 (PRIMARY, independent second anchor): "Dominicae huius
+; temporis appellantur dominicae I, II, III, IV, V in Quadragesima.
+; Dominica sexta, in qua initium sumit Hebdomada sancta, dicitur...
+; 'Dominica in palmis de Passione Domini'" -- Holy Week (Palm Sunday
+; through the Vigil) is Lent's OWN sixth week by the Missal's own prose,
+; not a season outside Lent's numbering.
+;
+; Normae Titulus II's own six subsection headings (II-VI): FIVE are
+; literally called a "tempus"; "Triduum paschale" is deliberately NOT --
+; a real textual signal that the document's own authors did not count
+; the Triduum among the season vocabulary a day's season field needs to
+; name, corroborated by the Missal's own Mass-propers structure printing
+; "HEBDOMADA SANCTA" and "SACRUM TRIDUUM PASCHALE" as two separate
+; headings, neither titled "tempus" either.
+;
+; So litcal's EASTER_TRIDUUM is a genuine, defensible IMPLEMENTATION
+; choice (giving the Triduum its own practical season tag, useful for an
+; API consumer), and colitur's `Lent` is an equally genuine, primary-
+; source-argued READING of the same Normae text that declines to invent a
+; sixth season value the text itself does not name. Neither side is wrong;
+; this is a vocabulary question the two engines answer differently by
+; design, not a computation either got wrong -- verdict "colitur" here
+; means "colitur's own choice is deliberate and cited", not "litcal is in
+; error".
+;
+; The ROW SELECTION that produces exactly 36, not 24 or 48, is explained
+; in test/fixtures/litcal-temporal-2024-2035.sexp's own header and
+; tools/extract_litcal_ordo.py's own top-of-file comment: Holy Thursday
+; carries TWO non-vigil litcal rows on the same civil date (the Chrism
+; Mass, LENT, and the evening Mass of the Lord's Supper, EASTER_TRIDUUM);
+; the Chrism row is excluded upstream (in the fixture generator, not
+; here) so the evening Mass -- the day's own actual public/parish liturgy
+; -- represents the date, giving Holy Thursday the SAME season shape as
+; Good Friday and Holy Saturday (each of which has only one non-vigil row,
+; always EASTER_TRIDUUM) rather than an inconsistent 2-of-3 split.
+((id L1)
+ (citation "Normae nn. 28, 30; Normae Titulus II's own six subsection headings")
+ (verdict colitur)
+ (note "Holy Thursday (evening Mass)/Good Friday/Holy Saturday: litcal tags EASTER_TRIDUUM, colitur has no Triduum season value and keeps the whole day Lent -- a cited design decision, not a defect.")
+ (expected_rows 36))