diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-12 17:49:38 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-12 17:49:38 +0200 |
| commit | 4ab0e8aeb83dfc41d03ee8e4dabea018b74a22bd (patch) | |
| tree | d121f9c7611271519d39c2a856d166ee1f6e50d3 /test/test_oracle.ml | |
| parent | f0c0c7a04a3022934fbec68e142362030cb42b77 (diff) | |
| download | colitur-4ab0e8aeb83dfc41d03ee8e4dabea018b74a22bd.tar.gz colitur-4ab0e8aeb83dfc41d03ee8e4dabea018b74a22bd.zip | |
test(oracle): close M4, M6, M7, M9 and M14 -- the five now-fixed data gaps
Each was recorded as a genuine data gap "traced upstream into lectio,
unfixable without touching lectio". That constraint is gone: all five
commemorations (St Agnes secundo 28 Jan, St Eusebius Confessor 14 Aug, St
Evaristus 26 Oct, St Theodore 9 Nov, St Boniface Martyr 14 May) are now
present in the re-bootstrapped sanctoral.sexp, and each divergence stops
occurring in the 2026-2027 oracle fixture -- verified by re-running the
comparator and confirming zero rows for all five ids, not assumed from the
data change alone.
Removed rather than kept as dead 0-row citations, matching the M17
precedent already in this file: the count pin
(test_layer_m_counts_match_citations) now enforces that none of these five
divergences can silently reappear. Corresponding dead code (m4_dates
.. m14_dates and their layer_m_reason branches) removed from
test_oracle.ml; a short pointer comment left at each id's old location.
Diffstat (limited to 'test/test_oracle.ml')
| -rw-r--r-- | test/test_oracle.ml | 89 |
1 files changed, 21 insertions, 68 deletions
diff --git a/test/test_oracle.ml b/test/test_oracle.ml index 2624664..a86fd76 100644 --- a/test/test_oracle.ml +++ b/test/test_oracle.ml @@ -438,19 +438,11 @@ let bvm_saturday_title = "Salve, Sancta Parens" colitur, same citation as lectio's own C8. *) let m3_dates = [ "2027-05-03" ] -(* M4 -- a genuine DATA GAP, primary-source-confirmed: the 1962 calendarium - itself lists, under 28 January, "S. Petri Nolasci Conf., III classis. / - Com. S. Agnetis Virg. et Mart., secundo" -- a second commemoration of - St Agnes (distinct from her main 21 January feast) that data/ef/ - sanctoral.sexp does not carry at all. Traced upstream: lectio's own - tridentine-calendar.ini has no 01-28 entry beyond [peter-nolasco] - either, so colitur inherited the gap from its bootstrap source, not - from the bootstrap tool mis-reading a present entry. Cannot be fixed in - this task (data/ef/sanctoral.sexp is bootstrapped from lectio, per - CLAUDE.md's binding decision 3; lectio itself needs the entry first, - and this task does not touch ~/git/projects/lectio) -- verdict - missalemeum, tracked as a register §6 open item. *) -let m4_dates = [ "2026-01-28"; "2027-01-28" ] +(* M4 -- REMOVED, ef-rebootstrap (2026-08-12): see data/ef/expected- + divergences-missalemeum.sexp's own "FIVE MORE REMOVED" note for the + full account (agnes-secundo now present in data/ef/sanctoral.sexp, + sourced from lectio's independently-fixed generator; the divergence no + longer occurs on either 2026-01-28 or 2027-01-28). *) (* M5 -- register §6's OWN already-open item, independently confirmed by the oracle: "Major Litanies (25 April, RG 80) are not yet computed" -- @@ -471,41 +463,15 @@ let m4_dates = [ "2026-01-28"; "2027-01-28" ] report). *) let m5_dates = [ "2026-04-25" ] -(* M6 -- CORRECTED 2026-08-12, transcription-audit task (branch ef-rg16a): - the previous version of this comment read the ELECTRONIC TRANSCRIPTION - (1962-06-23,_SS_Ioannes_XXIII,_Missale_Romanum,_LT.pdf), which silently - drops calendarium commemorations, and mistook its silence for the - calendarium's own -- "reads, in full, 'Vigilia, II classis.' -- nothing - else" was true of the TRANSCRIPTION only. A photographic scan - (missale-romanum-1962.pdf), 14 August row: "Vigilia, II classis, - Commemoratio S. Eusebii Conf.", with its own proper immediately - following ("Eodem die ... Et fit commemoratio S. Eusebii Conf.") -- - independently confirmed in the second scan, Missale Romanum 1962_text - .pdf. The same shape as M4/M7/M9/M14, NOT their reverse: a genuine - commemoration is present in the calendarium and in missalemeum's own - data, but absent from data/ef/sanctoral.sexp and lectio's own - tridentine-calendar.ini (no 08-14 entry beyond [vigil-of-the-assumption]). - This Eusebius Confessor (14 Aug) is a genuinely DIFFERENT saint from - Eusebius Bishop and Martyr (16 Dec, already correctly in data/ef/ - sanctoral.sexp, matching lectio's own [eusebius] entry at THAT date) -- - both exist, at their own separate dates. Verdict missalemeum (flipped - from colitur): colitur is missing this commemoration, a genuine data gap - not fixable without touching ~/git/projects/lectio -- see - docs/research/rules-register.md, Decisions item 4 and the - transcription-audit record in section 6, for the full account and the - wider calendarium sweep this correction came from. The diff SHAPE this - predicate matches (Comm_presence, both dates) is unchanged by the - verdict flip -- only which side is right, and why, changed. *) -let m6_dates = [ "2026-08-14"; "2027-08-14" ] +(* M6 -- REMOVED, ef-rebootstrap (2026-08-12): see data/ef/expected- + divergences-missalemeum.sexp's own "FIVE MORE REMOVED" note. Eusebius + Confessor (14 Aug) is now present in data/ef/sanctoral.sexp + (eusebius-confessor), so the divergence no longer occurs. *) -(* M7 -- a genuine DATA GAP, primary-source-confirmed, the same shape as - M4: the calendarium's own 26 October row reads "Com. S. Evaristi Papæ - et Mart." (Commemoration of St Evaristus, Pope and Martyr) -- absent - from data/ef/sanctoral.sexp, and absent from lectio's own tridentine- - calendar.ini for 10-26 (no entry at all for that date), so this is - another bootstrap-source gap, not fixable without touching lectio. - Verdict missalemeum, register §6 open item. *) -let m7_dates = [ "2026-10-26"; "2027-10-26" ] +(* M7 -- REMOVED, ef-rebootstrap (2026-08-12): see data/ef/expected- + divergences-missalemeum.sexp's own "FIVE MORE REMOVED" note. St + Evaristus (26 Oct) is now present in data/ef/sanctoral.sexp + (evaristus), so the divergence no longer occurs. *) (* M8 -- RG 109(a) ("of a Sunday" is always privileged) + RG 111(a) ("on I-class days... none save one privileged"): when a FIXED I-class feast @@ -518,23 +484,15 @@ let m7_dates = [ "2026-10-26"; "2027-10-26" ] colitur. *) let m8_dates = [ "2026-11-01"; "2027-08-15" ] -(* M9 -- a genuine DATA GAP, the same shape as M4/M7: the calendarium's own - 9 November row reads, alongside the Dedication of the Archbasilica (II - class), "Com. S. Theodori Mart." (Commemoration of St Theodore, - Martyr) -- absent from data/ef/sanctoral.sexp and from lectio's own - 11-09 entry (dedication-of-the-archbasilica-of-our-holy-savior alone, - no second entry for that date). Verdict missalemeum, register §6 open - item. *) -let m9_dates = [ "2026-11-09"; "2027-11-09" ] +(* M9 -- REMOVED, ef-rebootstrap (2026-08-12): see data/ef/expected- + divergences-missalemeum.sexp's own "FIVE MORE REMOVED" note. St + Theodore (9 Nov) is now present in data/ef/sanctoral.sexp (theodore), + so the divergence no longer occurs. *) -(* M14 -- a genuine DATA GAP, the same shape as M4/M7/M9: the calendarium's - own 14 May row reads "Com. S. Bonifatii Mart." (a commemoration-only St - Boniface, Martyr -- DIFFERENT from the II-class St Boniface, Bishop and - Martyr, of 5 June, which data/ef/sanctoral.sexp and lectio both already - carry correctly) -- absent from data/ef/sanctoral.sexp and from lectio's - own tridentine-calendar.ini for 05-14 (no entry at all for that date). - Verdict missalemeum, register §6 open item. *) -let m14_dates = [ "2027-05-14" ] +(* M14 -- REMOVED, ef-rebootstrap (2026-08-12): see data/ef/expected- + divergences-missalemeum.sexp's own "FIVE MORE REMOVED" note. St + Boniface Martyr (14 May) is now present in data/ef/sanctoral.sexp + (boniface-martyr), so the divergence no longer occurs. *) (* M10 -- RG 109(e), unqualified text ("de feriis Adventus, Quadragesimae et Passionis" -- OF THE FERIAS OF ADVENT, not "of the Advent ferias 17- @@ -705,13 +663,8 @@ let layer_m_reason (c : colitur_row) (o : oracle_row) diffs = else if List.mem c.c_date m1_dates && subset diffs [ Rank; Colour_f; Comm_presence ] then Some "M1" else if contains_substring o.o_title ~needle:bvm_saturday_title && diffs = [ Colour_f ] then Some "M2" else if List.mem c.c_date m3_dates && diffs = [ Colour_f ] then Some "M3" - else if List.mem c.c_date m4_dates && diffs = [ Comm_presence ] then Some "M4" else if List.mem c.c_date m5_dates && diffs = [ Comm_presence ] then Some "M5" - else if List.mem c.c_date m6_dates && diffs = [ Comm_presence ] then Some "M6" - else if List.mem c.c_date m7_dates && diffs = [ Comm_presence ] then Some "M7" else if List.mem c.c_date m8_dates && diffs = [ Comm_presence ] then Some "M8" - else if List.mem c.c_date m9_dates && diffs = [ Comm_presence ] then Some "M9" - else if List.mem c.c_date m14_dates && diffs = [ Comm_presence ] then Some "M14" else if List.mem c.c_date m10_dates && diffs = [ Comm_presence ] then Some "M10" else if List.mem c.c_date m11_dates && diffs = [ Comm_presence ] then Some "M11" else if List.mem c.c_date m12_dates && diffs = [ Comm_count ] then Some "M12" |
