diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-13 19:23:19 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-13 19:23:19 +0200 |
| commit | a3afb19dc6390c9e33ed5fa0ecbd6e5895e60e8d (patch) | |
| tree | 9e6108a58da67fcd94ce057a196f70c47ec49677 /test/test_oracle.ml | |
| parent | 36eba4eff58162cbe4c7b4ff1b9d049432fc1acc (diff) | |
| parent | c63e37b8cbef1480b6f5677420425d22fe7061d9 (diff) | |
| download | colitur-a3afb19dc6390c9e33ed5fa0ecbd6e5895e60e8d.tar.gz colitur-a3afb19dc6390c9e33ed5fa0ecbd6e5895e60e8d.zip | |
Merge branch 'ef-bvm-saturday': the Office of Our Lady on Saturday
Builds RG 91 entry 27 under RG 78 -- 'In sabbatis, in quibus occurrit
Officium de feria IV classis, fit de sancta Maria in sabbato' -- a rank
test, not a season list. band had been assigning entry 27 312966 times
across the domain while the office was never constructed, so an
otherwise-unoccupied Saturday got a bare ferial slug and its season's
colour.
75863 days change, in two shapes: colour (green or violet to white) on
74642, and colour plus a dropped commemoration on 1221. The 312966
reconciles to the day across four buckets, 210808 of them impeded by a
sanctoral winner.
The first version introduced a live RG 112(d) violation on every
Saturday falling on 16 July: the Office of Our Lady observed,
commemorating Our Lady. Both photographic scans print a rubric at that
Mass for exactly this collision -- 'Missa dici potest aut de sancta
Maria in sabbato, aut propria' -- absent from the electronic
transcription, and cited nowhere. It was missed because the check was a
grep for subject = Bvm, and Mt Carmel is tagged Saint: the rubric's
criterion is whose intercession the oration implores, not colitur's own
tag.
The I-V Mass numbering is a propers rotation and stays unbuilt;
citations remain empty on all 3073916 days.
Recorded rather than glossed: the new rule has no comparison-layer
witness at all, and lectio's fixture prints a Mt Carmel commemoration on
8 in-window dates where colitur now prints none -- a real divergence
that falls through a gap in what the comparators examine. Time after
Epiphany's 5015 office days have zero oracle witnesses and rest on the
scan alone.
Diffstat (limited to 'test/test_oracle.ml')
| -rw-r--r-- | test/test_oracle.ml | 67 |
1 files changed, 36 insertions, 31 deletions
diff --git a/test/test_oracle.ml b/test/test_oracle.ml index 58ceb26..c0badfe 100644 --- a/test/test_oracle.ml +++ b/test/test_oracle.ml @@ -475,25 +475,30 @@ let contains_substring s ~needle = own "in dominica quavis" (ANY Sunday, unqualified) -- verdict colitur. *) let m1_dates = [ "2026-06-28"; "2026-08-09" ] -(* M2 -- RG 91 entry 27 ("Officium sanctae Mariae in sabbato"): every - otherwise-unoccupied IV-class Saturday should carry the votive Office of - the BVM (white; missalemeum's own title cycles "I".."V Mass of the - B. V. M. - Salve, Sancta Parens"), a genuinely DISTINCT office from an - ordinary green/violet feria. temporal_ef.ml's [band] already carries an - entry-27 comment acknowledging this row of RG 91 exists, but nothing in - [Temporal_ef.temporal]'s actual CONSTRUCTION builds this office -- an - unimpeded Time-after-Epiphany/-Pentecost Saturday still gets the bare - ferial slug and [season_colour]'s green. A genuine, primary-attested - FEATURE GAP (not a citation dispute) -- verdict missalemeum: colitur is - short a whole office here, not merely differently-opinioned. Registered - as an open item (register ยง6) rather than built in this task: it needs - its own proper texts/citations, the same scope line "Major Litanies" - (M5 below) already sits on. Matched on the oracle's own title substring, - not a hardcoded date list -- the title IS the distinguishing evidence, - and every Paschaltide occurrence (where colitur's season colour is - already white, RG 119) never reaches this predicate at all, since its - diffs are already empty before [layer_m_reason] is ever called. *) -let bvm_saturday_title = "Salve, Sancta Parens" +(* M2 -- CLOSED, REMOVED (ef-bvm-saturday task), same shape as M12/M17's own + removal elsewhere in this suite (not re-adjudicated to a different + verdict, gone because the underlying divergence stopped occurring): RG 91 + entry 27 ("Officium sanctae Mariae in sabbato") is now built + (Rite_ef.Temporal_ef's own [bvm_saturday_names] citation has the full RG + 78/RG 120(b) argument) -- white, unconditionally, on every otherwise- + unoccupied IV-class Saturday, so [Colour_f] no longer appears in this + predicate's own diff set on ANY of these 22 dates (checked: 0 of them + retain it). What is left on every one of them is [Observed_identity_ + unresolved] ALONE -- colitur's own BVM-Saturday candidate is + temporal-origin and deliberately carries no ENGLISH name (Latin only, + the same zero-circularity discipline Holy Family/Holy Name/the Sacred + Triduum already established) -- which is EXACTLY [M18]'s own shape + ([diffs = [ Observed_identity_unresolved ]], nothing else disagreeing), + not a distinct citation any more. Kept as a separate id here would have + been the same "count proving cardinality where identity was required" + trap this project's own review process watches for: [subset] admits a + SMALLER diff set than the one named, so this branch would have kept + silently absorbing these 22 rows under a stale "colour differs" citation + even though that citation's own reason no longer fires -- checked + directly, not assumed: removing this branch and re-running moves the + count from M2's own former 22 to M18's own count rising by exactly 22 + (373 -> 395, see M18's own note below), with the "no unexplained + differences" test staying green throughout. *) (* M3 -- RG 87 (Minor Litanies/Rogations): the SAME gap the lectio differential's own C8 already names (data/ef/expected-divergences.sexp) @@ -822,7 +827,12 @@ let m19_commemoration_matches (c : colitur_row) = | [ (slug, _, _, _) ] -> String.equal slug "commemoration-of-st-peter" | _ -> false -let layer_m_reason (c : colitur_row) (o : oracle_row) diffs = +(* [_o] (the oracle's own row) is unused now that M2 -- its one reader, via + [o.o_title] -- is closed/removed (see the comment above [m1_dates]): + every remaining predicate below reads only [c]/[diffs]. Kept as a named, + typed parameter (not dropped from the signature) so a FUTURE oracle-title + predicate has somewhere to plug back in without a signature change. *) +let layer_m_reason (c : colitur_row) (_o : oracle_row) diffs = if diffs = [] then None (* M1's own subset widened (this task): colitur's observed day on both dates is TEMPORAL-origin (the Sunday itself, RG33's own point -- the @@ -832,17 +842,12 @@ let layer_m_reason (c : colitur_row) (o : oracle_row) diffs = else if List.mem c.c_date m1_dates && subset diffs [ Rank; Colour_f; Comm_presence; Observed_identity_unresolved ] then Some "M1" - (* M2's own subset widened (this task): every BVM-Saturday date's observed - celebration is temporal-origin (the ordinary Saturday feria colitur - computes, not the distinct Office of the BVM missalemeum's title - names -- M2's own gap), so [Observed_identity_unresolved] now fires - alongside [Colour_f] where it used to fire alone, AND alone on its own - on every Paschaltide occurrence M2's own comment already says never - reached this predicate before (colour already agrees there; only the - new axis has anything left to say). *) - else if contains_substring o.o_title ~needle:bvm_saturday_title - && subset diffs [ Colour_f; Observed_identity_unresolved ] - then Some "M2" + (* M2 -- CLOSED, REMOVED (ef-bvm-saturday task): see this file's own M2 + note above (near [m1_dates]) for the full account -- the RG 91 entry 27 + office is now built, so every one of these 22 dates now falls through + to [M18]'s own generic predicate below instead ([diffs = [ + Observed_identity_unresolved ]] exactly), which is what actually + catches them now. *) (* M3's own subset widened (this task): the Rogation Monday feria colitur observes is temporal-origin, same root cause as M1/M2 above. *) else if List.mem c.c_date m3_dates && subset diffs [ Colour_f; Observed_identity_unresolved ] then |
