aboutsummaryrefslogtreecommitdiff
path: root/lib/kernel/layer.mli
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-08-13 09:11:21 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-08-13 09:11:21 +0200
commitb23020c7acc6b22d99ffeeac5d65e9ad4a58c82c (patch)
tree8b6b010d5487efe72d7d80df21a5e1f840f85fc6 /lib/kernel/layer.mli
parent9bc8f0ebbbd4031cc74e076ab9e9e80bd4fa43e6 (diff)
downloadcolitur-b23020c7acc6b22d99ffeeac5d65e9ad4a58c82c.tar.gz
colitur-b23020c7acc6b22d99ffeeac5d65e9ad4a58c82c.zip
precedence(ef): fix round 1 (F1) -- band's -14 sentinel inverted the table
entry_14_movable_band = -14 was justified only by "cannot collide with a real table position (1..28) or unclassified" -- a collision argument, not an ordering one. band's own value is compared by plain <, so a negative number beats every I-class entry (1-13), not merely the fixed Baptism it was built to beat. Not live against the shipped universal sanctoral data (no I-class universal feast falls 7-13 January, which is why the original 1583-9999 sweep showed only the intended shape), but entries 12/13 admit PROPER and INDULT I-class feasts too, and those arrive via adjustments.sexp-style overlays -- this architecture's own advertised extension path. A diocesan patronal feast landing in Holy Family's window would have made the inversion live immediately: the I-class feast displaced and transferred to the next day, reproduced and confirmed before this fix, reverted after. Fixed by rescaling every band branch to the real RG 91 entry number times ten (unclassified untouched at max_int) instead of the bare 1..28, reserving genuine headroom immediately before each entry for a movable sub-rank -- not an arbitrary rescale: RG 91's own text records a "primum mobilia, deinde fixa" split at three rows, not only entry 14 (entry 12's own ninth sub-item, entry 14, and entry 20), so this leaves room for the other two without a second rescale if either ever gets a live witness. entry_14_movable_band now derives from entry_14_fixed_band - 1, tied together so they cannot drift apart. Added a synthetic I-class end-to-end test reproducing the exact counter-example that found this: a universal I-class candidate inside Holy Family's own 7-13 January window is now observed and does not transfer, with Holy Family itself falling to RG109(a)'s ordinary privileged-Sunday-commemoration path, the same treatment any genuine feast outranking an ordinary Sunday gets.
Diffstat (limited to 'lib/kernel/layer.mli')
0 files changed, 0 insertions, 0 deletions