summaryrefslogtreecommitdiff
path: root/test/test_precedence_of.ml
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-25 19:21:33 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-25 19:21:33 +0200
commit8885c9af2f69b81b9aefcf3ab6c4da641338b71d (patch)
treedc4a5a75fbb780c14c1075a38cdd33ba079d779b /test/test_precedence_of.ml
parentc6faa32c85e350349181ab920b0b8b7defdd678c (diff)
downloadcolitur-8885c9af2f69b81b9aefcf3ab6c4da641338b71d.tar.gz
colitur-8885c9af2f69b81b9aefcf3ab6c4da641338b71d.zip
test(of): pin the Nativity Vigil at entry 3, not entry 9
Fix round 1 (coordinator review). The Nativity Vigil (24 December, Sollemnitas) bands at entry 3 (30) rather than entry 9 (90) as a direct consequence of this task's ruling, but nothing pinned it -- a future branch-reorder (e.g. inserting an entry between 3 and 9, or loosening entry 9's date guard) could silently revert it to 90 with the suite green. Adds one row to part2_cases with a comment recording: the Tabula's own entry 9 textually covers 24 December as a late-Advent feria, yet Phase 1 gives that civil day the of-nativity-vigil identity at Sollemnitas because the Vigil Mass is celebrated that evening -- the same civil-day-granularity shape Holy Thursday already settles (entry 2, not entry 1); Phase 2 classifies Phase 1's emitted identity rather than overriding it. Unobservable on the universal calendar today (no competing candidate on 24 December); live under a proper/diocesan overlay, where a proper solemnity (entry 4, band 40) loses to the Vigil at 30 but would beat it at the textually-arguable 90. No production code change -- test-only, per the coordinator's ruling to pin current behaviour rather than alter it.
Diffstat (limited to 'test/test_precedence_of.ml')
-rw-r--r--test/test_precedence_of.ml25
1 files changed, 25 insertions, 0 deletions
diff --git a/test/test_precedence_of.ml b/test/test_precedence_of.ml
index a06fb25..0d2db63 100644
--- a/test/test_precedence_of.ml
+++ b/test/test_precedence_of.ml
@@ -135,6 +135,31 @@ let part2_cases =
ctx ~iso:"2026-06-04" ~season:Vocab_of.Ordinary_time,
mk ~slug:"of-corpus-christi" ~rank:Vocab_of.Sollemnitas ~origin:Precedence.Temporal (),
30 );
+ (* Fix round 1 (coordinator review, 2026-08-25). (a) THE TENSION: the
+ Tabula's own entry 9 reads "Feriae Adventus a die 17 ad 24 decembris
+ INCLUSIVE" -- 24 December is textually a late-Advent feria -- yet
+ Phase 1's temporal_of.ml gives that civil day the identity
+ [of-nativity-vigil] at rank Sollemnitas, because the Vigil Mass is
+ celebrated that evening; at colitur's one-office-per-civil-day
+ granularity only one identity can hold the day. (b) THE RESOLUTION:
+ Phase 2 classifies whatever identity Phase 1 already chose to emit, it
+ does not reach back and override that choice -- the same shape, and
+ the same settlement, as Holy Thursday (entry 2, not entry 1) above.
+ So this candidate's rank (Sollemnitas) and layer (temporal, hence
+ [not (is_proper layer)]) correctly route it to entry 3, band 30, not
+ entry 9's 90. (c) OBSERVABILITY: on the universal calendar nothing
+ else competes for 24 December, so this value can never be OBSERVED
+ today -- it is unobservable, not untested. It becomes live the moment
+ a proper/diocesan overlay places a proper solemnity (entry 4, band 40)
+ on 24 December: at 30 the Vigil beats it, but at the textually-arguable
+ 90 the proper solemnity would beat the Vigil instead. That reversal is
+ exactly what this row guards against a silent branch-reorder. *)
+ ( "entry 3, not 9: the Nativity Vigil is a solemnity, though 24 December \
+ is also a late-Advent feria",
+ ctx ~iso:"2026-12-24" ~season:Vocab_of.Advent,
+ mk ~slug:"of-nativity-vigil" ~rank:Vocab_of.Sollemnitas
+ ~origin:Precedence.Temporal (),
+ 30 );
( "entry 5: the Baptism of the Lord is a feast OF THE LORD",
ctx ~iso:"2026-01-11" ~season:Vocab_of.Christmas,
mk ~subject:Subject.Lord ~slug:"of-baptism-of-the-lord" ~rank:Vocab_of.Festum