aboutsummaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-17 21:45:47 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-17 21:45:47 +0200
commitcffb879fa124c22acd400f59152a57d20cec036f (patch)
treed44a6a1f80828b356ec122483f6fd71701b36e71 /data
parent6e42b2f524b283f43e05a967295e244e4083725f (diff)
downloadcolitur-cffb879fa124c22acd400f59152a57d20cec036f.tar.gz
colitur-cffb879fa124c22acd400f59152a57d20cec036f.zip
feat(ef): the votive Mass of Our Lady on Saturday (RG 309(a))
RG 78's office has been built since ef-bvm-saturday: an otherwise unoccupied IV-class Saturday is de sancta Maria in sabbato, white, IV class. The Mass stayed the feria's, so the day observed Our Lady and then read Colossians on the parable of the weeds. That is M26 shape 1. RG 309(a) is the rule -- the Masses the Missal assigns "iuxta temporum diversitatem" -- and it prints five, each under its own season heading. All ten citations are transcribed from the scans with line numbers in the source. Masses II-V were confirmed twice, against the scan and against a live missalemeum capture of 2038 which names them and agrees on both readings. Mass I rests on the scan alone: no oracle year to hand has an Advent Saturday carrying this office. One witness where the others have two, and the code says so rather than blurring it. The mapping looked like the hard part and dissolved. The Missal's ranges are cut by civil dates and movable feasts, not by this rite's seasons -- II ends mid-season at the Purification, III spans four seasons. But measured against what a IV-class Saturday can actually be, it reduces to a seasonal mapping plus one date test at 2/3 February, with no Easter arithmetic at all: III's end to IV's start leaves the Triduum unassigned, unreachable because Holy Saturday is I class; IV's end to V's start leaves Pentecost week unassigned, also unreachable because that week's Saturday is an Ember Saturday. Time after Pentecost then begins exactly at Trinity, exactly where Mass V begins. Both gaps verified by sweep -- zero IV-class Saturdays in either across 2000-2059 -- not inferred. The office is identified structurally, never off the slug, which it deliberately shares with the ordinary feria: subject Bvm, IV class, Saturday. Blast radius: 87611 reading rows over the full domain, every one a Saturday. Allow-lists: M26 27 to 6, shape 1 gone, leaving only the Christ-the-King residue argued in colitur's favour last commit. The 2038 suite's BVM-SATURDAY-MASS class is removed rather than zeroed -- an id with no rows must not be declared. M18 355 to 376. C17 widened 397 to 445, taking its own Saturdays back from C1, C19 and C25, since one cause should not be filed under two ids; C31 89 to 103; C25 closed at 0 rows, its Holy-Name-week Saturdays now answered before step 3 is reached. Three unit tests pinned the old behaviour and are corrected rather than re-pinned: two asserted the day "keeps its ferial Mass", which was the honest thing to assert while this was unimplemented. The third still tests what it always did -- that step 4 refuses a temporal office -- and only what answers instead has changed. Register: section 6.13.
Diffstat (limited to 'data')
-rw-r--r--data/ef/expected-divergences-missalemeum.sexp8
-rw-r--r--data/ef/expected-divergences.sexp37
2 files changed, 22 insertions, 23 deletions
diff --git a/data/ef/expected-divergences-missalemeum.sexp b/data/ef/expected-divergences-missalemeum.sexp
index 2a21b25..4e1f257 100644
--- a/data/ef/expected-divergences-missalemeum.sexp
+++ b/data/ef/expected-divergences-missalemeum.sexp
@@ -250,8 +250,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.")
- (expected_rows 355))
+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))
((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)
@@ -290,8 +290,8 @@ SHAPE 1 -- 21 rows: RG 78's own rotating votive Mass of the BVM (\"Missae de san
SHAPE 2 -- 9 rows, a SECOND, DIFFERENT gap: ferias of a week whose own Sunday was DISPLACED that year by a movable named temporal-cycle feast, where the Missal requires the DISPLACED Sunday's own Mass to continue informing that week's ferias, but step 3 walks back to the DISPLACING feast's citation instead. Two witnessed instances: (a) 2026-06-02/03 and 2027-05-24 (the ferias between Trinity Sunday and Corpus Christi) -- the Missal prints a named formula for exactly this week, \"Missa Dominicae I post Pentecosten\" (1 Ioann. 4,8-21/Luc. 6,36-42, docs/research/scan1.txt:21758-21830, found while researching Corpus Christi's own Mass immediately following it), but colitur's step 3 walks back to Trinity SUNDAY's own generic citation instead, since [ef-corpus-christi] (this task's own fix) now correctly interrupts the week at step 2, one Sunday short of what the week's own ferias actually need; (b) 2026-10-26/27/29/30 and 2027-11-03/05 (the ferias of the week Christ the King, I class movable, \"Dominica ultima octobris\", displaces) -- colitur's own citation on all six is LITERALLY Christ the King's own Gospel (John 18:33-37, \"Art thou a king?\"), confirming step 3 walked back to the DISPLACING feast, not the displaced ordinary Sunday; missalemeum shows a different citation each row. No Missal-propers rubric for Christ the King's own week ferias was found the way Holy Name/Holy Family's own each carry one (checked: no rubric text precedes Christ the King's own Mass heading, scan1.txt:39140-39163) -- this half is named from the OBSERVED citation evidence itself, not from a located propers rubric; no citation SPECIFIC to Christ the King's own week is claimed.
-Neither shape is safe to fix inside this task's own scope (extending layer 4 + triage) without the same real, dedicated, TDD/mutation-tested unit of work data/ef/expected-divergences.sexp's own C6/C25 and Task 6's own open item already call for -- a season-keyed ferial/votive-Mass-selection mechanism, new behaviour, not new data. Verdict open, the SAME fourth verdict M15/M18 already establish for a genuine comparator/architecture LIMIT, honestly counted and NAMED rather than silently absorbed, left failing, or buried in an unexplained residue. A literal date list, not a shape predicate: no single structural signal (unlike C17's own [subject = bvm]) distinguishes this population from a genuinely new, unrelated citation bug on some other Time-after-Pentecost feria. Derived directly from the OCaml comparator's own failure output, not hand-counted first and cross-checked after: 30. NARROWED (movable-date-specs follow-up, 2026-08-17): 30 -> 27. SHAPE 2(a) is FIXED, not re-adjudicated -- the three ferias between Trinity Sunday and Corpus Christi now resolve at step 2 from the Mass the Missal itself prints for that week (scan1.txt:21758), under RG 299 explicit escape clause nisi a rubricis aliter provisum sit (scan1.txt:1096-1098). Those days still differ on observed-identity, being temporal-origin, and fall to M18 accordingly. SHAPE 2(b), Christ the King week, is NOT the same case and REMAINS -- but its verdict is now argued rather than merely open: no proper Mass is assigned there (checked directly, no rubric precedes that Mass heading at scan1.txt:39163ff), so RG 299 DEFAULT governs and the Mass of the preceding Sunday genuinely IS Christ the King own, which is what colitur emits. Read on the primary text colitur is right here and missalemeum diverges; kept open rather than closed only because no rubric SPECIFIC to that week was located either way.")
- (expected_rows 27))
+Neither shape is safe to fix inside this task's own scope (extending layer 4 + triage) without the same real, dedicated, TDD/mutation-tested unit of work data/ef/expected-divergences.sexp's own C6/C25 and Task 6's own open item already call for -- a season-keyed ferial/votive-Mass-selection mechanism, new behaviour, not new data. Verdict open, the SAME fourth verdict M15/M18 already establish for a genuine comparator/architecture LIMIT, honestly counted and NAMED rather than silently absorbed, left failing, or buried in an unexplained residue. A literal date list, not a shape predicate: no single structural signal (unlike C17's own [subject = bvm]) distinguishes this population from a genuinely new, unrelated citation bug on some other Time-after-Pentecost feria. Derived directly from the OCaml comparator's own failure output, not hand-counted first and cross-checked after: 30. NARROWED (movable-date-specs follow-up, 2026-08-17): 30 -> 27. SHAPE 2(a) is FIXED, not re-adjudicated -- the three ferias between Trinity Sunday and Corpus Christi now resolve at step 2 from the Mass the Missal itself prints for that week (scan1.txt:21758), under RG 299 explicit escape clause nisi a rubricis aliter provisum sit (scan1.txt:1096-1098). Those days still differ on observed-identity, being temporal-origin, and fall to M18 accordingly. SHAPE 2(b), Christ the King week, is NOT the same case and REMAINS -- but its verdict is now argued rather than merely open: no proper Mass is assigned there (checked directly, no rubric precedes that Mass heading at scan1.txt:39163ff), so RG 299 DEFAULT governs and the Mass of the preceding Sunday genuinely IS Christ the King own, which is what colitur emits. Read on the primary text colitur is right here and missalemeum diverges; kept open rather than closed only because no rubric SPECIFIC to that week was located either way. NARROWED AGAIN (BVM Saturday Mass, 2026-08-17): 27 -> 6. SHAPE 1 is FIXED, not re-adjudicated. colitur now says RG 309(a)'s own Mass on the BVM Saturday office instead of the feria's, selecting among the Missal's five Missae de sancta Maria in sabbato by season. What survives is the residue of shape 2(b) alone -- Christ the King's week, argued in colitur's favour above.")
+ (expected_rows 6))
((id M27)
(citation "tools/extract_missalemeum_oracle.py's own header (the extraction script, not an RG citation): Christmas Day has THREE Masses in the 1962 Missal (Midnight/Dawn/Day), each with its own distinct Epistle+Gospel; this fixture's own entry[0] convention (verified, and documented, for every OTHER field it reads) takes the Midnight Mass, while colitur's own citation (bootstrapped from lectio) reflects the Day Mass -- two DIFFERENT, both genuine, Masses of the identical civil day")
(verdict colitur)
diff --git a/data/ef/expected-divergences.sexp b/data/ef/expected-divergences.sexp
index 6dacf11..727ce1b 100644
--- a/data/ef/expected-divergences.sexp
+++ b/data/ef/expected-divergences.sexp
@@ -72,8 +72,8 @@
(verdict colitur)
(note "6-13 January is Christmastide in colitur, matching RG 72-73's explicit boundary at 13 January (corroborated independently by RG 119a's colour rule, §3b). lectio's efSeason switches to time-after-epiphany on 6 January. The season disagreement cascades into colour (green vs white) and, on 7-12 January specifically, into the ferial slug family name (colitur's ef-christmas-2-<weekday> vs lectio's ef-time-after-epiphany-1-<weekday> for those days). REFRESHED (ef-rebootstrap fixture refresh, 2026-08-12): expected_rows moved 361 -> 368. NOT a new divergence -- the closed C13's own 7 rows (13 January in the 7 years it falls on a Sunday) fold back in here: lectio's fix wave independently fixed its own equivalent of the RG16(a) defect C13 used to allow-list, so on all 7 of those Sunday years lectio's slug now matches colitur's `commemoration-of-the-baptism-of-the-lord` too (not just rank/colour), leaving season as the ONLY residual difference on those rows -- squarely inside C1's own existing shape (diffs subset of [Season;Colour;Slug] with the Slug-diff escape clause unused). REFRESHED AGAIN (ef-rg112-rg110 task, branch ef-rg112-rg110): expected_rows moved 368 -> 361, back to its PRE-ef-rebootstrap value, but for a THIRD, different reason -- SPLIT OUT to its own new entry, C15, not silently re-absorbed: colitur now BUILDS Holy Family (RG 17(b)) and, on these same 7 dates, correctly observes it in the fixed Baptism's place (RG 91 entry 14, RG 112(a)), so colitur's own slug there changes from `commemoration-of-the-baptism-of-the-lord` (which happened to already match lectio's own slug) to `ef-time-after-epiphany-sunday-1` (Holy Family's own, lectio has no equivalent) -- a genuine SLUG divergence now, no longer inside C1's own [Season]-only shape. See C15's own entry for the full account. PROVENANCE, fix round 1 (coordinator finding 6, restoring the discipline this entry's own prior refresh recorded and this round's rewrite had dropped): 361 read directly from the OCaml comparator's own failure output (test_layer_c_counts_match_citations's `Received` array, run against the widened C15 predicate/allow-list together, not before it existed) -- not hand-counted first and cross-checked after, and not 368 minus 7 taken on faith: the arithmetic matches C15's own independently-derived 7, which is corroboration, not the derivation itself.
-REFRESHED AGAIN, Task 9 (branch ef-lectionary, layer-4 oracle): expected_rows moved 361 -> 173. NOT a data change -- this entry's OWN diff-set guard (`subset diffs [Season;Colour_f;Slug_f]`) never accepted a citation diff, and this task gave the `ef-christmas-2-<weekday>` and `ef-time-after-epiphany-1-<weekday>` families their OWN direct citations for the first time (the Missal's own Mass-propers \"diebus ferialibus\" rubrics -- NOT RG 17(a) itself, which states only the day-identity privilege; see C30/C31's own citations for the corrected attribution -- tools/bootstrap_lectionary.ml's own [epiphanytide_opening_entries]) -- every row in this window that ALSO now carries a real First_f/Gospel_f divergence escapes this entry's own subset guard and moves to the new C31/C32 instead (not silently re-absorbed: C31/C32's own [subset diffs [Season;Slug_f;Colour_f;First_f;Gospel_f]] guard is what actually catches them, checked BEFORE this entry no longer applies, not assumed). What remains here is every 6-13 January row this task's own fix did NOT touch: Epiphany itself, the fixed Baptism commemoration, and any day a competing saint or the BVM Saturday Office already wins outright (unaffected by a lectionary citation either way). Derived directly from the OCaml comparator's own failure output (test_layer_c_counts_match_citations), not hand-counted first and cross-checked after: 173.")
- (expected_rows 173))
+REFRESHED AGAIN, Task 9 (branch ef-lectionary, layer-4 oracle): expected_rows moved 361 -> 173. NOT a data change -- this entry's OWN diff-set guard (`subset diffs [Season;Colour_f;Slug_f]`) never accepted a citation diff, and this task gave the `ef-christmas-2-<weekday>` and `ef-time-after-epiphany-1-<weekday>` families their OWN direct citations for the first time (the Missal's own Mass-propers \"diebus ferialibus\" rubrics -- NOT RG 17(a) itself, which states only the day-identity privilege; see C30/C31's own citations for the corrected attribution -- tools/bootstrap_lectionary.ml's own [epiphanytide_opening_entries]) -- every row in this window that ALSO now carries a real First_f/Gospel_f divergence escapes this entry's own subset guard and moves to the new C31/C32 instead (not silently re-absorbed: C31/C32's own [subset diffs [Season;Slug_f;Colour_f;First_f;Gospel_f]] guard is what actually catches them, checked BEFORE this entry no longer applies, not assumed). What remains here is every 6-13 January row this task's own fix did NOT touch: Epiphany itself, the fixed Baptism commemoration, and any day a competing saint or the BVM Saturday Office already wins outright (unaffected by a lectionary citation either way). Derived directly from the OCaml comparator's own failure output (test_layer_c_counts_match_citations), not hand-counted first and cross-checked after: 173. REFRESHED (BVM Saturday Mass, 2026-08-17): 173 -> 159. Fourteen of these days are Saturdays carrying the RG 78 office, which now also says its own RG 309(a) Mass, so they gained a citation difference and moved to C17 -- whose single cause covers both. Not a new divergence and not a fix here: the same days, filed against the entry that actually explains them.")
+ (expected_rows 159))
((id C6)
(citation "RG 91 entry 17 (\"days within the Octave of the Nativity\") for the slug/rank divergence; RG 69, scan1.txt:625-631 word for word, for the QUESTIONED citation component (Important 3(b), coordinator review, task 8 fix round 1): \"De dominica infra octavam Nativitatis Domini, quae scilicet a die 26 ad 31 decembris occurrit, semper fit Officium cum commemoratione festi forte occurrentis, iuxta rubricas, nisi dominica incidat in festum I classis: quo in casu, fit de festo cum commemoratione dominicae\" -- the Sunday's OWN Office (not the fixed weekday placeholder) is kept, WITH a commemoration of whatever feast falls that day, whenever a Sunday lands anywhere 26-31 December (unless that feast is itself I class, in which case the feast wins with the Sunday commemorated instead)")
(verdict open)
@@ -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.")
- (expected_rows 397))
+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))
((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)
@@ -126,8 +126,8 @@ CORRECTED, task 8 fix round 1 (coordinator review, Minor): this note previously
((id C19)
(citation "register §3c item 5 (Time-after-Epiphany week-numbering anchor, the SAME citation this file's own [strip_epiphany_index]/Layer B header comment already carries) -- not a new rubric dispute, the previously-invisible CITATION-level consequence of an already-adjudicated NUMBERING artifact")
(verdict colitur)
- (note "task 8 (branch ef-lectionary, citation comparison): once Holy Family (RG 17(b), the ef-rg112-rg110 task) starts a Time-after-Epiphany week's own numbering one week \"behind\" lectio's own count -- confirmed to happen in exactly the same 7 years C15 above names, 2008/2013/2019/2030/2036/2041/2047 -- every later Sunday and feria of that SAME season reads a DIFFERENT week's Mass on each side (e.g. 2008-01-18, colitur's own \"week 1\" Friday reading Holy Family's own Col 3:12-17/Luke 2:42-52 where lectio's \"week 2\" Friday reads Rom 12:6-16/John 2:1-11) until Time after Epiphany ends at Septuagesima, which re-synchronises both engines' counts from zero -- the SAME numbering offset Layer B's own [strip_epiphany_index] already strips from the SLUG comparison (no [Slug_f] ever appears in this entry's own rows), now visible for the first time in the CITATION content it was never able to touch. Not a rubric dispute: both engines correctly compute \"whichever Sunday this feria repeats\", they simply disagree on which CIVIL Sunday that is once the week-count has drifted by one -- corroborating, not contradicting, the header comment's own \"no clean formula-based check is possible\" limit. A handful of these rows (the Saturdays, e.g. 2008-01-19/2019-02-16) ALSO carry [Colour_f]: those Saturdays independently carry C17's own BVM-Saturday office that week, a second, already-cited, unrelated cause layering onto the same row -- C17's own 416-row count is untouched, since its own guard requires diffs = EXACTLY [Colour_f], never satisfied on a row that also carries [First_f]/[Gospel_f]. Gated on the literal 7-year list AND colitur's own slug family (`ef-time-after-epiphany-*`, [starts_with] already declared for [strip_epiphany_index]) rather than a broader \"any citation diff this year\" rule, so an unrelated real bug elsewhere in one of these 7 years still surfaces as unexplained. Derived directly from the OCaml comparator's own failure output (test_layer_c_counts_match_citations), not hand-counted first and cross-checked after: 45.")
- (expected_rows 45))
+ (note "task 8 (branch ef-lectionary, citation comparison): once Holy Family (RG 17(b), the ef-rg112-rg110 task) starts a Time-after-Epiphany week's own numbering one week \"behind\" lectio's own count -- confirmed to happen in exactly the same 7 years C15 above names, 2008/2013/2019/2030/2036/2041/2047 -- every later Sunday and feria of that SAME season reads a DIFFERENT week's Mass on each side (e.g. 2008-01-18, colitur's own \"week 1\" Friday reading Holy Family's own Col 3:12-17/Luke 2:42-52 where lectio's \"week 2\" Friday reads Rom 12:6-16/John 2:1-11) until Time after Epiphany ends at Septuagesima, which re-synchronises both engines' counts from zero -- the SAME numbering offset Layer B's own [strip_epiphany_index] already strips from the SLUG comparison (no [Slug_f] ever appears in this entry's own rows), now visible for the first time in the CITATION content it was never able to touch. Not a rubric dispute: both engines correctly compute \"whichever Sunday this feria repeats\", they simply disagree on which CIVIL Sunday that is once the week-count has drifted by one -- corroborating, not contradicting, the header comment's own \"no clean formula-based check is possible\" limit. A handful of these rows (the Saturdays, e.g. 2008-01-19/2019-02-16) ALSO carry [Colour_f]: those Saturdays independently carry C17's own BVM-Saturday office that week, a second, already-cited, unrelated cause layering onto the same row -- C17's own 416-row count is untouched, since its own guard requires diffs = EXACTLY [Colour_f], never satisfied on a row that also carries [First_f]/[Gospel_f]. Gated on the literal 7-year list AND colitur's own slug family (`ef-time-after-epiphany-*`, [starts_with] already declared for [strip_epiphany_index]) rather than a broader \"any citation diff this year\" rule, so an unrelated real bug elsewhere in one of these 7 years still surfaces as unexplained. Derived directly from the OCaml comparator's own failure output (test_layer_c_counts_match_citations), not hand-counted first and cross-checked after: 45. REFRESHED (BVM Saturday Mass, 2026-08-17): 45 -> 35. Ten Saturdays moved to C17 for the same reason C1's fourteen did: they carry the RG 78 office and now its Mass too, which is C17's own cause.")
+ (expected_rows 35))
((id C20)
(citation "data/ef/commons.sexp's own citations (task 6, RG-cited per saint, three independent witnesses each -- task-6-report.md §1/§2) for four of these seven saints, routed through the Common; data/ef/adjustments.sexp's own `Edit ... Set_citation` propers, equally scan-verified, for the other three (thomas-aquinas/john-of-god/francis-of-paola)")
(verdict colitur)
@@ -173,17 +173,16 @@ CORRECTED, fix round 2 (coordinator review, Critical): the first-round fix hand-
lectio, still conflating Holy Week with Passion week on all six days, keeps showing Passion week's own reused citation regardless -- a genuine, permanent, structural divergence, not a data gap on either side that could close. Gated on the literal 6-slug list and `diffs = [ First_f; Gospel_f ]` exactly (identity already agrees on all six -- season/slug/rank/colour were never the problem). NOT simply 46 x 6 = 276: Holy TUESDAY's own hand-authored citation is BYTE-IDENTICAL to lectio's own value (both draw on the identical Missal Mass -- C26 below has the account of why lectio's own ini carries Holy Tuesday's data under a Passion-week key), so all 46 of ITS rows match outright and never reach this entry. Derived directly from the OCaml comparator's own failure output, not hand-counted first and cross-checked after: 230 (276 - 46).")
(expected_rows 230))
- ((id C25)
- (citation "RG 69, scan1.txt:625-631 word for word (the SAME citation C6 above carries in full) -- this entry is the one-hop-removed CONSEQUENCE of that same gap, not an independent rubric question")
- (verdict open)
- (note "task 8 fix round 1 (coordinator review, Important 3(b)): colitur's `ef-christmas-1-{wednesday,thursday,friday,saturday}` (Holy Name week ferias with no proper of their own) resume, via Lectionary_ef.readings' step 3, the preceding Sunday's temporal identity -- which, on these specific dates, is one of the Nativity-Octave Sundays C6 above already names as RG-69-QUESTIONED (a Sunday landing 29-31 December, where colitur wrongly emits the fixed weekday formulary \"Titus 3:4-7\"/\"Luke 2:15-20\" instead of the Sunday's own distinct Office). Confirmed, not merely inferred: every single one of these 57 rows' colitur-side citation is exactly \"Titus 3:4-7\" -- the SAME wrong value C6's own 19 Sunday-landing rows carry, propagated one civil-date hop later, not a second, independent cause. A genuine [Temporal_ef] defect, out of this task's own scope (the same shared, multi-round-reviewed kernel-adjacent function C6's own note names) -- recorded here per the coordinator's own explicit instruction (\"record it prominently... for a follow-up task\"), not fixed and not left silently failing.
-
-CORRECTED, fix round 2 (coordinator review, Minor): this entry's own reason for the literal 4-slug list (Wednesday/Thursday/Friday/Saturday, never Monday/Tuesday) previously claimed Monday and Tuesday \"are always claimed first by the Circumcision's or Holy Name's own direct entries\" -- FALSIFIED by 2028-01-03/04, real dates that genuinely exist as their own `ef-christmas-1-{monday,tuesday}` slugs and genuinely resume via step 3 (they are not \"claimed away\" from existing at all). Replaced with the directly OBSERVED fact, from an exhaustive sweep of every such occurrence 2004-2051 against the real resolver (not merely the slug, the resolved citation): `ef-christmas-1-monday` occurs 21 times and resolves to Holy Name Sunday's own citation (Gal 4:1-7/Luke 2:33-40) every time; `ef-christmas-1-tuesday` occurs 22 times and resolves to EITHER Holy Name Sunday's citation OR the Circumcision's (Titus 2:11-15/Luke 2:21) -- both real, correct, directly-cited entries, confirmed never the wrong Nativity-Octave-Sunday value. Both weekdays fall close enough to 1-2 January that their own preceding-Sunday walk stays within January; Wednesday/Thursday/Friday/Saturday are far enough that the same walk can reach past 2 January into December when Holy Name Sunday does not exist that year, landing on this entry's own wrong Sunday instead -- the general shape, not re-asserted as a proven arithmetic rule (a first attempted derivation was itself found wrong on a second reading and is not repeated). Gated on the literal 4-slug family and `diffs = [ First_f; Gospel_f ]` exactly (identity already agrees -- this is a pure content consequence one hop removed).
-
-CORRECTED, fix round 3 (coordinator review): the TOTAL, 57, is derived directly from the OCaml comparator's own failure output (its own `expected_rows` pin, cross-checked against a real test run) -- that part was accurate. The PER-WEEKDAY split is NOT: the comparator reports per-id totals only, never a per-weekday breakdown, so that finer split came from a separate pass over the raw per-slug failure list, and a prior version of this note wrongly implied it came from the comparator directly. That prior version also rotated the labels: it read \"19 + 19 + 13 + 6, Wednesday/Thursday/Friday/Saturday respectively\" -- the right four numbers, each attached to the wrong weekday. Re-measured directly against the real resolver: Wednesday 6, Thursday 19, Friday 19, Saturday 13 (6 + 19 + 19 + 13 = 57, no residue).
-
-NARROWED, Task 9 (branch ef-lectionary, layer-4 oracle): expected_rows moved 57 -> 13, and the slug list narrowed to `ef-christmas-1-saturday` ALONE. Wednesday/Thursday/Friday (6+19+19=44 of the former 57 rows) each now have their OWN direct lectionary entry (the Most Holy Name of Jesus Mass-propers' own \"diebus ferialibus a 2 ad 5 ianuarii Missa dicitur ut die 1 ianuarii\" rubric -- NOT RG 17(a) itself, see C30's own citation for the corrected attribution -- tools/bootstrap_lectionary.ml's own [epiphanytide_opening_entries]) and no longer reach step 3's walkback at all -- colitur is now RIGHT there, not merely differently wrong, so those 44 rows are a SEPARATE new id (C30 below, verdict colitur), not a re-adjudication of this one. `ef-christmas-1-saturday` is the ONE weekday deliberately left WITHOUT a direct entry (RG 78's BVM Saturday Office wins that day unconditionally whenever nothing else does, {!Rite_ef.Temporal_ef.bvm_saturday_names} -- giving it the \"repeat 1 January\" citation would be wrong on exactly the days this same rubric is correct for the other four weekdays), so its own step-3 walkback -- and this entry's own root cause and citation, \"Titus 3, 4-7\" -- are genuinely UNCHANGED by this task, confirmed directly: the pinned regression test (test_lectionary_ef.ml's own `test_step3_christmas_feria_resumes_sunday`, now re-pointed at 2026-01-03) still returns exactly \"Gal 4:1-7\"/\"Luke 2:33-40\", the Nativity-Octave Sunday's own value C6 above still questions. 13 matches the ORIGINAL per-weekday breakdown's own Saturday figure exactly (6+19+19+13=57 from fix round 3 above), corroborating rather than merely asserting the narrowed count; re-derived directly from the OCaml comparator's own failure output after narrowing the predicate, not assumed from the old breakdown alone.")
- (expected_rows 13))
+ ; C25 -- CLOSED, BVM Saturday Mass (2026-08-17), REMOVED not re-adjudicated:
+ ; 0 of 16801 rows. It covered `ef-christmas-1-saturday`, a Holy-Name-week
+ ; Saturday with no proper of its own, which resumed the preceding Sunday's
+ ; identity through step 3. Every one of those days is an unoccupied IV-class
+ ; Saturday, so it carries RG 78's office -- and now RG 309(a)'s Mass for it,
+ ; which answers before step 3 is ever reached. The days did not stop
+ ; differing from lectio; they moved to C17, whose cause (colitur builds the
+ ; office and its Mass, lectio builds neither) now explains them completely.
+ ; Same "closed because the shape it named no longer occurs" discipline as
+ ; C2-C5/C7/C9-C13/C21/C22, and the citation is preserved in the register.
((id C26)
(citation "Passion Tuesday's real Mass (\"Feria tertia, III classis, Statio ad S. Cyriacum\"): Dan 14:27, 28-42 / John 7:1-13 -- docs/research/scan1.txt:11085-11121, corroborated scan2.txt:12063-12120 (CORRECTED, fix round 3, coordinator review: the scan2 endpoint previously read 12104, which stops after the Epistle -- \"Lectio Danielis Prophetae, Dan. 14,27 et 28-42\" -- and never reaches the Gospel heading/citation at all; \"Sequentia sancti Evangelii secundum Ioannem, Ioann. 7,1-13\" is at scan2.txt:12117-12120, so the range now extends to 12120, mirroring scan1's own convention of ending right at the Gospel's citation line rather than the full pericope text), word for word both scans")
(verdict colitur)
@@ -214,8 +213,8 @@ CORRECTED, fix round 1 (coordinator review, Important 1): this note previously d
((id C31)
(citation "NOT RG 17(a) -- CORRECTED, fix round 1 (coordinator review): this is a DIFFERENT Mass-propers rubric block, ~230 scan1 lines after Holy Name's own (C30 above), sitting within HOLY FAMILY'S OWN feast propers (RG 17(b)'s feast, page header \"Sanctae Familiae Iesu, Mariae, Ioseph\", scan1.txt:6751/scan2.txt:7412) -- printed immediately BEFORE the \"DOMINICA PRIMA post Epiphaniam / SANCTAE FAMILIAE\" Mass heading, the same structural position C30's own rubric occupies relative to Holy Name's heading, both scans: \"Diebus ferialibus a 7 ad 12 ianuarii ante dominicam I post Epiphaniam occurrentibus, dicitur Missa de festo Epiphaniae\" (docs/research/scan1.txt:6753-6757; scan2.txt:7413-7415 corroborates, OCR-garbled -- \"occurentibus\"/\"Epipbaniee\" -- but the reading is not in doubt: scan1 is clean and missalemeum's own extraction corroborates the citation this rubric produces) -- ON FERIAL DAYS from 7 to 12 January occurring BEFORE the first Sunday after Epiphany (Holy Family), THE MASS OF THE FEAST OF EPIPHANY (Isa 60:1-6/Matt 2:1-12) IS SAID")
(verdict colitur)
- (note "Task 9 (branch ef-lectionary, layer-4 oracle): `ef-christmas-2-{monday,tuesday,wednesday,thursday,friday}` (7 January through the day before Holy Family Sunday, EXCLUDING Saturday -- the same RG 78 exclusion C30 above explains, confirmed again on this window's own remaining such Saturdays) had NO lectionary entry of their own before this task, falling through to step 3's preceding-Sunday walkback. This slug family's own civil dates ALREADY carried a Season/Slug_f/Colour_f divergence against lectio BEFORE this task (lectio's own season boundary starts Time-after-Epiphany at Epiphany itself, RG 72-73's own later boundary colitur keeps; lectio's own week numbering has no Holy Family to wait for, so its own slug for these dates is already \"ef-time-after-epiphany-1-<weekday>\", not \"ef-christmas-2-...\"), previously absorbed by C1's own [jan_6_13_slug] allow-list (which already names this family, unchanged) -- this task's own fix (tools/bootstrap_lectionary.ml's own [epiphanytide_opening_entries]) adds a First_f/Gospel_f divergence on top of that EXISTING one, so this entry's own guard is a SUBSET, `subset diffs [Season;Slug_f;Colour_f;First_f;Gospel_f]` with at least one of First_f/Gospel_f present (a feria's Epistle and Gospel are independent lookups and can each happen to already coincide). `ef-christmas-2-saturday`, though deliberately given no DIRECT entry (the same RG 78 reasoning as C30), is included in THIS entry's own slug list for a different, genuinely observed reason: its own step-3 walkback CAN land on `ef-holy-name-sunday` in years where that Sunday immediately precedes it, inheriting that slug's newly-corrected citation (C29 above) as a side effect, with no direct entry of its own involved at all -- confirmed directly against the real resolver, not theorised (`ef-christmas-1-saturday`'s own walkback structurally cannot reach that far forward, since its own window, 2-5 January, is entirely before Holy Name Sunday can exist; C25's own unchanged population is the proof this genuinely does not happen there). Derived directly from the OCaml comparator's own failure output (test_layer_c_counts_match_citations), not hand-counted first and cross-checked after: 89.")
- (expected_rows 89))
+ (note "Task 9 (branch ef-lectionary, layer-4 oracle): `ef-christmas-2-{monday,tuesday,wednesday,thursday,friday}` (7 January through the day before Holy Family Sunday, EXCLUDING Saturday -- the same RG 78 exclusion C30 above explains, confirmed again on this window's own remaining such Saturdays) had NO lectionary entry of their own before this task, falling through to step 3's preceding-Sunday walkback. This slug family's own civil dates ALREADY carried a Season/Slug_f/Colour_f divergence against lectio BEFORE this task (lectio's own season boundary starts Time-after-Epiphany at Epiphany itself, RG 72-73's own later boundary colitur keeps; lectio's own week numbering has no Holy Family to wait for, so its own slug for these dates is already \"ef-time-after-epiphany-1-<weekday>\", not \"ef-christmas-2-...\"), previously absorbed by C1's own [jan_6_13_slug] allow-list (which already names this family, unchanged) -- this task's own fix (tools/bootstrap_lectionary.ml's own [epiphanytide_opening_entries]) adds a First_f/Gospel_f divergence on top of that EXISTING one, so this entry's own guard is a SUBSET, `subset diffs [Season;Slug_f;Colour_f;First_f;Gospel_f]` with at least one of First_f/Gospel_f present (a feria's Epistle and Gospel are independent lookups and can each happen to already coincide). `ef-christmas-2-saturday`, though deliberately given no DIRECT entry (the same RG 78 reasoning as C30), is included in THIS entry's own slug list for a different, genuinely observed reason: its own step-3 walkback CAN land on `ef-holy-name-sunday` in years where that Sunday immediately precedes it, inheriting that slug's newly-corrected citation (C29 above) as a side effect, with no direct entry of its own involved at all -- confirmed directly against the real resolver, not theorised (`ef-christmas-1-saturday`'s own walkback structurally cannot reach that far forward, since its own window, 2-5 January, is entirely before Holy Name Sunday can exist; C25's own unchanged population is the proof this genuinely does not happen there). Derived directly from the OCaml comparator's own failure output (test_layer_c_counts_match_citations), not hand-counted first and cross-checked after: 89. REFRESHED (BVM Saturday Mass, 2026-08-17): 89 -> 103. Fourteen Christmastide Saturdays that previously matched C1 now match here instead, their citation difference having changed shape while the season difference persists; this entry's own subset already admits both.")
+ (expected_rows 103))
((id C32)
(citation "NOT RG 17(a) -- CORRECTED, fix round 1 (coordinator review): the SAME Holy Family propers block C31 above cites, its own next sentence, a named formula, both scans: \"post eandem dominicam vero Missa de eadem dominica In excelso throno, ut infra... Haec Missa dicenda est diebus ferialibus huius hebdomadae\" (docs/research/scan1.txt:6758-6851; scan2.txt:7415-7434 corroborates \"In excelso throno... ut infra\", OCR-garbled elsewhere in the same passage, reading not in doubt) -- \"MISSA DOMINICAE PRIMAE post Epiphaniam\", Epistle \"Lectio Epistolae beati Pauli Apostoli ad Romanos. Rom. 12, 1-5\" (scan1.txt:6875-6877), Gospel the SAME pericope as Holy Family's own Sunday Mass, Luke 2:42-52 (scan1.txt:6885-6905) -- said on the FERIAL DAYS of Holy Family Sunday's OWN week")
(verdict colitur)