aboutsummaryrefslogtreecommitdiff
path: root/data/ef/lectionary.sexp
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-15 03:40:19 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-15 03:40:19 +0200
commitb0ff86ae552b90613be21c52433f4180deba7758 (patch)
tree5d3e41886ded15231da10d06659eb24cc106650f /data/ef/lectionary.sexp
parent459d2c74711e6a152fb338f88d2327f12180b61f (diff)
downloadcolitur-b0ff86ae552b90613be21c52433f4180deba7758.tar.gz
colitur-b0ff86ae552b90613be21c52433f4180deba7758.zip
test(differential): fix round 1 -- Holy Week, Lent Ember, RG 69
Two Critical findings, both real: Holy Week (including the entire Sacred Triduum) was reading Passion Week's Masses -- the original colitur_keys widened lectio's single, conflated ini section into both weeks instead of Passion week alone. Narrowed to Passion week only; Holy Week's own four cleanest days (Monday, Tuesday, Thursday, Saturday) are hand-authored directly from the Missal, verified twice against both scans (C23); Holy Wednesday and Good Friday are genuinely multi-lesson liturgies with no single Epistle slot and are deliberately left unanswered, not guessed (C24). The Lenten Ember days were still dead keys: Temporal_ef computes ef-lent-ember-{wed,fri,sat}, lectio's ini names the same data ef-lent-1-{wednesday,friday,saturday}, and colitur_keys never translated it -- both engines independently fell through to the same wrong ferial answer, so even the differential stayed green (C22, a genuine lectio bug recorded for upstream). Fixed the instance and the class: colitur_keys gained the rename, and tools/bootstrap_lectionary.ml gained assert_reachable, sweeping Rite_ef.Temporal_ef.temporal at generation time so a translation table entry naming a slug colitur never computes dies loudly instead of shipping silently, plus an informational log of every real slug with no entry at all. C21 ("colitur's step 3 cannot reach a correct answer for the fixed Christmastide slugs") is retired, superseded rather than merely patched: the Nativity-Octave days now have their own direct Missal formulary (Tit. 3,4-7/Luc. 2,15-20, "Diebus infra octavam Nativitatis Domini"), resolved at step 2, not step 3 at all. That surfaced a real RG 69 gap underneath it: a Sunday landing 26-31 December should keep its own Office, not the fixed weekday placeholder, which Temporal_ef does not currently distinguish. C6's verdict is re-opened (open, not colitur) for the 19 of its 138 rows where this applies directly, and a new entry C25 (57 rows) records the same gap propagating one hop further through step 3 into Holy Name week. Both are out of this task's own scope -- a behaviour change to a shared, multi-round-reviewed kernel-adjacent function -- and recorded, not fixed, per the coordinator's own instruction. C6's own note is rewritten in full rather than layered with another correction; C18's stale trailing count is fixed to match its own pin; the Vigil-misapplication risk flagged as a Minor closed itself once the Nativity-Octave fix landed, confirmed by inspection rather than assumed. dune test: 358/358. COLITUR_EXHAUSTIVE_SWEEP=1 dune test --force: 359/359.
Diffstat (limited to 'data/ef/lectionary.sexp')
-rw-r--r--data/ef/lectionary.sexp62
1 files changed, 35 insertions, 27 deletions
diff --git a/data/ef/lectionary.sexp b/data/ef/lectionary.sexp
index 41504c1..75b6ad4 100644
--- a/data/ef/lectionary.sexp
+++ b/data/ef/lectionary.sexp
@@ -1,15 +1,20 @@
; data/ef/lectionary.sexp -- EF (1962) temporal lectionary (Epistle +
; Gospel citations, never scripture text), bootstrapped from lectio.
; Generator: tools/bootstrap_lectionary.ml -- do not hand-edit; re-run the
-; generator against a newer lectio and commit the diff instead.
+; generator against a newer lectio and commit the diff instead. Every
+; emitted key is asserted, at generation time, to be a slug
+; Rite_ef.Temporal_ef actually computes (see this generator's own
+; [assert_reachable]) -- a dead key cannot ship silently again.
;
; Source: ../lectio/internal/caldata/tridentine-lectionary.ini
; SHA-256: fde533289fb620fea33386b0a3e733ada3c1d01f10a36d8a7f5a2b500c92740e
-; 128 entries (119 ini sections translated/widened into colitur's own
+; 129 entries (119 ini sections translated/widened into colitur's own
; Temporal_ef vocabulary via [colitur_keys]; 1 hand-authored from a
-; second source file [vigil_entries]; 1 derived from an already-
+; second source file [vigil_entries]; 4 hand-authored directly from
+; the Missal [holy_week_entries]; 3 hand-authored directly from the
+; Missal [nativity_octave_entries]; 1 derived from an already-
; translated entry above rather than re-typed [derived_entries] --
-; see this generator's own comments on all three). Regenerate with:
+; see this generator's own comments on all five). Regenerate with:
; eval $(opam env) && dune exec tools/bootstrap_lectionary.exe -- ../lectio/internal/caldata/tridentine-lectionary.ini data/ef/lectionary.sexp
((ef-advent-2-monday
(((part First) (reference "Rom 15:4-13"))
@@ -128,24 +133,15 @@
(ef-holy-name-sunday
(((part First) (reference "Gal 4:1-7"))
((part Gospel) (reference "Luke 2:33-40"))))
- (ef-lent-1-friday
- (((part First) (reference "Ezech 18:20-28"))
- ((part Gospel) (reference "John 5:1-15"))))
(ef-lent-1-monday
(((part First) (reference "Ezech 34:11-16"))
((part Gospel) (reference "Matt 25:31-46"))))
- (ef-lent-1-saturday
- (((part First) (reference "1 Thess. 5:14-23"))
- ((part Gospel) (reference "Matt 17:1-9"))))
(ef-lent-1-thursday
(((part First) (reference "Ezech 18:1-9"))
((part Gospel) (reference "Matt 15:21-28"))))
(ef-lent-1-tuesday
(((part First) (reference "Isa 55:6-11"))
((part Gospel) (reference "Matt 21:10-17"))))
- (ef-lent-1-wednesday
- (((part First) (reference "3 Kgs. 19:3-8"))
- ((part Gospel) (reference "Matt 12:38-50"))))
(ef-lent-2-friday
(((part First) (reference "Gen 37:6-22"))
((part Gospel) (reference "Matt 21:33-46"))))
@@ -209,6 +205,15 @@
(ef-lent-after-ashes-thursday
(((part First) (reference "Isa 38:1-6"))
((part Gospel) (reference "Matt 8:5-13"))))
+ (ef-lent-ember-fri
+ (((part First) (reference "Ezech 18:20-28"))
+ ((part Gospel) (reference "John 5:1-15"))))
+ (ef-lent-ember-sat
+ (((part First) (reference "1 Thess. 5:14-23"))
+ ((part Gospel) (reference "Matt 17:1-9"))))
+ (ef-lent-ember-wed
+ (((part First) (reference "3 Kgs. 19:3-8"))
+ ((part Gospel) (reference "Matt 12:38-50"))))
(ef-lent-sunday-1
(((part First) (reference "2 Cor. 6:1-10"))
((part Gospel) (reference "Matt 4:1-11"))))
@@ -227,6 +232,15 @@
(ef-nativity
(((part First) (reference "Heb 1:1-12"))
((part Gospel) (reference "John 1:1-14"))))
+ (ef-nativity-octave-day-5
+ (((part First) (reference "Tit. 3, 4-7"))
+ ((part Gospel) (reference "Luc. 2, 15-20"))))
+ (ef-nativity-octave-day-6
+ (((part First) (reference "Tit. 3, 4-7"))
+ ((part Gospel) (reference "Luc. 2, 15-20"))))
+ (ef-nativity-octave-day-7
+ (((part First) (reference "Tit. 3, 4-7"))
+ ((part Gospel) (reference "Luc. 2, 15-20"))))
(ef-nativity-vigil
(((part First) (reference "Rom 1:1-6"))
((part Gospel) (reference "Matt 1:18-21"))))
@@ -254,24 +268,18 @@
(ef-passiontide-1-wednesday
(((part First) (reference "Lev 19:1-2, 11-19, 25"))
((part Gospel) (reference "John 10:22-38"))))
- (ef-passiontide-2-friday
- (((part First) (reference "Jer 17:13-18"))
- ((part Gospel) (reference "John 11:47-54"))))
(ef-passiontide-2-monday
- (((part First) (reference "Jonas 3:1-10"))
- ((part Gospel) (reference "John 7:32-39"))))
+ (((part First) (reference "Isai. 50, 5-10"))
+ ((part Gospel) (reference "Io. 12, 1-9"))))
(ef-passiontide-2-saturday
- (((part First) (reference "Jer 18:18-23"))
- ((part Gospel) (reference "John 12:10-36"))))
+ (((part First) (reference "Col. 3, 1-4"))
+ ((part Gospel) (reference "Matt. 28, 1-7"))))
(ef-passiontide-2-thursday
- (((part First) (reference "Dan 3:25, 34-45."))
- ((part Gospel) (reference "Luke 7:36-50"))))
+ (((part First) (reference "1 Cor. 11, 20-32"))
+ ((part Gospel) (reference "Io. 13, 1-15"))))
(ef-passiontide-2-tuesday
- (((part First) (reference "Jer 11:18-20"))
- ((part Gospel) (reference "Mark 14:32-72; 15, 1-46"))))
- (ef-passiontide-2-wednesday
- (((part First) (reference "Lev 19:1-2, 11-19, 25"))
- ((part Gospel) (reference "John 10:22-38"))))
+ (((part First) (reference "Ier. 11, 18-20"))
+ ((part Gospel) (reference "Mark 14, 32-72; 15, 1-46"))))
(ef-pentecost
(((part First) (reference "Acts 2:1-11."))
((part Gospel) (reference "John 14:23-31."))))