From 1915f3bb9d74998a411bd55ae658cb3f58fd3477 Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Mon, 17 Aug 2026 14:26:42 +0200 Subject: docs(ef): fix round 2 -- three miscitations and a recorded blind spot Comment and citation corrections found by review, plus one finding that survived an attempt to reconstruct it. No behaviour change; the suite is unchanged at 358 green. The ferial rubric "Diebus ferialibus a 2 ad 5 ianuarii Missa dicitur ut die 1 ianuarii" was attributed to RG 17(a) in three test comments. It is not RG 17(a). RG 17(a) (LT.txt:843) fixes only WHEN the Holy Name is kept -- "celebrandum dominica quae occurrit a die 2 ad 5 ianuarii; secus die 2 ianuarii". The rubric quoted is a Mass-propers rubric printed under the Sanctissimi Nominis Iesu heading (scan1:6523-6526, corroborated scan2:7216), governing what the ordinary ferias of that window say when they are not the feast at all. Two rules sharing a date window. Fix round 1 had already corrected this on the data side; the generator's own comment was right throughout. Only the test comments were stale. test_differential.ml named bootstrap_lectionary.ml's derived_entries as the source of ef-holy-name's citations. That binding no longer exists -- it was the mechanism that derived them from ef-holy-name-sunday's wrongly-widened ini translation, removed in Task 9 because the derivation was itself the error. They are hand-authored from the scans now, as holy_name_entries. M26's shape 1 described its 21 rows as votive Masses of the BVM "on an otherwise-unoccupied feria, not only a Saturday", splitting them into 4 BVM-Saturday rows and 17 "ordinary weekday ferias". Every one of the 21 is a Saturday, each checked individually against date -d. The error was not merely verbal: it made the gap look broader than a single cause and pointed away from the one rule that explains all 21. The sub-groups differ by season, not weekday, and only in what colitur shows in the votive Mass's place. One gap -- the office is built (RG 91 entry 27), the seasonal selection among the five Masses is not. Recorded, not fixed: step 4 of the reading chain has no oracle witness at all. This began as a note to write up a live-oracle confirmation for Felicitas and Perpetua; the reconstruction contradicted its premise. The sweep ran over 2028, where 6 March resolves as a Lenten feria with the saint admitted only as a commemoration, so her own Mass is never read that year. The finding underneath is firmer: only five saints route through a Common, they are the observed office on five days in all of 2005-2050 (isidore-of-seville 2008/2035/2046, frances-rome and sts-felicitas-perpetua both 2038), two are never observed in 46 years, and none falls in layer 4's window. Layer 3 does not cover it either -- lectio resolves the literal "-"/"-" sentinel there, which is what C18 is gated on, so it confirms only that colitur emits a citation where lectio emits none, never that it is right. Closing it needs the oracle fixture extended to 2035, 2038 or 2046; that is a fixture-scope decision. Register: sections 6.6 and 6.7. CLAUDE.md's layer-blindness list gains the step-4 entry. --- CLAUDE.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'CLAUDE.md') diff --git a/CLAUDE.md b/CLAUDE.md index 6e8289a..0819c88 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -169,6 +169,22 @@ against missalemeum; layer 5 pins ~30 dates. `band`'s own `Commemoration_only` guard (below) also turns it red, on the same date this whole gap was originally found through — both reverted after confirming. +- **Step 4 of the reading chain (the Common route) has NO oracle witness at + all** (register §6.7, `ef-lectionary` fix round 2). Only five saints route + through `data/ef/commons.sexp`, and across all of 2005–2050 they are the + *observed* office on five days total — `isidore-of-seville` 2008/2035/2046, + `frances-rome` and `sts-felicitas-perpetua` both 2038, while + `gregory-the-great` and `patrick` are **never** observed in 46 years (both + sit in March, impeded by Lent's privileged ferias every year). None falls in + layer 4's 2026–2027 window, so no Common-routed citation has ever been + compared against an external source. Layer 3 does not fill the gap either, + and the distinction is exact: those days are in its range, but lectio + resolves the literal `-`/`-` sentinel there (that is *why* C18 exists and + what it is gated on), so layer 3 confirms only that colitur produces *a* + citation where lectio produces none — never that it is the right one. Step 4 + rests on the scan-verified Common assignments and unit tests alone. Closing + it means extending the oracle fixture to 2035, 2038 or 2046 (2038 covers two + of the five at once) — a fixture-scope decision, deliberately not taken. - **Major Litanies (RG 80/109(f), `ef-major-litanies` task): layer 3 is entirely BLIND to a commemoration-only entity, confirmed not merely argued** — lectio computes no Major Litanies at all, and its own `row` -- cgit v1.3