diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-27 00:38:40 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-08-27 00:38:40 +0200 |
| commit | e26d7da141f7985fadc53d8399a69dbaa1153c94 (patch) | |
| tree | 38737b17dbf71faf9c357d8d2098e8f3f42aab0b /lib/kernel/overlay_ini.mli | |
| parent | 6e62e499aed1c5a31a18bcf5e9eaa7f2b0c4ff2e (diff) | |
| download | colitur-e26d7da141f7985fadc53d8399a69dbaa1153c94.tar.gz colitur-e26d7da141f7985fadc53d8399a69dbaa1153c94.zip | |
fix(of): correct the Annunciation's transfer_target slug, dead Rule 1
precedence_of.ml's transfer_target Rule 1 (Normae n. 60's fixed Easter+8
destination for the Annunciation falling in Holy Week) keyed off
"of-annunciation", a placeholder that never matched the real shipped
entry's own slug ("annunciation-of-the-lord",
data/of/calendar-2002.sexp). Rule 1 was therefore dead code: it could
only ever fire against test_precedence_of.ml's own synthetic candidate,
which happened to carry the identical placeholder.
Output was nonetheless correct on shipped data (latent, not live): Rule
3's general forward search structurally converges on the same Easter+8
target, because the Easter Octave occupies exactly Easter+1..+7 at band
20 and the 3-9 April window carries only memorials on the universal
calendar. The exposure is an overlay placing a proper solemnity (band
40) or proper feast (band 80) anywhere in 3-9 April, where Rule 3 would
diverge from Rule 1's fixed destination and Rule 1 would silently fail
to override it.
Fixed the slug, and updated the existing Rule-1 tests' own synthetic
candidate to the real slug so they keep exercising Rule 1 rather than
Rule 3's coincidental agreement. Added a test that tells the two rules
apart rather than only checking the output they happen to agree on: it
rigs the occupant callback to occupy Easter+8 with a synthetic
Tabula-entry-3 candidate, confirms (via a control case using a
different solemnity) that the rig genuinely forces Rule 3's search past
that date, then shows the real shipped Annunciation still lands on
Easter+8 despite the block -- only explicable by Rule 1 firing, not by
Rule 3 happening to agree.
Diffstat (limited to 'lib/kernel/overlay_ini.mli')
0 files changed, 0 insertions, 0 deletions
