Strengthen the Assumption's octave against a demoted St. John Eudes
Demote St. John Eudes (Aug 19) from Duplex to Semiduplex -- too minor a confessor to keep outranking the Assumption's octave. To make that demotion actually cede the day, raise the Assumption's octave to `wins: duplex` (same pattern already used by Pentecost's octave), so an ordinary-day tie no longer automatically favors the occurring saint. Promote St. Thomas of Canterbury (Dec 29) to Duplex so he keeps winning against the Christmas octave stack now that ordinary-day ties are no longer a given. Also add a closing-day tie-break to octave-vs-octave precedence (pickWinningOctave): when two active octaves tie in rank, the one on its own closing day now wins the label contest, ahead of the existing "more recently started" tie-break. Needed because Assumption's day 3 and St. Lawrence's own closing day (Aug 17) now tie at Duplex, and the closing day should still govern that date's label. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -88,13 +88,13 @@ describe('December sanctoral pull (first pass, 12/12)', () => {
|
||||
]);
|
||||
});
|
||||
|
||||
it('St. Thomas of Canterbury, only Semiduplex, still wins outright within the Christmas Octave -- the concrete case behind this month\'s temporal-category fix', () => {
|
||||
it('St. Thomas of Canterbury still wins outright within the Christmas Octave -- the concrete case behind this month\'s temporal-category fix', () => {
|
||||
const day = resolveDay('2033-12-29');
|
||||
expect(day.winner).toEqual({
|
||||
kind: 'sanctoral',
|
||||
id: 'st-thomas-becket',
|
||||
name: 'St. Thomas of Canterbury, Bishop and Martyr',
|
||||
rank: 'semiduplex',
|
||||
rank: 'duplex',
|
||||
});
|
||||
// Thomas himself has no octave (user-confirmed, 2026-08), but by his
|
||||
// own day, Christmas + Stephen + John + Holy Innocents' octaves have
|
||||
@@ -128,7 +128,7 @@ describe('December sanctoral pull (first pass, 12/12)', () => {
|
||||
});
|
||||
|
||||
it('the Christmas Octave Sunday still keeps a lesser feast from winning, now via applyChristmasOctaveSunday specifically', () => {
|
||||
// St. Thomas Becket (Semiduplex, Dec 29) transfers off the Sunday
|
||||
// St. Thomas Becket (Dec 29) transfers off the Sunday
|
||||
// rather than winning it -- per calendar/index.ts's
|
||||
// applyChristmasOctaveSunday (see its own dedicated test file), which
|
||||
// now unconditionally wins the Sunday over *any* rank within Dec
|
||||
@@ -144,7 +144,7 @@ describe('December sanctoral pull (first pass, 12/12)', () => {
|
||||
kind: 'sanctoral',
|
||||
id: 'st-thomas-becket',
|
||||
name: 'St. Thomas of Canterbury, Bishop and Martyr',
|
||||
rank: 'semiduplex',
|
||||
rank: 'duplex',
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user