Fixture: lectio-ef-2005-2050.txt Task: 2026-08-18, refresh after lectio adopted two further Missal corrections (RG 96(a)/97/98 transfer collisions, and the Holy Family propers' own 13-January omission of the Baptism). Produced by the sibling project ~/git/projects/lectio at commit: e713da2 fix(ef): two I-class feasts can no longer transfer onto the same day SHA-256: 2e9c5761e7e5ccee4b5be096e8727d07a2e67dd9523a897f9aa73407ddf1e350 13 rows changed against the previous fixture (bac0aacfaa67db0f6f9ae45f1295f831f62bb35a6e2a8e8c72503b2b26e1a8a8): - 7 rows, 13 January in 2008/2013/2019/2030/2036/2041/2047: lectio kept the Commemoration of the Baptism as the observed office on a 13 January that is itself the Sunday after Epiphany. The Holy Family Mass propers say "sine commemoratione Baptismatis D.N.I.C." -- the Baptism is omitted, and the day is the Holy Family. lectio now agrees with colitur on all seven. - 6 rows, 2008/2035/2046: St Joseph and the Annunciation, both impeded by an early Easter, both transferred onto the Monday after Low Sunday, where Joseph lost and vanished from the year (he showed only as "+joseph-..." in the Annunciation's commemoration tail). RG 96(a) gives the Annunciation a sedes propria on that Monday; Joseph now takes the Tuesday. lectio agrees with colitur on all six. Both corrections run colitur -> lectio, not the other way: colitur argued them from the Missal and lectio adopted them. On these 13 days the Divinum Officium lineage no longer holds, the same way the eight earlier corrections broke it. --- previous provenance, retained --- Fixture: lectio-ef-2005-2050.txt Task: 2026-08-14-colitur-ef-lectionary, Task 8 (fixture refresh -- lectio's lectio-ef-dump gained two new columns, Epistle/Lesson and Gospel citations; branch ef-lectionary). Produced by the sibling project ~/git/projects/lectio at commit: 3ad70f0 lectio-ef-dump: emit the Epistle and Gospel citations Previous provenance (superseded by this refresh): 3b32c00 Merge branch 'fix/ef-precedence-defects': seven EF calendar defects SHA-256 was fc4832f1bc1bdfd322e808ae4929487628981792c23f959c1764c8eaedbfaf7f. Between 3b32c00 and 3ad70f0, lectio's own calendar/precedence logic did NOT change at all (verified: fields 1-7, date through colour, are byte-for-byte identical row for row against the prior fixture) -- only the dumper itself changed, appending two new columns ("first", "gospel": the day's resolved Epistle/Lesson and Gospel citations, via the same caldata.Readings the CLI and calfeed use, not a raw per-slug lookup -- see cmd/lectio-ef-dump/main.go's own doc comment). Column count: 9 -> 11 fixed fields (name_en/name_pl/first/ gospel now sit between colour and any trailing "+other-slug" tokens). Previous refresh (2026-08-12, task 2026-08-12-colitur-rg16a, branch ef-rebootstrap), for reference: 2386a45 cmd(lectio-ef-dump): new EF calendar dumper for colitur's differential oracle SHA-256 was 2ca3eeeda4e7a0406c4d004c1b2003fc0df671aca9af18a1b506543a721c8bac. Between 2386a45 and 3b32c00, lectio fixed seven EF calendar defects (Sunday I-class ranks incl. Rose Sundays, Holy Thursday's colour, Ember-day rank, the September-Ember-vs-St-Matthew/Thomas occurrence, the Joseph-on-a-Lent- Sunday transfer, the 2011 Precious-Blood transfer, and the Nativity-octave III-class-feast bootstrap gap) and root-caused its sanctoral generator. 806 of the 16801 rows changed field-for-field (fields 1-7) between the two fixtures -- see .superpowers/sdd/2026-08-12-colitur-rg16a/fixture-refresh-report.md for the full before/after account. SHA-256: bac0aacfaa67db0f6f9ae45f1295f831f62bb35a6e2a8e8c72503b2b26e1a8a8 REFRESH 2026-08-18 (branch main, after lectio adopted colitur's EF corrections). THE LINEAGE INVERTED HERE. Every previous refresh of this fixture carried lectio's answers TO colitur, because colitur's data was bootstrapped from lectio. This one carries colitur's answers BACK: lectio merged eight field corrections colitur had argued from the 1962 Missal -- ubaldus and didacus promoted from commemoration to III-class feast on the Missal's own calendarium, both August vigils recoloured violet under RG 128, and both Ember Saturdays' readings, which lectio had carrying St Thomas's and St Matthew's Masses respectively. Produced by ~/git/projects/lectio at commit: 7792ad3 merge: adopt colitur's EF corrections Previous SHA-256 was a3092e3f465c2a369ae060c2c310cd3087918b821ea839bf06276ab9d82a10ce. REFRESH 2 (same day, after lectio adopted three FURTHER corrections: the twelve RG 124 colours, Good Friday's black under RG 128(b)/RG 132, and RG 72's Christmas Time boundary). 864 more rows changed. C18 (450 rows, the RG 124 colours -- the largest single class in the file) and C36 (46, Good Friday's colour) went to ZERO and are closed; C1 fell 159 -> 35 as the season boundary stopped differing; C23 returned 184 -> 230 as Good Friday's rows folded back into it. Cited classes 24 -> 19, divergent rows 2252 -> 1521, agreement 86.6% -> 90.9%. 227 of the 16801 rows changed. FOUR cited divergence classes went to ZERO and are closed: C27 and C28 (the two Ember Saturday readings), C37 (the vigil colours) and C38 (the promoted feasts). They are removed rather than re-adjudicated, the same discipline C2-C5, C7, C9-C13, C21, C22 and C25 already record, and their citations are preserved in docs/research/rules-register.md. Worth being precise about what closing them means. The two engines now agree on those 227 days FOR THE RIGHT REASON -- both follow the Missal -- rather than by the shared inheritance that made them agree before colitur found the errors. That is the opposite of the failure mode CLAUDE.md's lineage note warns about, and it is the first time this project has resolved one rather than merely documenting it. (same digest as [fixture_sha256] in test/test_differential.ml, ASSERTED by that suite's own "fixture SHA-256 matches its provenance note" test -- this line documents the pin for a reader who never runs the suite; that test is what actually enforces it. Regenerate both together, deliberately, after re-running the exact command below -- never by copying a mismatch's actual value back in, which would defeat the pin's purpose.) Exact command: cd ~/git/projects/lectio && go run ./cmd/lectio-ef-dump 2005 2050 Output: one line per civil day, 2005-01-01 through 2050-12-31 inclusive (16801 lines = 46*365 + 11 leap days), in lectio's OWN vocabulary -- season/slug/rank/colour spellings are lectio's, not translated to colitur's. See cmd/lectio-ef-dump/main.go's own doc comment for the exact column format and the caveats this repo's comparator (test/test_differential.ml) relies on: the trailing "+other-slug" tokens are LOSING candidates (lectio has no RG 111 admission logic), and lectio's own EF oracle test asserts season only, for 2025-2026 only (rank/colour are logged, not asserted). Column count history: the dumper at 2386a45 printed 7 space-separated fields (date weekday season week slug rank colour) plus any trailing "+other-slug" tokens; at 3b32c00 it grew to 9 (the same 7, PLUS name_en and name_pl -- the observed celebration's own display name in each language, "_"-for-space, "-" for empty); at 3ad70f0 (this refresh) it grew to 11, appending "first" and "gospel" -- the day's RESOLVED Epistle/ Lesson and Gospel citations (caldata.Readings, the same fallback-applying function the CLI and calfeed use, not a raw per-slug lectionary lookup), same "_"-for-space/"-"-for-absent encoding as the name columns. DECISION (unchanged since the first refresh): keep the fixture as the dumper's raw, unedited stdout -- do not strip or reorder columns. This file's own contract is "the exact command's output, verbatim"; editing it would mean the committed bytes no longer equal what the command above produces, forcing an undocumented post-processing step into what is supposed to be a one-line regeneration. Task 8 (this refresh) widened test/test_differential.ml's own row_of_line to read fields 8-11 too, not only 1-7: name_en/name_pl (8-9) are parsed and immediately discarded (still no code reads them -- the names remain useful for manual triage only, matching a slug like `ef-lent-sunday-1` against its own "First_Sunday_of_Lent" is faster than cross-referencing sanctoral data by hand); first/gospel (10-11) are decoded ("_" back to space) and carried into the comparator's own `row.first`/`row.gospel` fields, compared against colitur's own resolved citations. Only tokens from field 12 onward are the real "+"-prefixed losing-candidate tail `_others` still captures and still never reads. Regenerate with the same command if lectio's EF calendar logic changes and the fixture needs updating; do not hand-edit this file.