diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-13 01:42:00 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-13 01:42:00 +0200 |
| commit | 254cfd7d9111b0f23f9c44e82d3e31d5817dc5a4 (patch) | |
| tree | a14a1e43e95d5bb3b03cd9832776461ea9440605 /test/test_rite_ef.ml | |
| parent | a2654a1e4d8987a251bcefbad2b0f0b867a6c6e6 (diff) | |
| parent | 0f6454c123f1514c1cf255faed8d9b8c752c6347 (diff) | |
| download | colitur-254cfd7d9111b0f23f9c44e82d3e31d5817dc5a4.tar.gz colitur-254cfd7d9111b0f23f9c44e82d3e31d5817dc5a4.zip | |
Merge branch 'ef-rebootstrap': re-bootstrap the sanctoral, refresh the differential
Re-bootstraps data/ef/sanctoral.sexp from lectio's corrected generator
(322 -> 327 entries), propagating fixes colitur had inherited wholesale:
15 entries wrongly marked commemoration-only that are really III-class
feasts, four entries missing entirely, six commemorations an electronic
transcription had hidden, and two class corrections.
38639 days change across 1583-9999, in three shapes with no remainder:
2245 where a III-class feast now correctly beats a class-4 feria, 35174
where one of five restored commemorations appears, and 1220 on 13
January. All five restored entries were verified against a photographic
scan -- real, correctly ranked, and confined to their own dates.
13 January is NOT fixed by this. It moves from one wrong answer to a
different one, because RG 112 and a Holy Family office are both unbuilt.
Recorded as its own allow-list entry with a citation and a count, rather
than left inside a season-boundary entry's cardinality pin, and
deliberately not pinned by a golden test.
Then refreshes the lectio differential fixture, which predated the seven
EF defects fixed in that project. Nine allow-list entries close -- each
was a real divergence adjudicated in colitur's favour, and each closes
because lectio was fixed, with its RG citation preserved. The list goes
from twelve entries to four; the remaining 540 differences are fully
attributed with none unexplained.
Diffstat (limited to 'test/test_rite_ef.ml')
| -rw-r--r-- | test/test_rite_ef.ml | 50 |
1 files changed, 42 insertions, 8 deletions
diff --git a/test/test_rite_ef.ml b/test/test_rite_ef.ml index 84dc060..9a1e6d5 100644 --- a/test/test_rite_ef.ml +++ b/test/test_rite_ef.ml @@ -88,14 +88,22 @@ let test_vigil_of_christmas_suppressed () = appears_anywhere (* RG16(a) task (register ยง6.0 + the sanctoral subject audit, this task's - own report). data/ef/sanctoral.sexp is left untouched (still a faithful - mirror of lectio, subject `Lord` for every entry below except - `most-holy-name-of-mary` -- see test_sanctoral_ef.ml's own "explicit - class = lord" spot-check, which loads that file WITHOUT applying this - overlay and still passes); the one real correction lives entirely in - data/ef/adjustments.sexp's single remaining [Edit] directive, the same - mechanism [test_vigil_of_christmas_suppressed] above already proves for - a sibling bootstrap defect. + own report). data/ef/sanctoral.sexp is a faithful mirror of lectio, not + hand-patched (see test_sanctoral_ef.ml's own "explicit class = lord" + spot-check, which loads that file WITHOUT applying this overlay and + still passes) -- the one live correction, `most-holy-name-of-mary` -> + `Bvm`, lives entirely in data/ef/adjustments.sexp's [Edit] directive. + + CORRECTED, ef-rebootstrap (2026-08-12): this comment previously said the + base file itself carries `subject Lord` for `most-holy-name-of-mary`, + which this overlay then corrects. That stopped being true the moment + lectio's own generator was fixed (source SHA-256 1b303ef2...): the + regenerated INI dropped `class = lord` for that slug outright, so the + base bootstrap now already produces `Saint`, and this overlay's [Edit] + forces `Saint -> Bvm` instead of `Lord -> Bvm` -- same final answer, + different starting point. See adjustments.sexp's own "ef-rebootstrap" + note for why the directive is kept anyway (data precision + a + regression guard against `class = lord` being reintroduced upstream). CORRECTED, fix round 1 (CRITICAL finding, item 1): this test used to also assert `purification-of-the-blessed-virgin-mary` was retagged @@ -134,6 +142,30 @@ let test_rg16a_subject_retag_in_effect () = "Dedication of the Archbasilica of the Most Holy Saviour stays Lord -- audit, not touched" true (subject_of "dedication-of-the-archbasilica-of-our-holy-savior" = Subject.Lord) +(* ef-rebootstrap fix round 1, F3: eusebius-confessor (14 Aug, one of the 5 + entries this re-bootstrap added) is bootstrapped `Red` -- a lectio data + defect (both lectio's own ini and missalemeum's `:r` colour tag agree + with each other, not with the Missal). `missale-romanum-1962.pdf`'s own + proper for the day, verified directly against the scan (not transcribed + from a reviewer's reading): "S. Eusebii Conf. / Commemoratio / Missa + Iustus, ut in festo S. Pauli primi Eremitae..." -- a CONFESSOR ("Conf."), + borrowing the SAME Mass 15 January's own Paul the First Hermit uses, a + white Confessor's Common in both engines' own data. Fixed via + adjustments.sexp's new Edit directive -- proven here through the real + pipeline, the same discipline [test_rg16a_subject_retag_in_effect] above + already applies to the subject retags, so a typo'd slug or a reverted + directive fails a test rather than only silently changing unread data. *) +let test_eusebius_confessor_colour_corrected () = + let layer = real_layer () in + match Layer.find layer (Slug.of_string_exn "eusebius-confessor") with + | None -> Alcotest.fail "slug eusebius-confessor not found in the overlaid layer" + | Some e -> + Alcotest.(check bool) + "Eusebius Confessor is White (RG's own Common of Confessors, via the borrowed Mass \"Iustus\"), not \ + lectio's bootstrapped Red" + true + (e.Layer.cel.Cel.colour = Colour.White) + (* Coordinator review, finding 2, reproduced through the project's OWN extension path (an overlay), the same way the reviewer found it: adding an I-class feast on 25 December (competing against, and losing to, the @@ -343,6 +375,8 @@ let suite = test_vigil_of_christmas_suppressed; Alcotest.test_case "RG16(a) task: the two subject retags are in effect, the other four untouched" `Quick test_rg16a_subject_retag_in_effect; + Alcotest.test_case "ef-rebootstrap fix round 1 (F3): eusebius-confessor is White, not lectio's Red" `Quick + test_eusebius_confessor_colour_corrected; Alcotest.test_case "RG96 search does not raise at the domain ceiling (real data)" `Quick test_transfer_search_does_not_raise_at_domain_ceiling; Alcotest.test_case "no transfer ever lands inside [Easter, Easter+7], 2005-2050" `Quick |
