diff options
Diffstat (limited to 'test/test_golden.ml')
| -rw-r--r-- | test/test_golden.ml | 95 |
1 files changed, 64 insertions, 31 deletions
diff --git a/test/test_golden.ml b/test/test_golden.ml index 85a129b..fb3cff4 100644 --- a/test/test_golden.ml +++ b/test/test_golden.ml @@ -501,16 +501,38 @@ let test_ii_class_sunday_admits_only_ii_class_commemoration () = of the bug this pin closes -- before this fix `colitur day` admitted "+ef-time-after-pentecost-sunday-9" here. + CORRECTED, fix round 1 (IMPORTANT finding, item 2): this pin used to + expect Pope Sixtus II et al. (6 August's own unrelated Class3 saint, + Commemoration_only) admitted as an ordinary commemoration in the freed + slot -- promoted from `colitur day`'s own actual output without + consulting either the primary text or the oracle first (the exact + vacuous-pin flavour the review caught, and this file's own header warns + against). Re-derived properly this time: + - PRIMARY TEXT: RG 16(a) itself says the winning Feast of the Lord holds + the Sunday's place cum omnibus iuribus et privilegiis -- WITH ALL the + Sunday's own rights and privileges. RG 111(b) is one of those: in + dominicis II classis, una tantum admittitur commemoratio, SCILICET DE + FESTO II CLASSIS -- a Sunday's own slot is reserved for a Class2 + candidate specifically. The day is still a dominica II classis for + this purpose even though the Transfiguration, not the Sunday, is + [observed] -- so Sixtus (Class3) has no standing for the slot at all, + the same as on any other II-class Sunday (contrast + [test_ii_class_sunday_admits_only_ii_class_commemoration] above, + romanus, Class3, excluded the identical way on an ORDINARY II-class + Sunday). + - ORACLE, independently fetched (missalemeum's own /api/v5/calendar + JSON, not the small-model webpage summary, which proved unreliable for + this exact question): 2023-08-06 (a Sunday) -- title Transfiguration of + Our Lord, commemorations empty, displaced Pope Sixtus II, Felicissimus + and Agapitus, Martyrs -- Sixtus displaced, not commemorated. Control, + 2026-08-06 (a Thursday, no Sunday collision) -- Sixtus present in + commemorations. Being a Sunday is exactly what excludes him. + Deliberately NOT a bare "comms=[]" pin (this project's own catalogued vacuity flavour: a count/emptiness assertion that would pass even if nothing had ever been offered): [omitted_has] first proves the Sunday really WAS a candidate that reached [disposition] and was actively - excluded, not merely never constructed. And the Sunday is not the day's - ONLY loser -- Pope Sixtus II, Felicissimus and Agapitus (Martyrs, - Commemoration_only, III class, also fixed 6 August, unrelated to the - Sunday) still receive their own ORDINARY commemoration exactly as RG - 111(c)/(d) require: proof that RG 16(a) suppresses the SUNDAY - specifically, not "every commemoration due that day". *) + excluded, not merely never constructed. *) let test_rg16a_lord_feast_no_sunday_commemoration_2028 () = let d = fetch 2028 8 6 in Alcotest.(check bool) @@ -518,35 +540,45 @@ let test_rg16a_lord_feast_no_sunday_commemoration_2028 () = true (omitted_has d "ef-time-after-pentecost-sunday-9"); Alcotest.(check string) - "2028-08-06: the Transfiguration observed; the Sunday has NO commemoration (RG16a); an UNRELATED III-class \ - saint the same day still gets its own ordinary one" + "2028-08-06: the Transfiguration observed; NO commemoration at all -- RG16(a)'s own \"cum omnibus iuribus \ + et privilegiis\" keeps the day a dominica II classis for RG111(b), so Sixtus (Class3) has no standing \ + either, oracle-confirmed" "2028-08-06 sunday season=time-after-pentecost week=9 slug=transfiguration-of-our-lord rank=class-2 \ - colour=white comms=[pope-sixtus-ii-felicissimus-and-agapitus-martyrs:ordinary] in=- out=[]" + colour=white comms=[] in=- out=[]" (describe d) -(* 2025-02-02: the other direction, and the change that made this task's - two halves inseparable (this task's own report). The Purification (2 - Feb, calendarium "IN PURIFICATIONE B. MARIAE VIRG.") is a feast of the - BLESSED VIRGIN, not of the Lord -- data/ef/adjustments.sexp retags it - [Bvm] (the sanctoral audit, this task's report), so it no longer bands - at RG 91 entry 14 and no longer outranks an occurring II-class Sunday - (entry 16 > entry 15). `date -d 2025-02-02 +%A` = Sunday, independently - confirmed. Register §6.0's own text: "Applying RG 16(a) to today's - [pre-fix] data would then also suppress the Sunday's commemoration - there" -- exactly the wrong outcome the data fix (not RG 16(a) itself) - prevents: with the Purification correctly Bvm, RG 16(a)'s own winner-side - [subject = Lord] conjunct never matches here, so the Sunday is simply the - observed day and the Purification survives as its ordinary commemoration - (RG 109/RG 111(b): a plain II-class candidate on a II-class Sunday, no - privileged rival due). *) +(* 2025-02-02, the other real instance of the SAME pattern -- not a + contrasting second direction, per this task's fix round 1 (CRITICAL + finding, item 1, reverted; see register §6.0 for the full account). + + The Purification (2 Feb, calendarium "IN PURIFICATIONE B. MARIAE VIRG.") + stays [subject = Lord] -- the user has ruled: follow the oracle. + missalemeum treats it exactly as RG 16(a)'s own "festum Domini" case + (independently fetched, `/api/v5/calendar` JSON): 2020-02-02 (a Sunday) + -- `{"title":"Purification of the Blessed Virgin Mary","tags":["IV + Sunday after Epiphany"],...,"commemorations":[],"displaced":[]}` -- the + Sunday named only as a TAG (the underlying temporal placement), not + commemorated at all; matches 2014-02-02 exactly. Contrast, the SAME + oracle on an ordinary Marian feast (2019-09-08, the Nativity of the + BVM): `{"title":"XIII Sunday after Pentecost",...,"commemorations": + [{"title":"Nativity of the Blessed Virgin Mary",...}],...}` -- the + Sunday observed, the feast merely commemorated, the OPPOSITE pattern -- + proving missalemeum does not treat every Marian feast this way, only the + Purification specifically. `date -d 2025-02-02 +%A` = Sunday, + independently confirmed. + + Unlike 2028-08-06, no second sanctoral candidate exists on 2 February + (data/ef/sanctoral.sexp has exactly one 2 February entry) -- a genuinely + clean "comms=[]" case, complementing the pair above rather than + duplicating it. *) let test_purification_on_a_sunday_2025 () = check ~msg: - "2025-02-02: the Sunday observed (Purification retagged Bvm, no longer a Feast of the Lord); the \ - Purification survives as an ordinary commemoration, not suppressed" + "2025-02-02: the Purification observed (subject Lord, unretagged -- the oracle's own treatment); NO \ + commemoration of the Sunday, oracle-confirmed" 2025 2 2 - "2025-02-02 sunday season=time-after-epiphany week=4 slug=ef-time-after-epiphany-sunday-4 rank=class-2 \ - colour=green comms=[purification-of-the-blessed-virgin-mary:ordinary] in=- out=[]" + "2025-02-02 sunday season=time-after-epiphany week=4 slug=purification-of-the-blessed-virgin-mary \ + rank=class-2 colour=white comms=[] in=- out=[]" let suite = ( "golden pins (known-tricky years)", @@ -574,10 +606,11 @@ let suite = Alcotest.test_case "IV-class ferias never commemorated (2026)" `Quick test_iv_class_ferias_never_commemorated; Alcotest.test_case "RG111(b): a II-class Sunday admits only a de-festo-II-classis commemoration (2009, 2026)" `Quick test_ii_class_sunday_admits_only_ii_class_commemoration; - Alcotest.test_case "RG16(a): a Feast of the Lord leaves the impeded Sunday with no commemoration (2028-08-06)" + Alcotest.test_case + "RG16(a): a Feast of the Lord leaves the impeded Sunday with NO commemoration at all, not even an \ + unrelated saint's own (2028-08-06, rubric + oracle)" `Quick test_rg16a_lord_feast_no_sunday_commemoration_2028; Alcotest.test_case - "RG16(a) does not fire for the (corrected) Purification: the Sunday observed, the Purification \ - commemorated (2025-02-02)" + "RG16(a), the Purification (oracle-ruled): observed outright, the Sunday not commemorated (2025-02-02)" `Quick test_purification_on_a_sunday_2025 ] ) |
