Omit Lauds suffrages entirely during Advent/Christmastide/Passiontide and any active octave
Deploy / deploy (push) Successful in 54s
Deploy / deploy (push) Successful in 54s
Checked directly against Monastic Tridentinum 1617 (not just the Tridentine 1906/1910 track the suffrage content itself comes from) -- this omission isn't a rubric-track-specific quirk, it holds under this app's own primary source too: - Advent, Christmastide, and Passiontide ferias: suffrages omitted entirely. Confirmed ordinary Lent (weeks 1-4, not Passiontide) is NOT excluded -- only the last two weeks are. - Any day within an active octave: suffrages omitted entirely, however low that octave's own rank is -- confirmed against day 2/3 of St. Lawrence's own Semiduplex octave, well below the existing Duplex+ threshold. Today (within Lawrence's octave) was showing all five suffrages before this fix; the real office has none but the Marian antiphon. Still not modeled, flagged in TODO.md: Paschaltide's own substitution (a single alleluia-form "Suffragium Paschale" replaces the whole set during Eastertide, rather than the ordinary set showing or being omitted) -- a separate, larger feature. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
+14
-2
@@ -1,6 +1,6 @@
|
||||
import type { HourDefinition, HourPart, ResolvedOrdo, ResolvedPart, ResolvedText } from './types';
|
||||
import type { LiturgicalDay, Weekday } from '../calendar/types';
|
||||
import { resolveDay, isAtLeast, isSundayOrFeast } from '../calendar';
|
||||
import { resolveDay, isAtLeast, isSundayOrFeast, activeOctavesFor } from '../calendar';
|
||||
import { getDayLabel } from '../calendar/day-label';
|
||||
import { getTemporalFeastRecord } from '../calendar/temporal-feasts';
|
||||
import { getPsalmVerses } from '../psalter';
|
||||
@@ -244,7 +244,19 @@ function resolvePart(part: HourPart, day: LiturgicalDay): ResolvedPart[] {
|
||||
// "Suffragium{omittitur}" — the whole set drops, same as any other
|
||||
// Double-or-higher day.
|
||||
const isChristTheKing = day.winner.kind === 'temporal' && day.winner.id === 'christ-the-king';
|
||||
if (part.omitOnDouble && (isDoubleOrHigher(day.winner) || isChristTheKing)) {
|
||||
// Confirmed live against Monastic Tridentinum 1617 directly (this
|
||||
// isn't a Tridentine-1906-only quirk -- the same exclusions hold
|
||||
// under the app's own primary rubric track): suffrages are omitted
|
||||
// *entirely* during Advent, Christmastide, and Passiontide (not all
|
||||
// of Lent -- ordinary Lent ferias still get them, checked directly
|
||||
// against 2026-02-20; only the last two weeks), and on any day
|
||||
// within an active octave, however low that octave's own rank is
|
||||
// -- checked directly against day 3 of St. Lawrence's own
|
||||
// (Semiduplex) octave, which still omits them despite being well
|
||||
// below the Duplex+ rank threshold below.
|
||||
const isSeasonallyExcluded = day.season === 'advent' || day.season === 'christmastide' || day.season === 'passiontide';
|
||||
const isWithinAnOctave = activeOctavesFor(day.date).length > 0;
|
||||
if (part.omitOnDouble && (isDoubleOrHigher(day.winner) || isChristTheKing || isSeasonallyExcluded || isWithinAnOctave)) {
|
||||
return [];
|
||||
}
|
||||
// "Of the Holy Cross" is the real *ferial*-office suffrage, sourced
|
||||
|
||||
Reference in New Issue
Block a user