From 9700cd32bc05a96cef0d9a5be3e0e16959afc091 Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Wed, 12 Aug 2026 18:25:39 +0200 Subject: test(golden): fix round 1 (F1) -- correct why the other 8 reclassified slugs are silent The comment on test_iii_class_feast_wins_class4_feria gave a single reason for why 8 of the 15 rank-corrected slugs produce zero diff rows anywhere in the domain: "always fall inside Lent/Passiontide proper, RG 91 entry 22, which already outranks entry 24". Wrong for 3 of the 8: gabriel-the- archangel (24 Mar), john-damascene (27 Mar) and john-of-capistrano (28 Mar) land in Paschaltide 226/846/1108 times domain-wide, always at class-1 (inside the Easter Octave, RG91 entry 2/10), never entry 22. The conclusion (zero diff rows) was and remains right; only the reason was wrong -- exactly the "correct code, wrong explanation" defect this project has repeatedly caught before. Corrected to the actual, checked shield: every context these 8 dates ever land in domain-wide is either class-1/2 (trivially outranking any class-3 candidate and excluding it from commemoration by RG111's own rank floors, regardless of status) or the season's own class-3 feria at entry 22 (which outranks entry 24 for observation but admits the losing saint's commemoration identically whether Commemoration_only or Feast, RG111(c)/(d) having no ferial-class gate on an ordinary sanctoral candidate). --- test/test_golden.ml | 36 +++++++++++++++++++++++++++++------- 1 file changed, 29 insertions(+), 7 deletions(-) (limited to 'test') diff --git a/test/test_golden.ml b/test/test_golden.ml index 9d26196..5292427 100644 --- a/test/test_golden.ml +++ b/test/test_golden.ml @@ -595,13 +595,35 @@ let test_purification_on_a_sunday_2025 () = number instead; corrected upstream in lectio's own generator and re-bootstrapped here (source SHA-256 1b303ef2...). Only 7 of the 15 ever land on a date that collides with a plain CLASS-4 feria somewhere in the - domain (the other 8 always fall inside Lent/Passiontide proper, RG 91 - entry 22, which already outranks entry 24 regardless of the saint's own - rank -- entry 22 < 24 -- so their status change is invisible to any - civil-day dump; a fact independently confirmed, not assumed, by a full - 1583-9999 blast-radius sweep finding zero diff rows for those 8 slugs - anywhere in the domain). These are the SIX dates the task brief that - started this re-bootstrap named as producing "a wrong observed office" + domain -- fact-checked by a full 1583-9999 blast-radius sweep finding + zero diff rows for the other 8 anywhere in the domain, not assumed. + + CORRECTED (ef-rebootstrap fix round 1, F1): this comment previously gave + a single reason for the other 8's silence -- "always fall inside Lent/ + Passiontide proper, RG 91 entry 22, which already outranks entry 24" -- + WRONG for 3 of the 8, measured directly against the domain-wide season + breakdown per slug: `gabriel-the-archangel` (24 Mar) lands in + PASCHALTIDE 226 times, `john-damascene` (27 Mar) 846 times, + `john-of-capistrano` (28 Mar) 1108 times -- always at `class-1` there + (inside the Easter Octave, RG 91 entry 2/10), never a class-4 feria. + Entry 22 itself is also narrower than "Lent/Passiontide" suggests (its + own text excludes the Ember days). The TRUE, general shield, checked + against every (season, rank) pair these 8 slugs' dates ever land in + domain-wide: whichever office already occupies the date is EITHER + class-1 or class-2 (an Easter-Octave/Holy-Week/I-class-Sunday day, + entries 2/6/7/10; a II-class Sunday or Ember feria, entries 15/18) -- + which trivially outranks ANY class-3 candidate regardless of status, and + also excludes it from commemoration by RG 111(a)/(b)'s own rank floors + the same way regardless of status -- OR the ordinary Lent/Passiontide + class-3 feria itself, entry 22, which outranks entry 24 for OBSERVATION + but (RG 111(c)/(d), no ferial-class gate on an "ordinary" sanctoral + candidate) admits the losing saint's commemoration identically whether + `Commemoration_only` or a genuine `Feast` -- so no context these 8 dates + ever reach anywhere in the domain distinguishes the two statuses in + either direction, observation or commemoration. Not "always Lent" -- + "always something at entry ≤22 already occupies the day". These are the + SIX dates the task brief that started this re-bootstrap named as + producing "a wrong observed office" under the OLD data (2008-04-02/04/05, 2038-03-06/08/09) -- [test_easter_extreme_2038_late_modern]'s own header above is the record of why they were deliberately left unpinned until now. *) -- cgit v1.3