diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-15 03:40:19 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-15 03:40:19 +0200 |
| commit | b0ff86ae552b90613be21c52433f4180deba7758 (patch) | |
| tree | 5d3e41886ded15231da10d06659eb24cc106650f /lib/rites/rite_ef/temporal_ef.ml | |
| parent | 459d2c74711e6a152fb338f88d2327f12180b61f (diff) | |
| download | colitur-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 'lib/rites/rite_ef/temporal_ef.ml')
| -rw-r--r-- | lib/rites/rite_ef/temporal_ef.ml | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/lib/rites/rite_ef/temporal_ef.ml b/lib/rites/rite_ef/temporal_ef.ml index 4add824..dacae9c 100644 --- a/lib/rites/rite_ef/temporal_ef.ml +++ b/lib/rites/rite_ef/temporal_ef.ml @@ -492,13 +492,22 @@ let third_sunday_of_september y = excepts the Lenten set from the III-class Lenten ferias. The Whitsun set falls inside the I-class Pentecost octave and takes its rank. - The September and Advent sets match lectio's own Ember slugs. The Lent and - Whitsun (Pentecost) sets do not -- lectio has no Ember slug for either, so - "ef-lent-ember-*" and "ef-pentecost-ember-*" are colitur-only keys and a - lectionary gap for the Plan 4 bootstrap to fill (spec ยง4.4; CORRECTED, - final fix wave, item 7 -- Plan 4, not Plan 3, is the lectionary - bootstrap), the same status as the Nativity vigil and the Rogation days - below. *) + The September and Advent sets match lectio's own Ember SLUG spelling + directly. The Lent and Whitsun (Pentecost) sets do not -- "ef-lent-ember-*" + and "ef-pentecost-ember-*" are colitur-only slug KEYS, never lectio's own + naming for the identical civil days (Lent: "ef-lent-1-<weekday>"; + Whitsun: "ef-easter-8-<weekday>"). CORRECTED (task 8 fix round 1, + coordinator review, Critical 2): this comment previously said "lectio + has no Ember slug for either" and framed BOTH as "a lectionary gap for + the Plan 4 bootstrap to fill" -- true of the SLUG naming, misleading + about the underlying READING DATA. lectio's own tridentine-lectionary.ini + carries real citations for both sets, just filed under the non-Ember + names above -- tools/bootstrap_lectionary.ml's own [colitur_keys] + renames both onto colitur's own slugs (the Whitsun rename shipped with + Plan 4; the Lent one was missed for one fix round -- both engines + independently fell through to the wrong ferial-resumption answer there, + so even the differential could not see the gap until it was found; + data/ef/expected-divergences.sexp's own C22 has the full account). *) let ember d = let y = Date.year d in let easter = Computus.gregorian_easter y in |
