aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/test_oracle.ml52
1 files changed, 32 insertions, 20 deletions
diff --git a/test/test_oracle.ml b/test/test_oracle.ml
index 7068af9..35d4501 100644
--- a/test/test_oracle.ml
+++ b/test/test_oracle.ml
@@ -733,26 +733,38 @@ let m16_dates = [ "2026-03-27" ]
TEMPORAL-origin one -- an ordinary Sunday, a feria, a movable named feast
including Holy Family itself -- never does ({!Rite_ef.Temporal_ef}'s own
[build] has no [en "..."] string anywhere in it, this file's own header
- again). That is the OVERWHELMING majority of days in any calendar (saints'
- feasts are common, but far from every day), so this is a single
- STRUCTURAL predicate -- [Observed_identity_unresolved] alone, nothing
- else disagreeing -- not a literal date list the way every other entry in
- this file is: at 374 of the 730 days in this window, a list would be
- exactly the "range/pattern that could silently widen" this file's own
- header explicitly avoids elsewhere, for the OPPOSITE reason a range is
- normally risky here -- the predicate itself (colitur's own name is
- [None]) is the precise, falsifiable evidence, the same shape [M2]'s own
- title-substring predicate already uses instead of a date list, just keyed
- on presence-of-a-name rather than a title string. NOT a rubric dispute
- and NOT a data gap either engine is wrong about -- a LIMIT of this
- comparator itself, honestly counted rather than silently passed, per the
- brief's own explicit instruction ("a day whose observed identity cannot
- be resolved must be a counted, allow-listed outcome, never a silent
- skip"), the SAME discipline [M15] already established for an unresolvable
- COMMEMORATION, applied here for the first time to the OBSERVED day. Fixing
- this at the root (giving every temporal-cycle candidate an English name)
- is a data/lectionary-bootstrap task (Plan 4), not something this
- comparator can do for itself -- register §6 tracks it, the same open item
+ again). CORRECTED, fix round 1 (coordinator finding 8) -- the precise
+ breakdown: of this window's 730 days, 331 are RESOLVED (330 matching, 1
+ mismatched, [M13]); 399 are UNRESOLVED, split between this entry's own
+ 373 (the axis's sole disagreement) and 26 absorbed inside [M1]/[M2]/[M3]/
+ [M16]'s own widened subsets, where it fires ALONGSIDE their pre-existing
+ citation. The BLIND SPOT this axis exists to close, stated precisely: a
+ TEMPORAL-origin observed day silently replaced by a DIFFERENT
+ temporal-origin observed day of the SAME RANK AND COLOUR -- exactly the
+ shape that hid Holy Family from every layer before this task. This is
+ the OVERWHELMING majority of days in any calendar (saints' feasts are
+ common, but far from every day), so this is a single STRUCTURAL
+ predicate -- [Observed_identity_unresolved] alone, nothing else
+ disagreeing -- not a literal date list the way every other entry in this
+ file is: at this population size, a list would be exactly the
+ "range/pattern that could silently widen" this file's own header
+ explicitly avoids elsewhere, for the OPPOSITE reason a range is normally
+ risky here -- the predicate itself (colitur's own name is [None]) is the
+ precise, falsifiable evidence, the same shape [M2]'s own title-substring
+ predicate already uses instead of a date list, just keyed on
+ presence-of-a-name rather than a title string. NOT a rubric dispute and
+ NOT a data gap either engine is wrong about -- a LIMIT of this comparator
+ itself, honestly counted rather than silently passed, per the brief's own
+ explicit instruction ("a day whose observed identity cannot be resolved
+ must be a counted, allow-listed outcome, never a silent skip"), the SAME
+ discipline [M15] already established for an unresolvable COMMEMORATION,
+ applied here for the first time to the OBSERVED day. The count pin below
+ ([test_layer_m_counts_match_citations]) is what stands guard against this
+ population growing (or shrinking) silently -- it cannot say WHICH day
+ moved or why, only that the total did. Fixing this at the root (giving
+ every temporal-cycle candidate an English name) is a data/lectionary-
+ bootstrap task (Plan 4), not something this comparator can do for itself
+ -- register §6 tracks it, the same open item
[M15]'s own note already points to. *)
let layer_m_reason (c : colitur_row) (o : oracle_row) diffs =
if diffs = [] then None