aboutsummaryrefslogtreecommitdiff
path: root/data/ef/expected-divergences-efdotorg.sexp
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-24 16:16:59 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-24 16:16:59 +0200
commit0d061abc7cc5cdc51ded6ee69e00e187813f5e1b (patch)
treeccf17f3606da7c15d10eb41da7c2c20e1d60419c /data/ef/expected-divergences-efdotorg.sexp
parent1252ffa57778331a67d75c2f69722b8ec1a7dbcc (diff)
downloadcolitur-0d061abc7cc5cdc51ded6ee69e00e187813f5e1b.tar.gz
colitur-0d061abc7cc5cdc51ded6ee69e00e187813f5e1b.zip
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).
Diffstat (limited to 'data/ef/expected-divergences-efdotorg.sexp')
-rw-r--r--data/ef/expected-divergences-efdotorg.sexp175
1 files changed, 175 insertions, 0 deletions
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.