aboutsummaryrefslogtreecommitdiff
path: root/test/test_oracle.ml
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_oracle.ml')
-rw-r--r--test/test_oracle.ml138
1 files changed, 85 insertions, 53 deletions
diff --git a/test/test_oracle.ml b/test/test_oracle.ml
index 41d8a2e..1ad4b1f 100644
--- a/test/test_oracle.ml
+++ b/test/test_oracle.ml
@@ -234,9 +234,13 @@ let real_lectionary () =
(* The Commons (data/ef/commons.sexp) travel the same caller-supplied seam
as the lectionary above, and [~commons] is required rather than defaulted
- so that no caller can silently run with none -- nothing in layers 3-5
- compares reading citations, so a rite quietly missing its Commons would
- be invisible. Loaded here even where this file asserts nothing about
+ so that no caller can silently run with none. CORRECTED, fix round 1
+ (coordinator review): this used to claim "nothing in layers 3-5 compares
+ reading citations" -- stale since Task 8 (layer 3) and this task itself
+ (layer 4, this file). Layer 5 (test_golden.ml's own [describe]) still
+ has no citation field at all, so it alone would still miss a rite
+ quietly missing its Commons; layers 3/4 compare citations directly and
+ would not. Loaded here even where this file asserts nothing about
readings, so that the rite under test is the same one bin/main.ml
assembles. *)
let real_commons () =
@@ -1161,57 +1165,85 @@ let m24_dates = [ "2026-04-01"; "2026-04-02"; "2027-03-24"; "2027-03-25" ]
predicate already applies to a citation-vocabulary gap. *)
let m25_dates = [ "2026-03-09"; "2026-03-24"; "2027-03-01"; "2027-03-16" ]
-(* M26 -- Task 9: the large remaining population, one single root cause.
- {!Rite_ef.Lectionary_ef.readings}'s own header comment already names
- this LIMIT, not a rubric dispute this task settled: step 3 ("a feria
- with no proper says the preceding SUNDAY's Mass") is colitur's only
- fallback mechanism, and its own WARRANT is "lectio's own observed
- behaviour... not a confirmed Missal citation" -- register's own
- standing note. missalemeum's own ferial-Mass selection is more
- granular than that single rule in (at least) three distinct ways this
- task's own investigation found and confirmed against the primary
- source, but did NOT build (a genuine, understood, ALREADY-DOCUMENTED
- architecture gap, the SAME shape data/ef/expected-divergences.sexp's
- own C6/C25 entries already carry for the sibling lectio differential,
- and Task 6's own residual concern 4/5, "the BVM Saturday Office still
- emits its feria's Mass... needs... a season-keyed selection among five
- formularies" -- RG 309(a), "iuxta temporum diversitatem"):
- (1) a rotating VOTIVE MASS OF THE BVM ("Missae de sanctae Mariae in
- sabbato" I-V and their Time-after-Pentecost siblings, missalemeum's own
- "II/III/V Mass of the B. V. M." titles) on an otherwise-unoccupied
- feria, not only a Saturday -- 2026-01-03/2026-01-10/2027-01-02/
- 2027-01-09 are RG 78's own BVM SATURDAY Office specifically (Task 6's
- own named open item; colitur's own step-3 fallback, not the votive
- Mass, is what these four rows actually show -- 2026-01-03/2027-01-09
- are `ef-christmas-1-saturday`, C25's own unchanged population in the
- sibling lectio differential; 2026-01-10/2027-01-02 are
- `ef-christmas-2-saturday`); the rest of this entry's own population
+(* M26 -- Task 9: the remaining population, one root cause,
+ TWO NAMEABLE SHAPES -- CORRECTED, fix round 1 (coordinator review,
+ Important 3): a prior version of this entry described three shapes,
+ the third an unexplained "23-row residue... not narrowed to a single
+ citable rule at all". That bucket was EMPTY -- every one of the 30
+ dates classifies cleanly into one of the two shapes below; the
+ "residue" framing buried a real, nameable defect instead of recording
+ it. {!Rite_ef.Lectionary_ef.readings}'s own header comment already
+ names the underlying LIMIT, not a rubric dispute this task settled:
+ step 3 ("a feria with no proper says the preceding SUNDAY's Mass") is
+ colitur's only fallback mechanism, and its own WARRANT is "lectio's
+ own observed behaviour... not a confirmed Missal citation" --
+ register's own standing note. missalemeum's own ferial-Mass selection
+ is more granular than that single rule in two distinct, CONFIRMED ways
+ (the same "needs a season-keyed selection mechanism, new behaviour not
+ new data" shape data/ef/expected-divergences.sexp's own C6/C25 entries
+ already carry for the sibling lectio differential, and Task 6's own
+ residual concern 4/5, "the BVM Saturday Office still emits its feria's
+ Mass... needs... a season-keyed selection among five formularies" --
+ RG 309(a), "iuxta temporum diversitatem"):
+
+ SHAPE 1 -- 21 rows: a rotating VOTIVE MASS OF THE BVM ("Missae de
+ sanctae Mariae in sabbato" I-V and their Time-after-Pentecost
+ siblings, missalemeum's own "II/III/V Mass of the B. V. M." titles) on
+ an otherwise-unoccupied feria, not only a Saturday -- 2026-01-03/
+ 2026-01-10/2027-01-02/2027-01-09 are RG 78's own BVM SATURDAY Office
+ specifically (Task 6's own named open item; colitur's own step-3
+ fallback, not the votive Mass, is what these four rows actually show
+ -- 2026-01-03/2027-01-09 are `ef-christmas-1-saturday`, C25's own
+ unchanged population in the sibling lectio differential; 2026-01-10/
+ 2027-01-02 are `ef-christmas-2-saturday`); the other 17 of these 21
are ordinary weekday ferias in Time after Pentecost showing the SAME
- votive-Mass title;
- (2) a NAMED weekly formula distinct from the plain Sunday-repeat rule
- for at least one week this task's own primary-source reading found by
- accident while fixing a DIFFERENT gap (Holy Family's own week,
- "Missa Dominicae Primae post Epiphaniam" -- built, tools/
- bootstrap_lectionary.ml's own [epiphanytide_opening_entries]) --
- 2026-06-02/03 and 2027-05-24 are the SAME shape for a different week
- (the ferias between Trinity Sunday and Corpus Christi, "Missa
- Dominicae I post Pentecosten", 1 John 4:8-21/Luke 6:36-42, visible in
- the raw scan while researching Corpus Christi's own Mass -- see
- docs/research/scan1.txt around line 21800 -- but NOT independently
- verified as a general "every week has its own named formula" rule the
- way the January window was, and NOT built here);
- (3) later Time-after-Pentecost weeks whose own votive/ferial answer
- this task's investigation did not narrow to a single citable rule at
- all (2026-10-26 through 2026-11-28, 2027-11-03 through 2027-11-27).
- ALL THREE are variations on the identical root limitation, not three
- separate bugs, and none is safe to fix piecemeal inside this task's own
- scope (extending layer 4 + triage) without the same real, dedicated,
- TDD/mutation-tested unit of work C6/C25 and Task 6's own open item
- already call for -- a season-keyed ferial/votive-Mass-selection
- mechanism, new behaviour, not new data. Verdict open, the SAME fourth
- verdict M15/M18 already establish for a genuine comparator/architecture
- LIMIT, honestly counted rather than silently absorbed or left failing
- without explanation. A literal date list, not a shape predicate (no
+ votive-Mass title (2026-02-14/06-20/06-27/07-04/07-11/08-01/10-31/
+ 11-07/11-28; 2027-07-17/07-24/09-04/09-11/10-30/11-06/11-13/11-27).
+
+ SHAPE 2 -- 9 rows, a SECOND, DIFFERENT and DISTINCT gap: ferias of a
+ week whose own Sunday was DISPLACED that year by a movable, named
+ temporal-cycle feast, where the Missal requires the DISPLACED
+ Sunday's own Mass to continue informing that week's ferias, but step 3
+ walks back to the DISPLACING feast's citation instead (the SAME
+ Sunday's own OFFICE is displaced; its own reading is not). Two
+ witnessed instances, not a residue: (a) 2026-06-02/03 and 2027-05-24,
+ the ferias between Trinity Sunday and Corpus Christi -- the Missal
+ prints a named formula for exactly this week, "Missa Dominicae I post
+ Pentecosten" (1 Ioann. 4,8-21 / Luc. 6,36-42, docs/research/
+ scan1.txt:21758-21830, found while researching Corpus Christi's own
+ Mass immediately following it) -- but colitur's step 3 walks back to
+ Trinity SUNDAY's own citation (Rom 11:33-36, the generic Time-after-
+ Pentecost fallback), not this named formula, since [ef-corpus-christi]
+ now correctly interrupts Trinity's own week at step 2 (this task's own
+ fix) and step 3's walkback from the Tuesday/Wednesday after it lands
+ one Sunday further back than the week actually calls for; (b)
+ 2026-10-26/27/29/30 and 2027-11-03/05, the ferias of the week Christ
+ the King (I class, movable, "Dominica ultima octobris") displaces --
+ colitur's own citation on all six is LITERALLY Christ the King's own
+ Gospel (John 18:33-37, "Art thou a king?"), confirming step 3 walked
+ back to the DISPLACING feast, not the displaced ordinary Sunday;
+ missalemeum shows a different citation each row (the displaced
+ Sunday's own, varying by year). No Missal-propers rubric for Christ
+ the King's own week ferias was found the way Holy Name/Holy Family's
+ own each carry one (checked: no rubric text precedes Christ the
+ King's own Mass heading, scan1.txt:39140-39163, unlike the two
+ feasts C30/C31/C32 above document) -- this half is named from the
+ OBSERVED citation evidence itself (colitur's own value IS the
+ displacing feast's, missalemeum's is not), not from a located
+ propers rubric; the general mechanism (a week's own ferias follow its
+ OWN Sunday's temporal identity even when that Sunday is impeded that
+ year) is the same shape RG 69 already establishes for the Nativity
+ Octave (C6's own citation) and RG 96's own general transfer framework
+ assumes throughout, but no citation SPECIFIC to Christ the King's own
+ week was found or is claimed here.
+
+ Neither shape is safe to fix inside this task's own scope (extending
+ layer 4 + triage) without the same real, dedicated, TDD/mutation-tested
+ unit of work C6/C25 and Task 6's own open item already call for.
+ Verdict open, the SAME fourth verdict M15/M18 already establish for a
+ genuine comparator/architecture LIMIT, honestly counted and NAMED
+ rather than silently absorbed, left failing, or buried in an
+ unexplained residue. A literal date list, not a shape predicate (no
single structural signal -- unlike C17's own [subject = bvm] -- exists
to distinguish this population from a genuinely new, unrelated
citation bug on some other Time-after-Pentecost feria): the SAME