aboutsummaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-18 12:11:05 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-18 12:11:05 +0200
commita6daed7820a97f4032f21964b5b1bb30fe00b36b (patch)
treefa8886ee97dba5a696fb2c7d8e62798f832ed538 /data
parentca4287a6e99e14846f3560106156ef2b1c4b8cf2 (diff)
downloadcolitur-a6daed7820a97f4032f21964b5b1bb30fe00b36b.tar.gz
colitur-a6daed7820a97f4032f21964b5b1bb30fe00b36b.zip
fix(ef): ubaldus and didacus are III-class feasts, not commemorations
Both carried rank Class3 with status Commemoration_only, bootstrapped from lectio, which inherits it from missalemeum, which is generated from Divinum Officium. The Missal's own universal calendarium ranks both "III classis" outright, with no commemoration rubric: "S. Ubaldi Ep. et Conf., III classis" (16 May) and "S. Didaci Conf., III classis" (13 November), corroborated in the second scan and in a published 1962 Ordo. Universal by construction, not by assumption: the calendarium carries no "pro aliquibus locis" marker in its 573 lines while the wider Missal carries 79 of them elsewhere. Each saint also has his own Mass entry in the Proprium, which a bare commemoration never has -- a commemoration carries an oration only. Found by auditing ALL 290 fixed-date entries against that calendarium, day by day, anchored on the Roman calends column because the arabic day column is OCR-wrecked and the dominical-letter column vanishes in some months. These two were the only status defects in the whole file. The 15 days the automated pass could not cover were read by hand and all agree. Neither needed a proper authored: each takes its Mass from a Common with only its own Oratio proper, per its own rubric at its own date. ubaldus shares patrick's Common exactly. didacus needed one newly transcribed -- common-of-a-confessor-not-a-bishop-2, the "Altera Missa" Iustus, 1 Cor 4:9-14 and Luke 12:32-34, read independently in both scans, which agree, so the page-image third reading this file's method requires on disagreement was not triggered. Blast radius, full 1583-9999 sweep, every day classified: 13 036. That is 5 564 ubaldus observed, 7 196 didacus observed, and 276 where the Ascension Vigil still wins on 16 May but its single RG 111(c) slot passes from rogation-wednesday to ubaldus -- correct and already pinned, since the Rogation days are the MINOR Litanies and so an ordinary commemoration, which RG 113's table order ranks below a III-class feast. Cited as C38 (70 rows) and M30 (3); C8, C17 and M18 shrink accordingly, each with the reason recorded rather than the count silently adjusted.
Diffstat (limited to 'data')
-rw-r--r--data/ef/commons.sexp43
-rw-r--r--data/ef/expected-divergences-missalemeum.sexp9
-rw-r--r--data/ef/expected-divergences.sexp13
-rw-r--r--data/ef/sanctoral.sexp4
4 files changed, 60 insertions, 9 deletions
diff --git a/data/ef/commons.sexp b/data/ef/commons.sexp
index c488fa2..1bf7dfd 100644
--- a/data/ef/commons.sexp
+++ b/data/ef/commons.sexp
@@ -155,6 +155,26 @@
(((part First) (reference "Ecclus 31:8-11"))
((part Gospel) (reference "Luke 12:35-40"))))
+ ; --- Commune Confessoris non Pontificis, SECOND Mass ("Altera Missa",
+ ; headed "II / Pro Confessore non Pontifice"), Missa "Iustus ut palma
+ ; florebit". scan1 [25]-[26], lines 42057-42128; scan2 (26), lines
+ ; 46967-46993. The bracketed page differs between printings exactly as
+ ; this file's header warns -- scan1 prints [25], scan2 (26) -- so this
+ ; entry keys on the Mass's IDENTITY (heading + "Iustus" incipit), never
+ ; the number. Added by the ef-sanctoral-status task for `didacus`.
+ ; Epistle heading: "Lectio Epistolae beati Pauli Apostoli ad Corinthios.
+ ; 1 Cor. 4, 9-14" (scan1:42058-42059, item 4359).
+ ; Gospel heading: "Sequentia sancti Evangelii secundum Lucam.
+ ; Luc. 12, 32-34" (scan1:42113-42115, item 4364).
+ ; scan2 prints BOTH citations on one line, 46993: "1 Cor. 4, 9-14" and
+ ; "Luc. 12, 32-34" -- the two OCR layers agree exactly, so the page-image
+ ; third reading this file's METHOD requires on disagreement was not
+ ; triggered. Distinct from the FIRST Mass above (Ecclus 31:8-11 /
+ ; Luke 12:35-40), which is a different formulary on the same pages.
+ (common-of-a-confessor-not-a-bishop-2
+ (((part First) (reference "1 Cor 4:9-14"))
+ ((part Gospel) (reference "Luke 12:32-34"))))
+
; --- Commune Abbatum, Missa "Os iusti"
; scan1 [27]-[28], lines 42134-42202; scan2 (28)-(29), lines 47057-47114.
; Epistle: "Lectio libri Sapientiae. Eccli. 45, 1-6"
@@ -254,4 +274,25 @@
; 5 April: "S. Vincentii Ferrerii Conf. / III classis / Missa Os iusti,
; de Communi Confessoris non Pontificis I loco [24], praeter orationem
; sequentem." scan1:28627-28632, scan2:31682-31689.
- (vincent-ferrer common-of-a-confessor-not-a-bishop-1))))
+ (vincent-ferrer common-of-a-confessor-not-a-bishop-1)
+
+ ; 16 May: "Die 16 maii / S. Ubaldi Ep. et Conf. / III classis / Missa
+ ; Statuit, de Communi Confessoris Pontificis I loco [19], praeter
+ ; orationem sequentem." scan1:30196-30200; scan2:33448-33457 (which
+ ; prints the same instruction with its own pagination, "(20)", and the
+ ; same proper Oratio "Auxilium tuum nobis, Domine"). Only the Oratio is
+ ; proper; the readings are the Common's. SAME Common as `patrick`.
+ ; Promoted from Commemoration_only by the ef-sanctoral-status task: the
+ ; Missal's own universal calendarium ranks 16 May "S. Ubaldi Ep. et
+ ; Conf., III classis" outright, with no commemoration rubric.
+ (ubaldus common-of-a-confessor-bishop-1)
+
+ ; 13 November: "Die 13 novembris / S. Didaci Conf. / III classis / Missa
+ ; Iustus, de Communi Confessoris non Pontificis II loco [25], praeter
+ ; orationem sequentem." scan1:40276-40284; scan2 prints the identical
+ ; instruction as "2* loco (26)" -- the pagination offset again, the Mass
+ ; identity stable. Only the Oratio is proper. Promoted from
+ ; Commemoration_only by the same task, on the same calendarium evidence
+ ; ("S. Didaci Conf., Ill classis", scan1; "S. Didaci Conf., III cl.",
+ ; scan2).
+ (didacus common-of-a-confessor-not-a-bishop-2))))
diff --git a/data/ef/expected-divergences-missalemeum.sexp b/data/ef/expected-divergences-missalemeum.sexp
index 84b4f25..dfee36c 100644
--- a/data/ef/expected-divergences-missalemeum.sexp
+++ b/data/ef/expected-divergences-missalemeum.sexp
@@ -257,8 +257,8 @@ REVISED, ef-bvm-saturday task: 395 of the 730 days in this window used to carry
REVISED AGAIN, Task 9 (branch ef-lectionary, layer-4 oracle): 352, down by 42 from 394. NOT a change to this entry's own guard (still, and only, [diffs = [ Observed_identity_unresolved ]] exactly) -- this task compared reading citations for the first time, and 42 of the former 394 rows now ALSO carry a real [First_mismatch]/[Gospel_mismatch] alongside the pre-existing observed-identity gap, so they escape this entry's own EXACT-match guard and move to the FIVE new entries below (M23 2, M24 4, M25 4, M26 30, M27 2 -- 2+4+4+30+2=42, exactly accounting for the drop, verified against the comparator's own failure output, not assumed from the arithmetic alone -- CORRECTED, fix round 1, coordinator review: this note previously miscounted them as \"six\").
-CORRECTED, fix round 1 (coordinator review): the remaining 352 were previously described as every day whose citation \"ALREADY agreed with missalemeum before this task and still does\" -- imprecise for 18 of them. Before this task the citation axis did not exist at all, so NO row's citation was ever actually checked; \"already agreed\" wrongly implies the pre-task VALUE was correct on all 352, when for 18 it was not -- it only became correct, and therefore only started agreeing, because of this task's own three fixes (Holy Name Sunday's own two dates, 2026-01-04/2027-01-03; 12 more January-window ferias across the three RG-17(a)/Holy-Family-propers-rubric families that now resolve at step 2 instead of the walkback, one full list: 2026-01-02/05/07/08/09/12, 2027-01-04/05/07/08/11/12; and Corpus Christi/Sacred Heart in both years, 2026-06-04/06-12, 2027-05-27/06-04 -- 2+12+4=18, independently re-derived against the real resolver, not merely arithmetic). The other 334 were genuinely unaffected by this task, matching both before and after (or, more precisely, would have matched on the day this axis existed either way). WIDENED 352 -> 355 (movable-date-specs follow-up, 2026-08-17): the three Trinity-week ferias that M26 shape 2(a) used to cover now agree with the oracle on their citations and differ only on observed-identity, which is this entry own generic shape -- a temporal-origin day for which colitur sets no English name. Not a new divergence: the same three days, one of their two causes removed. WIDENED 355 -> 376 (BVM Saturday Mass, 2026-08-17): the BVM Saturday days M26 shape 1 used to cover now agree with the oracle on their citations and differ only on observed identity, which is this entry's own generic shape -- the office is temporal-origin and deliberately carries no English name. Not new divergences: the same days, their citation cause removed.")
- (expected_rows 376))
+CORRECTED, fix round 1 (coordinator review): the remaining 352 were previously described as every day whose citation \"ALREADY agreed with missalemeum before this task and still does\" -- imprecise for 18 of them. Before this task the citation axis did not exist at all, so NO row's citation was ever actually checked; \"already agreed\" wrongly implies the pre-task VALUE was correct on all 352, when for 18 it was not -- it only became correct, and therefore only started agreeing, because of this task's own three fixes (Holy Name Sunday's own two dates, 2026-01-04/2027-01-03; 12 more January-window ferias across the three RG-17(a)/Holy-Family-propers-rubric families that now resolve at step 2 instead of the walkback, one full list: 2026-01-02/05/07/08/09/12, 2027-01-04/05/07/08/11/12; and Corpus Christi/Sacred Heart in both years, 2026-06-04/06-12, 2027-05-27/06-04 -- 2+12+4=18, independently re-derived against the real resolver, not merely arithmetic). The other 334 were genuinely unaffected by this task, matching both before and after (or, more precisely, would have matched on the day this axis existed either way). WIDENED 352 -> 355 (movable-date-specs follow-up, 2026-08-17): the three Trinity-week ferias that M26 shape 2(a) used to cover now agree with the oracle on their citations and differ only on observed-identity, which is this entry own generic shape -- a temporal-origin day for which colitur sets no English name. Not a new divergence: the same three days, one of their two causes removed. WIDENED 355 -> 376 (BVM Saturday Mass, 2026-08-17): the BVM Saturday days M26 shape 1 used to cover now agree with the oracle on their citations and differ only on observed identity, which is this entry's own generic shape -- the office is temporal-origin and deliberately carries no English name. Not new divergences: the same days, their citation cause removed. CORRECTED, ef-sanctoral-status: 376 -> 373. Three rows left this entry for M30 when `ubaldus` and `didacus` were promoted to Feast on the Missal's own calendarium. They were unresolved here precisely because the observed office was TEMPORAL-origin (a feria) and carries no English name; now the observed office is the SAINT, which is sanctoral-origin and does resolve, so the comparator can state a real identity mismatch instead of declining to compare. The entry shrinks because its shape stopped occurring on those days, not because the days stopped diverging.")
+ (expected_rows 373))
((id M19)
(citation "RG 110's OTHER direction: \"In Officio et Missa S. Petri semper fit commemoratio S. Pauli, ET VICISSIM\" -- the SAME rule M12 used to cite, applied here to Paul's own office commemorating Peter, not Peter's own office commemorating Paul; confirmed a third time by the calendarium's own June table, both photographic scans, word for word: \"In Commemoratione S. Pauli Ap., III classis. / Commemoratio S. Petri Ap.\"")
(verdict colitur)
@@ -303,3 +303,8 @@ CORRECTED, fix round 1 (coordinator review): the remaining 352 were previously d
(verdict colitur)
(note "ef-oconnell-rubrics branch. Unlike every other entry in this file, the oracle here is not an independent witness against colitur: it is colitur's own discarded ancestor. colitur was bootstrapped from lectio, lectio's ini is generated from missalemeum, and missalemeum uses Divinum Officium's data files, so all three carried the same two wrong colours and no layer sharing that lineage could see it (CLAUDE.md's own lineage note, register 6.20). The defect surfaced only against the Missal's own RG 128 -- transcribed in the register since 2026-08-11 and disagreeing with the shipped data all along -- plus O'Connell and a published 1962 Ordo. Same fix as C37 in the lectio differential, seen from the oracle side. 3 rows in this window: 2026-08-14, 2027-08-09, 2027-08-14. 2026-08-09 is absent because it is a Sunday that year and the vigil never occurs, checked with date -d. Gated on the exact dates and Colour_f alone, so any other divergence on these days would still surface unexplained.")
(expected_rows 3))
+ ((id M30)
+ (citation "The 1962 Missal's own universal CALENDARIUM. 16 May: 'S. Ubaldi Ep. et Conf., III classis' (docs/research/scan1.txt:2801, corroborated scan2.txt:3197). 13 November: 'S. Didaci Conf., III classis' (scan1.txt:3091, corroborated scan2.txt:3532). Neither carries a Commemoratio rubric, and each has its own Mass entry in the Proprium Sanctorum taking its readings from a Common with only its Oratio proper -- which a bare commemoration never has. The calendarium carries no 'pro aliquibus locis' marker anywhere, so an entry in it is universal by construction. The published 1962 Ordo (register 6.21) independently lists both as the day's III-class office. Full account and method in C38, data/ef/expected-divergences.sexp")
+ (verdict colitur)
+ (note "ef-sanctoral-status branch. As with M29, the oracle here is not an independent witness against colitur but colitur's own discarded ancestor: colitur was bootstrapped from lectio, lectio's ini is generated from missalemeum, and missalemeum uses Divinum Officium's data files, so all three carried the same wrong status. Found by auditing ALL 290 fixed-date sanctoral entries against the calendarium; these two were the only status defects in the file. 3 rows in this window: 2026-05-16, 2026-11-13, 2027-11-13. Where colitur now observes the saint the oracle still observes the feria, so rank, observed identity and both citations differ together and the commemoration colitur used to emit is gone. Colour differs only on 13 November, the ferial green giving way to the confessor's white; 16 May is in Paschaltide and already white. Gated on the exact dates and on a subset of that named field list, so a divergence of any other shape on these days would still surface unexplained. Three rows also leave M18 (376 to 373): they were unresolved there only because the observed office was a temporal-origin feria with no English name, and the observed office is now sanctoral and resolves.")
+ (expected_rows 3))
diff --git a/data/ef/expected-divergences.sexp b/data/ef/expected-divergences.sexp
index a863604..9934ff6 100644
--- a/data/ef/expected-divergences.sexp
+++ b/data/ef/expected-divergences.sexp
@@ -90,8 +90,8 @@ Gated on the literal date window (month=12, day in {29,30,31}) AND colitur's own
((id C8)
(citation "RG 87 (Minor Litanies/Rogations, Mon/Tue before Ascension); register ยง3c item 3")
(verdict colitur)
- (note "Rogation Monday and Tuesday exist as colitur's own ef-rogation-{monday,tuesday} slugs (violet) whenever no higher-ranked saint intervenes. lectio computes no Rogation days at all and shows the plain paschaltide-week-6 feria instead. REFRESHED (ef-rebootstrap fixture refresh, 2026-08-12): expected_rows UNCHANGED at 31 -- lectio's fix wave did not touch Rogation computation at all (not named in any of its seven defects), independently confirmed by re-deriving the count against the refreshed fixture (same Python cross-check as C1/C6, matched the OCaml comparator's own failure output before being set here).")
- (expected_rows 31))
+ (note "Rogation Monday and Tuesday exist as colitur's own ef-rogation-{monday,tuesday} slugs (violet) whenever no higher-ranked saint intervenes. lectio computes no Rogation days at all and shows the plain paschaltide-week-6 feria instead. REFRESHED (ef-rebootstrap fixture refresh, 2026-08-12): expected_rows UNCHANGED at 31 -- lectio's fix wave did not touch Rogation computation at all (not named in any of its seven defects), independently confirmed by re-deriving the count against the refreshed fixture (same Python cross-check as C1/C6, matched the OCaml comparator's own failure output before being set here). CORRECTED, ef-sanctoral-status: 31 -> 26. Five rows left this entry for C38 when `ubaldus` (16 May) was promoted to Feast on the Missal's own calendarium: 16 May can itself be a Rogation Monday or Tuesday, and a III-class feast outranks the Rogation feria, so on those five days colitur's observed office is now the saint and the divergence is C38's, not this entry's. The rows did not stop diverging; their CAUSE changed, and they are filed where the cause is cited.")
+ (expected_rows 26))
((id C14)
(citation "RG 95 (translation is a right of I-class feasts) + RG 96 (the general forward walk, \"the next following day that is not I or II class\") + RG 96's own Attamen (a) (\"festum Annuntiationis ... quando est transferendum post Pascha, transfertur, tamquam in sedem propriam, in feriam II post dominicam in albis\" -- the Annunciation's transferred target is its OWN PROPER SEAT, not a provisional landing spot subject to further re-ordering)")
(verdict colitur)
@@ -114,8 +114,8 @@ CORRECTED, Task 9 (branch ef-lectionary, layer-4 oracle): the 13-vs-7 coincident
(verdict colitur)
(note "ef-bvm-saturday task: colitur now builds RG 91 entry 27's votive Office of the BVM on every otherwise-unoccupied IV-class Saturday (Rite_ef.Temporal_ef's own [bvm_saturday_names] citation has the full argument) -- white (RG 431(e) -> RG 121(a) -> RG 120(b); RG 120(b) alone reads \"de festis\" and this Office is not a festum), unconditionally, overriding the season's own colour (violet in Septuagesima, green in Time after Epiphany/Time after Pentecost; Christmastide and ordinary Paschaltide already happened to be white). lectio builds no equivalent office at all -- checked directly against its own tridentine-calendar.ini/generator, no comparable rule exists there, the same genuine upstream gap C15/C16 above document for their own gaps, not a colitur bootstrap miss -- so it keeps showing the plain season colour on every one of these Saturdays. Season, slug and rank all still agree: temporal_ef.ml's own [bvm_saturday_names] citation (\"Slug\" paragraph) deliberately REUSES the ordinary <season>-<week>-saturday ferial slug rather than minting a new one (partly BECAUSE a bespoke uniform slug would itself have broken Colitur_kernel.Validate's own slug-uniqueness invariant, sighted on every otherwise-unoccupied Saturday in a year), so [Colour_f] alone is the complete diff set every one of these rows carries -- never [Slug_f] too. Gated on colitur's own [rank]=class-4, [weekday]=saturday and [colour]=white (test_differential.ml's own [is_bvm_saturday_row]) rather than a date list, unlike C14/C15/C16 above: RG 78's own condition (\"otherwise unoccupied IV-class Saturday\") reduces exactly to this triple, and the population is large (a substantial fraction of all Saturdays in the 2005-2050 window) and entirely formulaic, not a short, individually-interesting list. Derived directly from the OCaml comparator's own failure output (test_layer_c_counts_match_citations), not hand-counted first and cross-checked after.
-NARROWED, task 8: expected_rows moved 416 -> 406. Not a regression -- 10 of the former 416 rows now ALSO carry [First_f]/[Gospel_f] (C19's own Time-after-Epiphany week-numbering-shift years, 2008/2013/2019/2030/2036/2041/2047, on the specific Saturdays where the BVM office and the week-shift coincide) and so no longer satisfy this entry's own EXACT [diffs = [ Colour_f ]] guard -- they move to C19 instead, which explains the SAME colour divergence plus the week-shift's own citation divergence together. This entry's own guard is intentionally NOT widened to `subset`: doing so would risk silently absorbing a future, unrelated citation bug on an otherwise-ordinary BVM Saturday. Re-derived directly from the OCaml comparator's own failure output: 406. NARROWED (movable-date-specs follow-up, 2026-08-17): 406 -> 397. Nine of these Saturdays are ALSO the Saturday of the week after Trinity Sunday, where colitur now resolves the printed Mass the Missal assigns that week (RG 299 escape clause -- see C35) while lectio still walks back to Trinity. Those rows carry a citation difference as well as this entry own colour one, so they belong to C35 now; split out to a cited entry rather than silently re-absorbed here, the same discipline C15 own split from C1 set. The colour cause is unchanged on all 397 that remain. WIDENED (BVM Saturday Mass, 2026-08-17): 397 -> 445, the entry's scope growing with its cause. colitur has built RG 78's OFFICE since the ef-bvm-saturday task, white where lectio (having no such office) is green. It now also says the MASS that office calls for, RG 309(a)'s iuxta temporum diversitatem selection among the five Missae de sancta Maria in sabbato, where lectio says the feria's. So these days differ on citations as well as colour. One cause, one entry: the predicate admits Colour/First/Gospel together, requires at least one, and keeps its subject=bvm guard, still the only field pinning WHICH celebration is observed since the office deliberately reuses the ferial slug. Rows absorbed from C1, C19 and C25 are those entries' own Saturdays, refiled here rather than left split across two ids for one divergence.")
- (expected_rows 445))
+NARROWED, task 8: expected_rows moved 416 -> 406. Not a regression -- 10 of the former 416 rows now ALSO carry [First_f]/[Gospel_f] (C19's own Time-after-Epiphany week-numbering-shift years, 2008/2013/2019/2030/2036/2041/2047, on the specific Saturdays where the BVM office and the week-shift coincide) and so no longer satisfy this entry's own EXACT [diffs = [ Colour_f ]] guard -- they move to C19 instead, which explains the SAME colour divergence plus the week-shift's own citation divergence together. This entry's own guard is intentionally NOT widened to `subset`: doing so would risk silently absorbing a future, unrelated citation bug on an otherwise-ordinary BVM Saturday. Re-derived directly from the OCaml comparator's own failure output: 406. NARROWED (movable-date-specs follow-up, 2026-08-17): 406 -> 397. Nine of these Saturdays are ALSO the Saturday of the week after Trinity Sunday, where colitur now resolves the printed Mass the Missal assigns that week (RG 299 escape clause -- see C35) while lectio still walks back to Trinity. Those rows carry a citation difference as well as this entry own colour one, so they belong to C35 now; split out to a cited entry rather than silently re-absorbed here, the same discipline C15 own split from C1 set. The colour cause is unchanged on all 397 that remain. WIDENED (BVM Saturday Mass, 2026-08-17): 397 -> 445, the entry's scope growing with its cause. colitur has built RG 78's OFFICE since the ef-bvm-saturday task, white where lectio (having no such office) is green. It now also says the MASS that office calls for, RG 309(a)'s iuxta temporum diversitatem selection among the five Missae de sancta Maria in sabbato, where lectio says the feria's. So these days differ on citations as well as colour. One cause, one entry: the predicate admits Colour/First/Gospel together, requires at least one, and keeps its subject=bvm guard, still the only field pinning WHICH celebration is observed since the office deliberately reuses the ferial slug. Rows absorbed from C1, C19 and C25 are those entries' own Saturdays, refiled here rather than left split across two ids for one divergence. CORRECTED, ef-sanctoral-status: 445 -> 439. Six rows left this entry for C38 when `ubaldus` (16 May) and `didacus` (13 November) were promoted to Feast. RG 78's protasis is an UNOCCUPIED IV-class Saturday; a III-class feast occupies it, so on the six Saturdays those two dates fall on within 2005-2050 the BVM Office is no longer kept at all and the divergence is C38's. Same discipline as C8 above and as C25's own closure: an entry shrinks when its shape stops occurring, rather than silently absorbing rows whose cause has changed.")
+ (expected_rows 439))
((id C18)
(citation "RG 124 (\"XVIII - De coloribus paramentorum\", \"C) De colore rubro\"), both photographic scans word for word: 124(b) \"adhibetur color ruber in Officio et Missa de festis: ... Sanctorum Apostolorum et Evangelistarum, in eorum die natalicio, excepto festo S. Ioannis (27 decembris)\"; 124(e) \"Sanctorum Martyrum, quorum colitur aut martyrium\"; register's own audit rewrite, ef-sanctoral-audit task")
(verdict colitur)
@@ -252,3 +252,8 @@ CORRECTED, fix round 1 (coordinator review, Important 1): this note previously d
(verdict colitur)
(note "ef-oconnell-rubrics branch. The sharpest demonstration in the project of the lineage problem recorded in CLAUDE.md and register 6.20: lectio, missalemeum and colitur all carried the same two wrong colours, because colitur was bootstrapped from lectio, lectio's ini is generated from missalemeum, and missalemeum uses Divinum Officium's data files. Three sources agreeing is one source counted three times. The defect became visible only against witnesses outside that tree -- the Missal's own RG 128 (already transcribed in the register since 2026-08-11, and disagreeing with the shipped data all along), O'Connell, and a published 1962 Ordo. The Ordo is what first flagged the Assumption vigil; O'Connell is what found St Lawrence's, which the Ordo could not give because that source omits the vigil entirely. Gated on the two literal slugs and diffs = [Colour_f] exactly, so a future identity or rank divergence on either day would NOT be absorbed here. 77, not 92: over the fixture's 2005-2050 span each vigil has 46 possible occurrences, and 15 are impeded outright (the vigil yields when its own date falls on a Sunday), so those rows never reach this entry -- both engines agree on the Sunday. Derived from the OCaml comparator's own output, not hand-counted.")
(expected_rows 77))
+ ((id C38)
+ (citation "The 1962 Missal's own universal CALENDARIUM, which is the universal calendar of the Roman rite -- it carries no 'pro aliquibus locis' marker anywhere in its 573 lines, while the wider Missal carries 79 of them elsewhere, so an entry appearing in it is universal by construction. 16 May: 'S. Ubaldi Ep. et Conf., III classis' (docs/research/scan1.txt:2801), corroborated scan2.txt:3197 ('16 S. Ubaldi Ep. et Conf., III cl.'). 13 November: 'S. Didaci Conf., III classis' (scan1.txt:3091), corroborated scan2.txt:3532 ('S. Didaci Conf., III cl.'). Neither carries a Commemoratio rubric; both are bare III-class feasts. Each also has its own Mass entry in the Proprium Sanctorum -- 'Die 16 maii / S. Ubaldi Ep. et Conf. / III classis / Missa Statuit, de Communi Confessoris Pontificis I loco [19], praeter orationem sequentem' (scan1.txt:30196, scan2.txt:33448) and 'Die 13 novembris / S. Didaci Conf. / III classis / Missa Iustus, de Communi Confessoris non Pontificis II loco [25], praeter orationem sequentem' (scan1.txt:40276, scan2 printing the same with its own pagination, '2 loco (26)') -- which a mere commemoration never has, a commemoration carrying only an oration. The published 1962 Ordo (register 6.21) independently lists both as the day's III-class office")
+ (verdict colitur)
+ (note "ef-sanctoral-status branch. Both entries carried rank Class3 with status Commemoration_only, bootstrapped from lectio, which inherits it from missalemeum, which is generated from Divinum Officium -- the same single lineage C37 documents. Found by auditing ALL 290 fixed-date sanctoral entries against the Missal's own calendarium, day by day, anchored on the Roman calends column rather than the OCR-mangled arabic day numbers; ubaldus and didacus were the ONLY two status defects in the whole file, and the 10 days the automated pass could not cover were checked by hand and all agree. That result also narrows a standing register claim: the recorded 'wrongly Commemoration_only' defect was described as a cluster in 6 March - 5 April, and neither of these falls in it, so the cluster was an artefact of where someone looked rather than the defect's extent. Neither saint needed a proper authored: each takes its Mass from a Common with only its own Oratio proper, so this is an assignment in data/ef/commons.sexp, one of them to a Common newly transcribed for it (common-of-a-confessor-not-a-bishop-2, 1 Cor 4:9-14 / Luke 12:32-34, read independently in both scans). 70 rows over 2005-2050, in TWO exact diff shapes the predicate spells out separately rather than collapsing: 32 for ubaldus, where 16 May falls in Paschaltide and the ferial colour is ALREADY white so no colour difference arises, and 38 for didacus, where 13 November is green Time after Pentecost and the white confessor changes it. Not 46 each: the rest of the occurrences are impeded, or the saint loses to a competing office, and both engines then agree. Derived from the OCaml comparator's own output, not hand-counted.")
+ (expected_rows 70))
diff --git a/data/ef/sanctoral.sexp b/data/ef/sanctoral.sexp
index dca4a9b..b460a9e 100644
--- a/data/ef/sanctoral.sexp
+++ b/data/ef/sanctoral.sexp
@@ -740,7 +740,7 @@
(cel
((slug didacus)
(names ((en "St. Didacus") (pl "\197\155w. Dydaka, Wyznawcy")))
- (rank Class3) (status Commemoration_only) (colour White)
+ (rank Class3) (status Feast) (colour White)
(subject Saint) (citations ()) (layer ef-universal))))
((date (Fixed (month 10) (day 9)))
(cel
@@ -3116,7 +3116,7 @@
(names
((en "St. Ubaldus")
(pl "\197\155w. Ubalda, Biskupa i Wyznawcy")))
- (rank Class3) (status Commemoration_only) (colour White)
+ (rank Class3) (status Feast) (colour White)
(subject Saint) (citations ()) (layer ef-universal))))
((date (Fixed (month 5) (day 25)))
(cel