From 4df03d2f2e0e1da70ffc3d069c6e49a7edd21b31 Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Wed, 12 Aug 2026 17:49:24 +0200 Subject: data(ef): document why adjustments.sexp's directives survive the re-bootstrap Neither of adjustments.sexp's two directives is a no-op after the regeneration, and neither is removed -- reasoned through deliberately rather than deleted on sight, per Overlay.apply's own documented diagnostic behaviour (Edit has no "already correct" case; it unconditionally folds every field_edit over the current value when the slug is present, no diagnostic either way). `Edit most-holy-name-of-mary (Set_subject Bvm)`: the base bootstrap no longer needs this correction (the source dropped `class = lord` for this slug, so the default is already Subject.Saint), but the overlay still forces `Saint -> Bvm`. Kept for two reasons: data precision (the calendarium's "Sanctissimi Nominis Mariae" title still argues for Bvm over the generic Saint default, independent of what lectio's class field says) and as a regression guard (Set_subject is unconditional, so it would also correct a future re-introduction of `class = lord` for this slug, the one subject value RG16(a) behaviourally reads). `Suppress vigil-of-christmas`: re-verified, not assumed -- the slug is still present, unchanged, in both the regenerated source and the regenerated sanctoral.sexp, so the directive still fires its ordinary slug-present path. test_rite_ef.ml's own comment on the overlay-in-effect test previously claimed the base file carries `subject Lord` for most-holy-name-of-mary, which the regeneration made false; corrected in place rather than left stale, per this project's own discipline around wrong claims. --- test/test_rite_ef.ml | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) (limited to 'test/test_rite_ef.ml') diff --git a/test/test_rite_ef.ml b/test/test_rite_ef.ml index 84dc060..45aa918 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 -- cgit v1.3