aboutsummaryrefslogtreecommitdiff
path: root/test/cli.t
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-12 01:19:37 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-12 01:19:52 +0200
commit9ce4527550fed24036f6f116474c1f67714f5194 (patch)
treefa941f55a64c930b3c8c12606d1c7a3eadcf3aaa /test/cli.t
parent4774ef07edc3c197cbd0134e2839eeee2701db2e (diff)
downloadcolitur-9ce4527550fed24036f6f116474c1f67714f5194.tar.gz
colitur-9ce4527550fed24036f6f116474c1f67714f5194.zip
rite(ef): the Annunciation's RG96 exception is conditional, not unconditional
The register was transcribed faithfully but was itself wrong: RG 96's Attamen (a), primary-source-verified from the scans and now corrected in the register, reads 'festum Annuntiationis B. Mariae Virg., quando est transferendum post Pascha, transfertur ... in feriam II post dominicam in albis' -- the Monday-after-Low-Sunday seat applies ONLY 'quando est transferendum post Pascha', when the feast is to be transferred PAST EASTER. The unconditional transcription made the exception fire on every impeded Annunciation regardless of cause. transfer_target now computes the general RG 96 target first, for every candidate, and overrides to the Monday after Low Sunday only when that general target itself falls after Easter Sunday -- testing the rubric's own condition directly rather than re-deriving a date-proximity rule from first principles. Confirmed against three real years the review named: 2007, 2012 and 2057 all previously sent the Annunciation to Easter + 8 (16 April, 16 April, 30 April respectively) when the correct, now-produced target is the next free day before Easter (26 March in each case -- Passion Sunday in 2007/2012, Lent III Sunday in 2057). Verified with actual CLI output for all three, before and after. Also cites RG 96 Attamen (b), the same primary-source passage, as the direct authority for All Souls' own move to the following Monday when impeded by a Sunday -- previously inferred from RG 91 entry 8's parenthetical plus the general walk, which happened to produce the right date; now stated directly. Rewrote the two existing Annunciation unit tests, whose synthetic occupants no longer trigger the (now correctly conditional) exception, and added a 2057 regression test using the real Temporal_ef.temporal as occupant plus a real-data cram pin -- both mutation-verified against the unconditional reading.
Diffstat (limited to 'test/cli.t')
-rw-r--r--test/cli.t13
1 files changed, 13 insertions, 0 deletions
diff --git a/test/cli.t b/test/cli.t
index 77968e6..5a646a4 100644
--- a/test/cli.t
+++ b/test/cli.t
@@ -101,6 +101,19 @@ Sunday: 2 Nov 2026 is a Monday (1 Jan 2026 is a Thursday, same day-of-year
(week 23: Pentecost 2026 is 24 May (colitur easter 2026); 24 May - 2 Nov is
162 days, floor_div(162, 7) = 23 -- same formula, same independent check.)
+RG 96's Annunciation exception (25 March) is CONDITIONAL, not unconditional
+-- fix round 1, coordinator review, register corrected 2026-08-12. In 2057,
+25 March is Lent III Sunday (I class, impedes it); 26 March is an ordinary
+Lent feria (III class, well before Easter, 22 April 2057), so the GENERAL
+RG 96 target -- not the Monday after Low Sunday -- is what governs, since
+the general walk never crosses Easter. Before this fix the unconditional
+reading sent it to 30 April (Easter + 8) instead:
+
+ $ colitur day 2057 | grep '^2057-03-26 '
+ 2057-03-26 monday lent 3 annunciation-of-the-blessed-virgin-mary class-1 white +ef-lent-3-monday
+ $ colitur day 2057 | grep -c 'annunciation-of-the-blessed-virgin-mary'
+ 1
+
A year outside the supported domain is rejected (exit 2):
$ colitur day 1000