Fix octave day labels: correct commemoration phrasing, closing-day title, and privileged-season precedence
Deploy / deploy (push) Successful in 1m4s
Deploy / deploy (push) Successful in 1m4s
Three related day-label bugs, all found via Aug 19's mislabeled Assumption octave commemoration: - A sanctoral winner that displaces the only active octave now shows the octave's real "Nth Day within the Octave of X" phrasing (no rank, since it's riding along under the winning feast), not a bare feast name. - An octave's own closing day now titles itself "Octave of X", matching the real DO's "in octava" vs. "infra octavam" distinction, instead of "8th Day within the Octave of X". - A sufficiently-ranked octave can now outrank a privileged temporal season (e.g. the Immaculate Conception's octave outright winning several of its days against Advent, live-verified against Divino Afflatu 1954), via a new shared octaveGoverningPrivilegedDay helper used by both the day label and the actual office-content resolver. Deliberately excludes Christmastide, whose own stacked octaves are structurally already that season's temporal content rather than a foreign add-on. Updates a Matins test fixture that had unknowingly relied on the Dec 15 bug (Advent ferial + a lone commemorated saint) and splits it into a clean ferial case plus a dedicated commemorated-saint case. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -356,10 +356,10 @@ export function isSundayOrFeast(day: LiturgicalDay): boolean {
|
||||
return day.weekday === 'sunday' || day.winner.kind === 'sanctoral';
|
||||
}
|
||||
|
||||
export { compareFeastClass, isAtLeast, decideOccurrence } from './commemorations';
|
||||
export { compareFeastClass, isAtLeast, decideOccurrence, minimumOutrightWinningRank } from './commemorations';
|
||||
export { resolveCollision } from './collision';
|
||||
export { resolveTemporalId } from './temporal-id';
|
||||
export { activeOctavesFor, strictestThreshold, resolveActiveOctave } from './octaves';
|
||||
export { activeOctavesFor, strictestThreshold, resolveActiveOctave, octaveGoverningPrivilegedDay } from './octaves';
|
||||
export type { ActiveOctave } from './octaves';
|
||||
export type {
|
||||
LiturgicalDay,
|
||||
|
||||
Reference in New Issue
Block a user