summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-18 14:37:34 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-18 14:37:34 +0200
commit906a84e626ed49c6bd995c6fad7d53355baf582a (patch)
treef2b6fd1b184ac8530dc7d1b9e8757d5a85e9ef84 /data
parent84b1ccba5ea352653eaa52dbf0b14102da37eb2c (diff)
downloadcolitur-906a84e626ed49c6bd995c6fad7d53355baf582a.tar.gz
colitur-906a84e626ed49c6bd995c6fad7d53355baf582a.zip
test(differential): refresh the lectio fixture -- the lineage inverted
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 has merged eight field corrections colitur 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. 227 of the 16801 rows changed. Three cited classes went to zero and are CLOSED and REMOVED, citations preserved in the register, the same discipline C2-C5, C7, C9-C13, C21, C22 and C25 already record: C27 40 -> 0 the Advent Ember Saturday's readings C28 40 -> 0 the September Ember Saturday's readings C37 77 -> 0 the two vigil colours C37 is worth noting by name: its own note called the shared lineage "the sharpest demonstration in the project", colitur and lectio and missalemeum all carrying the same two wrong colours. Two of the three now carry the right one. C38 NARROWED rather than closed, and the distinction matters. Its identity half is gone -- lectio ranks both saints class-3 now -- but the same 70 rows still differ on readings, because both saints take their Mass from a Common and lectio has no Commons concept to resolve one. It is gated on diffs = [First_f; Gospel_f] exactly, which is C18's shape. It cannot close without lectio gaining a capability, which is a feature rather than a fix. Net: 24 cited classes to 21, 2252 divergent rows to 2095, agreement 86.6% to 87.5%. The number that matters is not the percentage though -- it is that those 227 days now agree BECAUSE BOTH ENGINES FOLLOW THE MISSAL, where before they agreed because both inherited the same errors from Divinum Officium. That is the failure mode CLAUDE.md's lineage note describes, resolved rather than documented, for the first time in this project.
Diffstat (limited to 'data')
-rw-r--r--data/ef/expected-divergences.sexp34
1 files changed, 17 insertions, 17 deletions
diff --git a/data/ef/expected-divergences.sexp b/data/ef/expected-divergences.sexp
index 9934ff6..40f83c5 100644
--- a/data/ef/expected-divergences.sexp
+++ b/data/ef/expected-divergences.sexp
@@ -199,16 +199,16 @@ lectio, still conflating Holy Week with Passion week on all six days, keeps show
(verdict colitur)
(note "task 8 fix round 2 (coordinator review, Important): lectio's own ini section for Passion Tuesday (`ef-passiontide-0-tuesday`) is not Passion Tuesday's Mass at all -- it is Holy Tuesday's (Jer 11:18-20 / the Passion according to Mark), confirmed independently against both scans; C23 above has the full account of that same confusion for the OTHER (Holy) Tuesday. tools/bootstrap_lectionary.ml's own [colitur_keys] now excludes this one ini section from translation rather than using its (wrong) value, and [passion_tuesday_entry] hand-authors the real Missal citation instead. lectio's own COMPUTED reading for the civil date it labels \"Passion Tuesday\" is drawn from the same wrong source, so colitur's now-correct citation genuinely diverges from lectio's on every occurrence this office is actually the observed day -- not a data gap on either side that could close. The other five Passion-week weekdays were independently re-verified against the Missal and are correct as lectio already had them; this is the ONE exception. Gated on the literal slug and `diffs = [ First_f; Gospel_f ]` exactly. Derived directly from the OCaml comparator's own failure output, not hand-counted first and cross-checked after: 43, not 46 -- traced, not merely accepted: in 2013, 2024 and 2042, Passion Tuesday's own civil date is impeded outright by a competing I-class feast (St Joseph, 19 March, in 2013/2024; the Annunciation, 25 March, in 2042), so colitur's own observed slug that day is the saint's, not this entry's slug at all -- those three rows already match independently, both engines agreeing on the saint's own citation. 43 + 3 = 46, the full domain, no residue.")
(expected_rows 43))
- ((id C27)
- (citation "The Advent Ember Saturday's real Mass (\"Sabbato Quatuor Temporum Adventus\"): 2 Thess 2:1-8 / Luke 3:1-6 -- docs/research/scan1.txt:5425 (Gospel heading \"Sequentia sancti Evangelii secundum Lucam, Luc. 3,1-6\") and 5433 (Epistle heading \"Lectio Epistolae beati Pauli Apostoli ad Thessalonicenses, 2 Thess. 2,1-8\"), independently re-verified against scan2.txt:5904 (Gospel citation) and 5911 (Epistle citation), word for word both scans")
- (verdict colitur)
- (note "task 8 fix round 3 (coordinator review, Important): lectio's own ini value for `ef-advent-ember-sat` is not the Advent Ember Saturday's Mass at all -- it is St Thomas the Apostle's (Eph 2:19-22 / John 20:24-29, \"doubting Thomas\", 21 December), the identical shape C26 above documents for Passion Tuesday: a wrong value inherited verbatim from lectio's own ini, invisible to the differential because both engines carried the same wrong source before this fix. Both the real Epistle and the real Gospel are explicitly labelled in the Missal (\"Lectio Epistolae\" precedes 2 Thess 2:1-8, distinct from the prophecies before it), so this entry needed no \"last lesson before the Gospel\" convention judgement call the way Holy Wednesday/Good Friday (C23) did -- a textual fact, not an editorial choice. tools/bootstrap_lectionary.ml's own [colitur_keys] now excludes this ini section from translation rather than using its wrong value, and [ember_saturday_corrections] hand-authors the real Missal citation instead. Gated on the literal slug and `diffs = [ First_f; Gospel_f ]` exactly (identity already agrees). Derived directly from the OCaml comparator's own failure output, not hand-counted first and cross-checked after: 40, not 46 -- traced, not merely accepted: in 2013, 2019, 2024, 2030, 2041 and 2047, 21 December (St Thomas the Apostle) falls on a Saturday and coincides with the Advent Ember Saturday itself, so the SAINT wins outright (a real, correct occurrence result, both engines agreeing) and these six rows never reach this entry at all -- the same 6 civil years C28 below names, since 21 September and 21 December are always exactly 91 days (13 weeks) apart and so fall on the identical weekday every year, confirmed directly against `date -d`, not merely by arithmetic. This coincidence is also the likely origin of lectio's own wrong ini value in the first place: bootstrapped from a single calendar year that happened to be one of these six, generalising a real but year-specific coincidence into a permanent template value. 40 + 6 = 46, the full domain, no residue.")
- (expected_rows 40))
- ((id C28)
- (citation "The September Ember Saturday's real Mass (\"Sabbato Quatuor Temporum septembris\"): Heb 9:2-12 / Luke 13:6-17 -- docs/research/scan1.txt:23493 (Epistle heading \"Lectio Epistolae beati Pauli Apostoli ad Hebraeos, Hebr. 9, 2-12\") and 23545 (Gospel heading \"Sequentia sancti Evangelii secundum Lucam\", Luc. 13, 6-17 follows), independently re-verified against scan2.txt:26007 (Epistle citation) and 26013 (Gospel citation), word for word both scans")
- (verdict colitur)
- (note "task 8 fix round 3 (coordinator review, Important): lectio's own ini value for `ef-september-ember-sat` is not the September Ember Saturday's Mass at all -- it is St Matthew's (Ezek 1:10-14 / Matt 9:9-13, the calling of Matthew, 21 September), the identical shape C26/C27 document. Both the real Epistle and the real Gospel are explicitly labelled in the Missal (\"Lectio Epistolae\" precedes Heb 9:2-12), so this entry, like C27, needed no \"last lesson before the Gospel\" convention judgement call. tools/bootstrap_lectionary.ml's own [colitur_keys] now excludes this ini section from translation rather than using its wrong value, and [ember_saturday_corrections] hand-authors the real Missal citation instead. Gated on the literal slug and `diffs = [ First_f; Gospel_f ]` exactly (identity already agrees). Derived directly from the OCaml comparator's own failure output, not hand-counted first and cross-checked after: 40, not 46 -- the IDENTICAL 6 civil years C27 above names (2013, 2019, 2024, 2030, 2041, 2047), where 21 September (St Matthew) falls on a Saturday and coincides with the September Ember Saturday itself, so the SAINT wins outright and these six rows never reach this entry -- the same 91-day/13-week weekday coincidence between 21 September and 21 December that explains C27's own gap, confirmed against `date -d` for all six years, not merely by arithmetic. The other four Ember entries (Advent Wednesday/Friday, September Wednesday/Friday) were checked against both scans and are correct as lectio already had them -- these two Saturdays are the only Ember exceptions. 40 + 6 = 46, the full domain, no residue.")
- (expected_rows 40))
+ ; C27 -- CLOSED, REMOVED (2026-08-18): 0 of 16801 rows. lectio adopted the
+ ; correction. Its ini carried St Thomas the Apostle's Mass under
+ ; `ef-advent-ember-sat`; it now carries the Advent Ember Saturday's own,
+ ; 2 Thess 2:1-8 / Luke 3:1-6. The two engines agree because both now follow
+ ; the Missal, not because both inherited the same wrong value. Citation
+ ; preserved in docs/research/rules-register.md; same discipline as C2-C5,
+ ; C7, C9-C13, C21, C22, C25.
+ ; C28 -- CLOSED, REMOVED (2026-08-18): 0 of 16801 rows, same cause as C27
+ ; above. lectio's ini carried St Matthew's Mass under
+ ; `ef-september-ember-sat`; it now carries Heb 9:2-12 / Luke 13:6-17.
((id C29)
(citation "RG 17(a) (\"festum Ss.mi Nominis Iesu, celebrandum dominica quae occurrit a die 2 ad 5 ianuarii\") for the PRIVILEGE; the Missal's own Sanctissimi Nominis Iesu Mass propers, both scans, word for word: \"Lectio Actuum Apostolorum. Act. 4, 8-12\" / \"Sequentia sancti Evangelii secundum Lucam. Luc. 2, 21\" (docs/research/scan1.txt:6579-6608, scan2.txt:7225-7297) -- the Sunday shape's own citation, distinct from C16's fallback shape immediately above")
(verdict colitur)
@@ -247,13 +247,13 @@ CORRECTED, fix round 1 (coordinator review, Important 1): this note previously d
(verdict colitur)
(note "The ferias of the week after Trinity Sunday. Trinity is the temporal identity of its own Sunday, so a plain walkback to \"the preceding Sunday's Mass\" lands on Trinity's -- which is what colitur did until this fix and what lectio still does. But RG 299's rule carries an explicit exception, and this week is the clearest instance of it in the year: the Missal prints a NAMED formula for the week immediately after Trinity, precisely BECAUSE the feast has taken the Sunday's own Mass. colitur now resolves these ferias at step 2 from that formula and never reaches step 3's walkback at all. This is test_oracle.ml's own M26 shape 2(a), fixed rather than allow-listed there. Note what this does NOT cover: M26 shape 2(b), the ferias of Christ the King's week, where no proper Mass is assigned (checked directly -- no rubric precedes that Mass heading, scan1.txt:39163ff) and RG 299's DEFAULT therefore governs, making the preceding Sunday's Mass genuinely Christ the King's own. Gated on the literal 5-slug list, requiring the citation difference to be present, and admitting a colour difference only alongside it -- nine of these days are also unoccupied IV-class Saturdays carrying C17's own BVM-Office colour divergence, and a colour-only Saturday must still fall to C17 rather than be absorbed here. No Thursday in the list: Corpus Christi is Easter+60, which IS this week's Thursday every year, so the slug never exists -- the bootstrap's own reachability guard refuses to emit it. Derived from the comparator's own failure output, not hand-counted: 69.")
(expected_rows 69))
- ((id C37)
- (citation "RG 128, transcribed in docs/research/rules-register.md 3b: violet is used for Advent, Septuagesima to the Easter Vigil (with named exceptions), the September Ember days, and VIGILS OF II AND III CLASS OUTSIDE PASCHALTIDE. The Vigil of St Lawrence (9 August, III class) and the Vigil of the Assumption (14 August, II class) are both outside Paschaltide and are therefore both violet. colitur carried Red and White respectively, bootstrapped from lectio. Corroborated by O'Connell, The Celebration of Mass, 4th ed. (1964, revised throughout to the Codex Rubricarum 1960 and the 1962 Missal), section 4(c) -- violet 'on vigils of II and III class outside Eastertide' -- whose footnote 169 names the SOLE exception: 'the only vigil of II class within Eastertide is that of the Ascension and its colour is white', which colitur already emitted correctly and which is deliberately NOT in this entry's slug list")
- (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))
+ ; C37 -- CLOSED, REMOVED (2026-08-18): 0 of 16801 rows. lectio recoloured
+ ; both August vigils violet under RG 128. This is the entry whose own note
+ ; called the shared lineage "the sharpest demonstration in the project" --
+ ; colitur, lectio and missalemeum all carrying the same two wrong colours.
+ ; Two of the three now carry the right one, and for the stated reason.
((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")
+ (citation "lectio has ADOPTED this correction: since 2026-08-18 its own tridentine-calendar.ini ranks both ubaldus (16 May) and didacus (13 November) class-3, so identity, rank and colour now AGREE and no longer reach this entry. What remains is a readings divergence of exactly C18's shape. Both saints take their Mass from a Common (Missa Statuit de Communi Confessoris Pontificis I loco; Missa Iustus de Communi Confessoris non Pontificis II loco), and lectio has no Commons concept at all, so it resolves the literal -/- sentinel where colitur resolves the Common. Original citation, for the promotion itself: the 1962 Missal's own universal calendarium ranks both III classis outright, corroborated in both scans and in a published 1962 Ordo; full account in docs/research/rules-register.md 6.25")
(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.")
+ (note "NARROWED, not closed, 2026-08-18. This entry was 70 rows of slug+rank+readings(+colour) divergence while lectio still ranked both saints as commemorations. lectio merged the correction, so the identity half is gone and the entry is now gated on diffs = [First_f; Gospel_f] exactly. Still 70 rows -- the same population, a smaller disagreement. It cannot close on either side without lectio growing a Commons concept, which is a feature rather than a fix. Sibling entries C27, C28 and C37 DID close outright in the same refresh, because their corrections needed no capability lectio lacks.")
(expected_rows 70))