From b7da41445d89cc83e749ec19c57e321ceb6d5cf2 Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Thu, 13 Aug 2026 09:16:39 +0200 Subject: temporal(ef): fix round 1 (F3) -- give Holy Family a primary-sourced Latin name On 7,197 of the 8,417 days Holy Family occurs (every year that isn't the 13-January collision), every emitted byte was identical to the pre-change binary -- subject appeared in no output path the CLI or any test read. Celebration.make already takes ?names, defaulting to empty, and Temporal_ef.build never passed it. build now takes an optional ?names, set only on Holy Family's own branch: a LATIN name, not English. The oracle's own observed-identity axis (test_oracle.ml) reads only `en`, so this is deliberately invisible to it -- an English name here would mean reading missalemeum's own title text, the oracle this exact axis is compared against, to decide colitur's "ground truth" name: the "expected value promoted from actual output" vacuity flavour this project's review process watches for. Latin has no such circularity: the calendarium's own January table and the Mass propers' own heading, both photographic scans, word for word, "Sanctae Familiae Iesu, Mariae, Ioseph" -- the same genitive-title convention test_names.ml's own worked example already uses for Easter ("Dominica Resurrectionis"). Every other temporal-cycle candidate, including the neighbouring Sundays, still carries no name of any kind -- a targeted addition for the one day this task built, not a claim that the general gap (register's own open item on Holy Name of Jesus, RG 17(a)) is closed. --- test/test_temporal_ef.ml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'test') diff --git a/test/test_temporal_ef.ml b/test/test_temporal_ef.ml index 7837fb5..8a0f38e 100644 --- a/test/test_temporal_ef.ml +++ b/test/test_temporal_ef.ml @@ -175,6 +175,9 @@ let rank_of dt = V.rank_to_string (office dt).Cel.rank let colour_of dt = Colr.to_string (office dt).Cel.colour let subject_of dt = (office dt).Cel.subject let temporal_week dt = (T.temporal dt).Colitur_kernel.Temporal.week +let la = Colitur_kernel.Lang.of_string_exn "la" +let en = Colitur_kernel.Lang.of_string_exn "en" +let name_la_of dt = Colitur_kernel.Names.find (office dt).Cel.names la (* RG 17(b) (Caput III, "De Dominicis"), primary text (scan-verified, docs/research/rules-register.md ยง4): "festum S. Familiae Iesu, Mariae, @@ -207,6 +210,19 @@ let test_holy_family () = classis\" -- the mystery of the Holy Family touches Christ)" true (subject_of (d 2026 1 11) = Sub.Lord); + (* fix round 1 (coordinator finding 3): a primary-sourced LATIN name, + zero circularity (the calendarium's own January table and the Mass + propers' own heading, both photographic scans, word for word: + "Sanctae Familiae Iesu, Mariae, Ioseph"). No ENGLISH name -- deliberate + (temporal_ef.ml's own comment), and every OTHER temporal-cycle + candidate still carries no name of any kind. *) + Alcotest.(check (option string)) "2026: Latin name from the calendarium/propers, verbatim" + (Some "Sanctae Familiae Iesu, Mariae, Ioseph") (name_la_of (d 2026 1 11)); + Alcotest.(check (option string)) "2026: no English name (deliberate -- would read the oracle it is \ + compared against)" + None (Colitur_kernel.Names.find (office (d 2026 1 11)).Cel.names en); + Alcotest.(check (option string)) "2026: an ordinary neighbouring Sunday carries no Latin name either" + None (name_la_of (d 2026 1 18)); (* 2019: Epiphany itself is a Sunday, so the first Sunday AFTER it is the LATEST possible date, 13 January -- the one date Holy Family collides with the fixed Commemoration of the Baptism of the Lord (data/ef/ -- cgit v1.3