fix: never celebrate a commemoration-grade office over the feria (#424) #425
No reviewers
Labels
No labels
area: build
area: ci
area: compare
area: data
area: engine
area: model
area: provenance
area: rite
area: validation
backport
blocked
breaking
confirmed
dependencies
duplicate
epic
github_actions
invalid
needs-info
needs-triage
php
priority: high
priority: low
priority: medium
regression
type: bug
type: chore
type: correction
type: docs
type: enhancement
type: feature
type: fix
type: perf
type: refactor
type: security
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Directorium/Core!425
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/commemoration-only-never-celebrated"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Second bug found by the validation harness (#45) against the missalemeum oracle
(the base-1962 authority); sibling of #422.
The bug
A IV-class commemoration (
kind=commemoration-only) tied the feria at thefourthtier and wonDayResolver::sortByTier()'s id-based tie-break, so it wascelebrated as the day's office and the feria omitted. St Silverius (20 Jun), St
Christina (24 Jul), Ss Abdon & Sennen (30 Jul) and ~50 days/year showed a red
martyr's office instead of the green feria that should merely commemorate them.
Fix
ObservanceKind::COMMEMORATION_ONLYexisted but was never consulted in precedence.A commemoration has no proper office (nn. 106-114). Add a
commemorationtier belowthe whole Table of Liturgical Days (ordinal 29, in the cited precedence data) and
return it from
tierOf()for that kind, so a commemoration always yields the day toa real office and is commemorated — or omitted where the day admits none (Triduum).
Blast radius (verified)
A day-by-day diff of 2024 shows 42 changed days: 41
commemoration-only -> feriaswaps (the fix), plus one where Corpus Christi already omitted both offices and only
the displaced ordering moved. Divergence vs the oracle across 2024-2026 dropped from
269->200 commemoration and 186->139 colour mismatches. Golden re-frozen.
Gates green: lint 111/111, analyse [OK], test 625 passing, corpus verify OK.
Closes #424.