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:
@@ -23,7 +23,7 @@ describe('activeOctavesFor', () => {
|
||||
{
|
||||
id: 'assumption',
|
||||
name: 'The Assumption of the Blessed Virgin Mary',
|
||||
wins: 'semiduplex',
|
||||
wins: 'duplex',
|
||||
dayNumber: 3,
|
||||
isClosingDay: false,
|
||||
},
|
||||
@@ -60,7 +60,7 @@ describe('resolveActiveOctave / pickWinningOctave -- overlapping-octave preceden
|
||||
expect(resolveActiveOctave('2026-08-10')?.id).toBe('st-lawrence');
|
||||
});
|
||||
|
||||
it("St. Lawrence's own elevated closing day (duplex) outranks the Assumption's ordinary day 3 (semiduplex) on their one real overlap, Aug 17", () => {
|
||||
it("St. Lawrence's own elevated closing day (duplex) wins the closing-day tie-break over the Assumption's ordinary day 3 (also duplex) on their one real overlap, Aug 17", () => {
|
||||
const winner = resolveActiveOctave('2026-08-17');
|
||||
expect(winner?.id).toBe('st-lawrence');
|
||||
expect(winner?.wins).toBe('duplex');
|
||||
|
||||
Reference in New Issue
Block a user