diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-14 12:40:24 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-14 12:40:24 +0200 |
| commit | 112781d6e3b92310d9d657c53a7e0fc789aefdfb (patch) | |
| tree | 55f3a248be2e619c8a7ad54c011ccb79efd277ad /test/test_rite_ef.ml | |
| parent | bf326ab963f46c42dc1a3b5141f2022bed81756d (diff) | |
| download | colitur-112781d6e3b92310d9d657c53a7e0fc789aefdfb.tar.gz colitur-112781d6e3b92310d9d657c53a7e0fc789aefdfb.zip | |
fix(ef): three colour corrections that contradicted the Missal by name
The sanctoral audit set chair-of-st-peter (22 Feb), conversion-of-st-paul
(25 Jan) and peter (25 Jan, commemoration) to Red on RG 124(b). All three
are reverted to White.
RG 120(f), fifteen lines above RG 124(b) in the same column of the same
page, names two of them in its enumeration of white: "Cathedrae S. Petri
(22 februarii); Conversionis S. Pauli (25 ianuarii)". RG 124(b)'s own
qualifier "in eorum die natalicio" independently excludes them, and RG
475(e) confirms it a third time by naming the Chair separately from
"natalician feasts of Apostles". lectio and missalemeum both said white
because both were right. peter rested on "match the host day's Red",
whose host is white by that same clause, so the precedent inverts.
Root cause: the audit's page-image method, its real advance, was applied
to the calendarium and not to the rubric. RG 124 was read from the OCR
text layer, where the two-column interleave shreds RG 120(f) across rows
belonging to RG 115 and hyphen-splits Cathedrae, so a text-layer grep
for it returns nothing while RG 124's enumeration survives cleanly. That
read finds 124 and structurally cannot find 120(f).
Two sentinels had been reporting this correctly and were overridden. The
golden pin at 1902-02-22 asserted colour=white, was changed to red, and
had its comment rewritten to guard against "a regression back to the old
one" -- the only pin asserting a colour for any of the 21 slugs. And C18
and M21 both listed the two slugs under an RG 124(b) citation where both
oracles were right. Pin restored; slugs dropped; C18 re-derived 526->450
from the observed-day counts, M21 20->18, M15 17->18.
The audit's own discriminator would have isolated these. Its stated
corroboration was that lectio's name.pl contradicts lectio's colour; run
as a gate across all 21 that splits 17 genuine defects from 4 needing
adjudication, and three of those four are these. It was quoted as
illustration rather than used as a gate.
18 of 21 corrections stand, and the twelve whites are recited to RG
120(e) "Sanctorum non Martyrum" rather than to RG 117's negative
residual. Also records Anastasia's deliberate non-fix in the tracked
tree beside barbara, where the next auditor will be standing.
Diffstat (limited to 'test/test_rite_ef.ml')
| -rw-r--r-- | test/test_rite_ef.ml | 33 |
1 files changed, 21 insertions, 12 deletions
diff --git a/test/test_rite_ef.ml b/test/test_rite_ef.ml index 9b0cb4f..67b42ce 100644 --- a/test/test_rite_ef.ml +++ b/test/test_rite_ef.ml @@ -175,8 +175,8 @@ let test_eusebius_confessor_colour_corrected () = audit-report.md have the full findings. Same discipline as [test_eusebius_confessor_colour_corrected] above (its own predecessor, same root cause): a typo'd slug or a reverted directive fails THIS test, - not only silently changes unread data. One table, all fourteen [Feast] - colour corrections plus the eight [Commemoration_only] ones (inert to + not only silently changes unread data. One table, all eleven [Feast] + colour corrections plus the seven [Commemoration_only] ones (inert to [Precedence_ef.band]/[admit] today -- colour is read nowhere in either, confirmed by grep -- but real for `colitur day`'s own printed output the moment either entry is ever observed/commemorated). *) @@ -188,24 +188,33 @@ let test_audit_colours_corrected () = | Some e -> Alcotest.(check bool) (Printf.sprintf "%s: %s" slug reason) true (e.Layer.cel.Cel.colour = expected) in - (* RG 124(e): a Martyr's own martyrdom is red -- these seven were White. *) + (* RG 124(e): a Martyr's own martyrdom is red -- these SIX were White. + Three more were set Red by the audit and REVERTED by the fix-round + review: conversion-of-st-paul and chair-of-st-peter are NAMED, by name + and by date, in RG 120(f)'s own enumeration of WHITE, fifteen lines + above the RG 124(b) the audit cited; and `peter` (25 Jan) rested on + "match the host day's Red", whose host is white by that same clause. + They are asserted White below, where the reverted values belong. *) List.iter (fun (slug, reason) -> check_colour slug Colour.Red reason) - [ ("prisca", "Virg. et Mart., 18 Jan -- RG124(e)"); - ("conversion-of-st-paul", "an Apostle's own feast day, 25 Jan -- RG124(b)"); - ("peter", "Apostle commemoration, 25 Jan -- by consistency, see adjustments.sexp"); - ("chair-of-st-peter", "an Apostle's own feast day, 22 Feb -- RG124(b)"); + [ ("prisca", "Virg. et Mart., 18 Jan -- RG124(e); lectio's own NAME dropped 'et Mart.', so its name is the defective field, not its colour"); ("vitus", "Ss. ... Mm., 15 Jun -- RG124(e)"); ("margaret", "Virg. et Mart., 20 Jul (comm) -- RG124(e)"); ("apollinaris", "Ep. et Mart., 23 Jul -- RG124(e)"); ("agapitus", "Mart., 18 Aug -- RG124(e)"); ("josaphat", "Ep. et Mart., 14 Nov -- RG124(e)") ]; - (* RG 117's five-colour residual: a plain Confessor/Bishop/Virgin (no - "Mart."/"Mm." in the calendarium's own line, not an Apostle) is white - -- these were Red. *) + (* RG 120(e), "Sanctorum non Martyrum" -- a POSITIVE rule, four lines + above the one the audit misapplied. These were cited to "RG 117's + five-colour residual", a negative inference from the red list's + exhaustiveness; the outcome was right and the citation was weaker than + the Missal's own. The first three are the fix-round reverts, white by + RG 120(f)'s own naming rather than by (e). *) List.iter (fun (slug, reason) -> check_colour slug Colour.White reason) - [ ("john-of-san-fecundo", "Conf. only, 12 Jun"); + [ ("conversion-of-st-paul", "25 Jan -- NAMED white by RG120(f), 'Conversionis S. Pauli (25 ianuarii)'"); + ("chair-of-st-peter", "22 Feb -- NAMED white by RG120(f), 'Cathedrae S. Petri (22 februarii)'"); + ("peter", "25 Jan commemoration -- its host is white by RG120(f), so the audit's own precedent yields White"); + ("john-of-san-fecundo", "Conf. only, 12 Jun"); ("ephrem-of-syria", "Conf. et Eccl. Doct. only, 18 Jun"); ("julia-of-falconieri", "Virg. only, 19 Jun"); ("john-gualbert", "Abb. (Conf.) only, 12 Jul"); @@ -504,7 +513,7 @@ let suite = `Quick test_rg16a_subject_retag_in_effect; Alcotest.test_case "ef-rebootstrap fix round 1 (F3): eusebius-confessor is White, not lectio's Red" `Quick test_eusebius_confessor_colour_corrected; - Alcotest.test_case "ef-sanctoral-audit: 21 audit colour corrections are in effect (RG124)" `Quick + Alcotest.test_case "ef-sanctoral-audit: 18 colour corrections in effect (RG120(e)/124(e)); 3 reverted per RG120(f)" `Quick test_audit_colours_corrected; Alcotest.test_case "ef-sanctoral-audit: barbara (4 Dec) added, a genuine data gap" `Quick test_barbara_added; |
