From 0d061abc7cc5cdc51ded6ee69e00e187813f5e1b Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Mon, 24 Aug 2026 16:16:59 +0200 Subject: feat(ordo): wire the extraordinaryform.org preface column in as a third witness Extends the preface comparison (RG 482-499) with a third, independent publisher, extraordinaryform.org's three annual Ordo editions (2024-2025, 2025-2026, 2026-2027), previously declined for two reasons that are now resolved: - "Advent" is not a preface: RG 494(b) grants the Trinity preface on every Advent SUNDAY, RG 498 the residual Common on every Advent FERIA; this source's own "Advent" label covers both indiscriminately (confirmed live on all 11 non-impeded Advent Sundays in the corpus). Classified by the day's own civil weekday, not a static table. - The known Vigil-of-St-Lawrence gap is reconfirmed, with a nuance not present in the earlier audits: colitur's own RG33-third-trigger now omits the vigil in some years too, so the corpus's gap and colitur's answer coincide in 2025 (a full match, not a coincidence) while 2027 still shows the classic identity-wrong-but-preface-invisible shape. Re-derives the known menu-trap office filter (Requiem-skip, "and "-chain) against the live JSON and finds a second, general pattern: "Saturday of Our Lady" (RG78's BVM Saturday Office), whenever listed, is unconditionally the office -- checked exhaustively across all 38 instances in the corpus, zero counter-examples. A third, generic "absorption" rule was deliberately not built: it would resolve 2 of the 11 residual divergences but wrongly misfires on a structurally identical but semantically different shape (an optional Rogation-day Mass option). The JSON's own extraction carries a genuine classifier gap: parse_ordo.py's hardcoded PREFACES set omits "Christ the King", misfiling it into comms; recovered in the generator, not left blank. 11 of 1088 comparable rows diverge, resolving to 7 adjudicated root causes (E1-E7): two Commemoration_only Marian titles reduced to commemorations (Mt Carmel, Ransom), two genuine sanctoral data gaps cross-confirmed absent by the FIUV/LMS witnesses (Miraculous Medal, St John before the Latin Gate), two single-witnessed efdotorg outliers against FIUV/LMS agreement (St Michael's Dedication, All Saints on a Sunday), and one isolated source labelling slip. Mutation-tested: corrupting the RG495 BVM-Saturday clause reddens 9 tests across this new layer and both existing Ordo witnesses. Per-edition agreement: 358/363 (2024-2025), 358/363 (2025-2026), 361/362 (2026-2027). --- data/ef/expected-divergences-efdotorg.sexp | 175 +++++++++++++++++++++++++++++ 1 file changed, 175 insertions(+) create mode 100644 data/ef/expected-divergences-efdotorg.sexp (limited to 'data/ef/expected-divergences-efdotorg.sexp') diff --git a/data/ef/expected-divergences-efdotorg.sexp b/data/ef/expected-divergences-efdotorg.sexp new file mode 100644 index 0000000..7c9eea7 --- /dev/null +++ b/data/ef/expected-divergences-efdotorg.sexp @@ -0,0 +1,175 @@ +; data/ef/expected-divergences-efdotorg.sexp -- efdotorg-preface task +; (2026-08-24-colitur-celebrant-rubrics-phase1)'s cited allow-list for the +; extraordinaryform.org Ordo preface comparison (test/test_efdotorg_ordo.ml), +; three editions (2024-2025, 2025-2026, 2026-2027), 1091 day-rows total. +; +; A SEPARATE file from data/ef/expected-divergences.sexp (lectio), +; data/ef/expected-divergences-missalemeum.sexp (missalemeum/Divinum- +; Officium lineage), data/ef/expected-divergences-lms.sexp (Latin Mass +; Society, England & Wales, Peter Day-Milne) and +; data/ef/expected-divergences-fiuv.sexp (FIUV, universal, Joseph Shaw): +; this is a FIFTH lineage, a third distinct publisher/compiler. +; +; Two things resolved BEFORE any divergence below was adjudicated, per the +; task's own "characterise first" discipline -- neither is an allow-list +; entry, because neither is a disagreement: +; - "Advent" is not a static mapping (RG 494(b) grants Trinity on every +; Advent SUNDAY, RG 498 the residual Common on every Advent FERIA) -- +; see tools/extract_efdotorg_ordo.py's own header, finding 3, and +; test_efdotorg_ordo.ml's own [classify_praef]. Zero mismatches. +; - The "Christ the King" classifier gap in parse_ordo.py's own hardcoded +; PREFACES set is RECOVERED in the fixture generator (finding 2), not +; allow-listed. +; +; Of 1088 comparable rows (1091 minus Good Friday x3 minus the one source +; gap, 2027-03-03), 11 diverge, all found ONLY after building +; tools/extract_efdotorg_ordo.py's own Rule A (finding 6: "Saturday of Our +; Lady", whenever listed, IS the office, checked exhaustively across all +; 38 instances in the corpus) -- without Rule A the apparent divergence +; count was far higher (dominated by the BVM-Saturday-Office population), +; which is why Rule A belongs in the generator, not the allow-list: it is +; a general, well-evidenced STRUCTURAL rule, not a per-date adjudication. +; +; The 11 residual rows resolve to exactly SEVEN root causes, E1-E7 below. + +; E1 -- colitur correct. "Our Lady of Mt. Carmel" (16 July) is +; `Commemoration_only` status in data/ef/sanctoral.sexp (confirmed +; directly: `grep our-lady-of-mt-carmel data/ef/sanctoral.sexp`, and +; already cited elsewhere in this codebase -- +; lib/rites/rite_ef/precedence_ef.ml's own `marian_slugs`/RG112(d) +; citation names it explicitly), so it can NEVER be the day's own +; OBSERVED office in colitur's model -- only ever a commemoration. This +; source nonetheless lists it as a standalone Mass option (the same +; "priest's menu, not office order" convention +; .superpowers/ordo-class-report.md already established for the votive +; Requiem population), with the day's real office (an ordinary feria/ +; resumed Sunday) listed alongside, its own `comms` field naming Mt +; Carmel as what IT commemorates -- exactly matching colitur's own +; `+our-lady-of-mt-carmel` commemoration on all three dates. Fires once +; per edition, unchanged: 2025-07-16, 2026-07-16, 2027-07-16. +((id E1) (citation "RG91 table (Commemoration_only has no table row); data/ef/sanctoral.sexp") + (verdict colitur) + (note "Our Lady of Mt Carmel (16 July) is Commemoration_only-status data, never the observed office; the corpus lists it as an optional votive Mass regardless. Fires 2025-07-16, 2026-07-16, 2027-07-16 (one row per edition).") + (expected_rows 1)) + + ; E2 -- colitur correct, the SAME shape as E1. "Our Lady of Ransom" (24 + ; September) is also `Commemoration_only` status + ; (data/ef/sanctoral.sexp), and CLAUDE.md's own record already notes it + ; "forces the September Ember Saturday every time, by construction" -- + ; confirmed live here: the true office on every instance checked (2025, + ; 2027) is the September Ember day itself (Ember Wednesday/Friday), with + ; Ransom correctly reduced to ITS OWN commemoration -- matching colitur + ; exactly and producing NO divergence those two years. Only 2026-09-24 + ; diverges, because that entry happens to be listed first in the + ; option list with an empty comms field of its own while the true + ; office (the Ember Saturday) is a separate, later entry -- the same + ; "named votive Mass listed ahead of the real office" shape as E1, just + ; without a Saturday-of-Our-Lady-style structural marker to catch it + ; generically. + ((id E2) (citation "RG91 table (Commemoration_only has no table row); data/ef/sanctoral.sexp; September Ember Saturday, RG26") + (verdict colitur) + (note "Our Lady of Ransom (24 September) is Commemoration_only-status data; the September Ember Saturday always wins the day outright. Fires once, 2026-09-24 (2025 and 2027's own 24 September already match colitur without needing this entry -- the Ember day is listed first there).") + (expected_rows 1)) + + ; E3 -- colitur correct (a genuine sanctoral DATA GAP, not a rule bug). + ; "Our Lady of the Miraculous Medal" (27 November) does not appear + ; anywhere in data/ef/sanctoral.sexp (`grep -i medal` / `grep -i + ; miraculous`: zero hits) -- CROSS-CONFIRMED independently by BOTH + ; already-validated witnesses on the identical civil date: the FIUV + ; Ordo (test/fixtures/fiuv-ordo-2025-2026.sexp, 2025-11-27: plain + ; "IV cl." feria, "comm.") and the LMS Ordo (both the 2023-2024 and + ; 2024-2025 editions, 2024-11-27/2025-11-27: "Mass of 24th & Last + ; Sunday After Pentecost", "Common Pr") show no such feast at all. Not a + ; feast of the UNIVERSAL 1962 General Roman Calendar (the Miraculous + ; Medal apparition, 1830, is a devotional/particular-calendar + ; commemoration in some places, never added to the GENERAL calendar) -- + ; worth flagging alongside CLAUDE.md's own existing list of missing + ; sanctoral entries (Agnes secundo, Boniface 14 May, Evaristus, + ; Theodore) as a FIFTH candidate, but NOT fixed here: out of this task's + ; own scope (preface-comparison wiring, not sanctoral completeness), and + ; unlike those four, this one is independently corroborated as + ; genuinely absent from the UNIVERSAL calendar, not merely missing from + ; colitur's own bootstrap. Fires 2025-11-27, 2026-11-27 (one row per + ; edition where it recurs; 2027-11-27 does not reach this entry at all). + ((id E3) (citation "data/ef/sanctoral.sexp (no entry); cross-confirmed absent in both the FIUV and LMS Ordos on the same civil date") + (verdict colitur) + (note "Our Lady of the Miraculous Medal (27 November) is genuinely absent from the universal 1962 calendar colitur models -- not merely a colitur bootstrap gap. Fires 2025-11-27, 2026-11-27.") + (expected_rows 1)) + + ; E4 -- colitur correct (a second genuine sanctoral DATA GAP). "St. John + ; before the Latin Gate" (6 May) is likewise absent from + ; data/ef/sanctoral.sexp entirely -- CROSS-CONFIRMED by the LMS Ordo on + ; the identical civil date in TWO separate editions + ; (test/fixtures/lms-ordo-2023-2024.sexp, 2024-05-06, and + ; lms-ordo-2024-2025.sexp, 2025-05-06): both show only "Mass of Nth + ; Sunday after Easter", "Pr of Easter" -- matching colitur's own answer + ; exactly, with no trace of this feast. A genuine SIXTH candidate for + ; CLAUDE.md's known-missing-sanctoral-entries list, not fixed here for + ; the same out-of-scope reason as E3. Fires 2025-05-06, 2026-05-06; + ; 2027-05-06 does not diverge (that date is a Saturday, and Rule A's own + ; "Saturday of Our Lady" preference resolves it correctly without ever + ; needing to know this feast is missing). + ((id E4) (citation "data/ef/sanctoral.sexp (no entry); cross-confirmed absent in the LMS Ordo (2024-05-06 and 2025-05-06) on the same civil date") + (verdict colitur) + (note "St John before the Latin Gate (6 May) is genuinely absent from the universal 1962 calendar colitur models. Fires 2025-05-06, 2026-05-06 (2027-05-06 is a Saturday and is resolved by Rule A instead).") + (expected_rows 1)) + + ; E5 -- colitur correct, extraordinaryform.org is the OUTLIER. St + ; Michael's Dedication (29 September) has no dedicated preface among RG + ; 484-497's fourteen, so RG 482's chain falls through to RG 498's Common + ; -- and this is DOUBLY corroborated already, in + ; lib/rites/rite_ef/rubrics_ef.ml's own [preface] header: the FIUV Ordo + ; reads "comm. vel de Angelis" and the LMS Ordo reads "Pr of the Angels + ; or Common Pr" for this exact feast ("of the Angels" being one of the + ; several non-RG-482 "extra" preface names both those sources are + ; already documented to carry, alongside the genuine Common answer). + ; extraordinaryform.org's bare "Holy Trinity" is a single, uncorroborated + ; reading against two independent, already-validated witnesses that both + ; agree with colitur. Fires once, 2025-09-29 (the only occurrence in + ; this corpus where 29 September is NOT itself a Sunday reaching RG + ; 494(b) by a different route -- see E6 for that shape). + ((id E5) (citation "RG482/RG498; lib/rites/rite_ef/rubrics_ef.ml's own [preface], corroborated by both the FIUV and LMS Ordos on this exact feast") + (verdict colitur) + (note "St Michael's Dedication (29 September 2025) has no dedicated preface; colitur's Common answer is independently confirmed by both the FIUV and LMS Ordos (\"... or Common Pr\"/\"comm. vel ...\"). extraordinaryform.org's bare \"Holy Trinity\" is single-witnessed and outvoted.") + (expected_rows 1)) + + ; E6 -- colitur correct, extraordinaryform.org is the OUTLIER, the SAME + ; shape as E5 but for RG 494(b)'s own Sunday grant rather than RG 498. + ; All Saints falls on a Sunday in 2026 (confirmed: the corpus's own + ; entry carries `comms: ["Twenty-third Sunday after Pentecost"]`, + ; matching colitur's own `+ef-time-after-pentecost-sunday-23`), so RG + ; 494(b) ("in omnibus dominicis II classis... praefatio de Ss.ma + ; Trinitate") grants the TRINITY preface -- independently confirmed by + ; the FIUV Ordo on the SAME civil date (test/fixtures/fiuv-ordo-2025- + ; 2026.sexp, 2026-11-01: "Trinit. vel de Omnibus Sanctis et Patronis.", + ; Trinity again being the genuine RG-482 answer and "of All Saints and + ; Patrons" the same kind of non-RG-482 extra E5 already documents). + ; extraordinaryform.org's bare "Common" is single-witnessed here too. + ; Fires once, 2026-11-01 (the only Sunday occurrence of All Saints this + ; corpus's own window covers). + ((id E6) (citation "RG494(b); test/fixtures/fiuv-ordo-2025-2026.sexp, 2026-11-01 (\"Trinit. vel de Omnibus Sanctis...\")") + (verdict colitur) + (note "All Saints falls on a Sunday in 2026, so RG494(b) grants the Trinity preface -- independently confirmed by the FIUV Ordo on the same date. extraordinaryform.org's bare \"Common\" is single-witnessed and outvoted.") + (expected_rows 1)) + + ; E7 -- a single-row SOURCE DATA INCONSISTENCY, not a rule question. + ; 2025-11-29 is a "Saturday of Our Lady" day like the other 37 in this + ; corpus (Rule A correctly selects it as the office, matching colitur's + ; own BVM answer on office IDENTITY), but this ONE row's own `preface` + ; field reads "Common" where every other "Saturday of Our Lady" entry + ; in the whole corpus reads "BVM" (checked directly: 37 of 38 read + ; "BVM", this is the sole exception) -- an isolated compiler slip in the + ; source, not a pattern. + ((id E7) (citation "internal corpus consistency check: 37 of 38 \"Saturday of Our Lady\" entries read \"BVM\"; this is the sole exception") + (verdict colitur) + (note "2025-11-29's own \"Saturday of Our Lady\" entry reads \"Common\" where every other instance in the corpus (37 of 38) reads \"BVM\" -- an isolated source labelling slip, not a rule disagreement.") + (expected_rows 1)) + +; Per-edition agreement, reported separately, never merged (each row count +; is 364 total minus that edition's own no-praef coverage bucket -- Good +; Friday plus, for 2026-2027 only, the known 2027-03-03 source gap): +; 2024-2025: 358/363 (E1 x1, E3 x1, E4 x1, E5 x1, E7 x1) +; 2025-2026: 358/363 (E1 x1, E2 x1, E3 x1, E4 x1, E6 x1) +; 2026-2027: 361/362 (E1 x1) +; Full account: .superpowers/sdd/2026-08-21-colitur-celebrant-rubrics- +; phase1/efdotorg-preface-report.md. -- cgit v1.3 From 73b15551804bb63ee0081005e2869d36afb54be2 Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Mon, 24 Aug 2026 16:22:24 +0200 Subject: docs(E3,E4): pro aliquibus locis, not sanctoral gaps Both entries reasoned correctly that these feasts are not in the universal calendar, then recommended adding them to CLAUDE.md's list of sanctoral entries MISSING from colitur. Those cannot both be true, and acting on the recommendation would add a particular-calendar feast to the universal core -- what binding decision 2 exists to forbid. The Missal classifies both itself, under "Missae pro aliquibus locis": scan1.txt:52019 for the Miraculous Medal, 48793 for St John before the Latin Gate. Masses for some places. So they are not gaps. They are particular feasts colitur correctly excludes and an overlay would supply, the shape poland.ini and benedictine.ini already demonstrate; the ordos carry them because those ordos serve communities that keep them. Verdicts unchanged, now resting on the Missal's own words rather than on background knowledge of the apparition. --- data/ef/expected-divergences-efdotorg.sexp | 32 ++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'data/ef/expected-divergences-efdotorg.sexp') diff --git a/data/ef/expected-divergences-efdotorg.sexp b/data/ef/expected-divergences-efdotorg.sexp index 7c9eea7..addecfe 100644 --- a/data/ef/expected-divergences-efdotorg.sexp +++ b/data/ef/expected-divergences-efdotorg.sexp @@ -71,6 +71,38 @@ (note "Our Lady of Ransom (24 September) is Commemoration_only-status data; the September Ember Saturday always wins the day outright. Fires once, 2026-09-24 (2025 and 2027's own 24 September already match colitur without needing this entry -- the Ember day is listed first there).") (expected_rows 1)) + + ; CORRECTED 2026-08-24 (coordinator): this entry reasoned correctly and + ; then recommended the opposite. It concludes, rightly, that the feast was + ; "never added to the GENERAL calendar" -- and then proposes it as a + ; candidate for CLAUDE.md's list of sanctoral entries MISSING from + ; colitur's universal data. Those cannot both be true, and acting on the + ; recommendation would be a REGRESSION: adding a particular-calendar feast + ; to the universal core is precisely what binding decision 2 forbids + ; ("any community's proper is an overlay, never core"). + ; + ; The Missal settles it from the primary source rather than from general + ; knowledge of the 1830 apparition. BOTH feasts named in E3 and E4 appear + ; in the Missal under its own heading "Missae pro aliquibus locis" -- + ; Masses FOR SOME PLACES: + ; docs/research/scan1.txt:52019, 52077, 52129 + ; "Missae pro aliquibus locis (B. M. V. Immaculatae a sacro Numismate)" + ; docs/research/scan1.txt:48793 + ; "Missae pro aliquibus locis (S. Ioannis Ap. et Ev. ante Portam Latinam)" + ; This is the Missal's OWN classification, and it is the same structural + ; test the register already relies on for universality: the calendarium + ; carries no "pro aliquibus locis" marker in its own lines, while the + ; wider Missal carries the marker elsewhere for exactly this class of + ; feast. + ; + ; So E3 and E4 are NOT sanctoral gaps and are NOT candidates for any + ; missing-entry list. They are particular-calendar feasts that colitur + ; correctly excludes from the universal core, and that belong in an + ; overlay -- the shape data/ef/examples/poland.ini and benedictine.ini + ; already demonstrate. The ordos carry them because those ordos serve + ; communities that keep them. Verdict [colitur] is unchanged and now rests + ; on the Missal's own words. + ; E3 -- colitur correct (a genuine sanctoral DATA GAP, not a rule bug). ; "Our Lady of the Miraculous Medal" (27 November) does not appear ; anywhere in data/ef/sanctoral.sexp (`grep -i medal` / `grep -i -- cgit v1.3