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:
@@ -219,6 +219,26 @@ describe('resolveOrdo("lauds", ...)', () => {
|
||||
expect(crossSuffrage).toBeUndefined();
|
||||
});
|
||||
|
||||
it('omits the suffrages entirely during Advent, Christmastide, and Passiontide -- confirmed against Monastic Tridentinum 1617 directly, not just Tridentine 1906/1910', () => {
|
||||
const advent = resolveOrdo('lauds', '2026-12-03'); // plain Advent feria
|
||||
const christmastide = resolveOrdo('lauds', '2026-12-30'); // plain day within the Christmas Octave
|
||||
const passiontide = resolveOrdo('lauds', '2026-03-23'); // Monday of Passion Week
|
||||
for (const ordo of [advent, christmastide, passiontide]) {
|
||||
expect(ordo.parts.some((p) => p.kind === 'preces' && p.label === 'Of the Holy Cross')).toBe(false);
|
||||
expect(ordo.parts.some((p) => p.kind === 'preces' && p.label === 'For Peace')).toBe(false);
|
||||
}
|
||||
});
|
||||
|
||||
it('shows the suffrages on an ordinary Lent feria (not Passiontide) -- only the last two weeks of Lent are excluded, not all of it', () => {
|
||||
const ordo = resolveOrdo('lauds', '2026-02-20'); // Friday after Ash Wednesday, week 1 of Lent
|
||||
expect(ordo.parts.some((p) => p.kind === 'preces' && p.label === 'For Peace')).toBe(true);
|
||||
});
|
||||
|
||||
it('omits the suffrages entirely on any day within an active octave, however low the octave\'s own rank is', () => {
|
||||
const ordo = resolveOrdo('lauds', LAWRENCE_OCTAVE_DAY); // day 2 of St. Lawrence's own (Semiduplex) octave
|
||||
expect(ordo.parts.some((p) => p.kind === 'preces' && p.label === 'For Peace')).toBe(false);
|
||||
});
|
||||
|
||||
it('closes with the Conclusio, the closing versicle ("may the Lord grant us his peace... and life everlasting"), and the Marian antiphon -- without spelling out the silent Our Father', () => {
|
||||
const ordo = resolveOrdo('lauds', FERIAL_TUESDAY);
|
||||
const closingVersicle = ordo.parts.find(
|
||||
|
||||
Reference in New Issue
Block a user