Full precedence sweep of temporal-categories.yml, two more real bugs
Deploy / deploy (push) Successful in 1m27s
Deploy / deploy (push) Successful in 1m27s
Following the Ascensiontide fix, swept every remaining unverified Sunday/ feria precedence tier against the live reference engine: - commemorations.ts's privileged-sunday rule was itself wrong: a duplex-majus+ candidate was given a bare commemoration instead of transferring, never actually verified. Live-checked the Immaculate Conception (transfers off Advent II) and the Annunciation (transfers off Palm/Easter Sunday) - confirmed correct by direct instruction. privileged-sunday now transfers every rank unconditionally. - eastertide's own Sunday tier was backwards (privileged-sunday instead of ordinary-sunday) for the ordinary Sundays after Easter - live- verified twice (Finding of the Holy Cross, St. Mark both win outright). Easter Day itself still needs the stronger tier, now special-cased directly since Sundays never consult the offset table. Six existing tests updated to reflect real, live-verified behavior - each had the old wrong "commemorated in place" assumption baked into its expected value. Remaining unverified entries (Vigil of Pentecost/ Christmas, Corpus Christi/Sacred Heart) documented as such rather than silently assumed correct. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017XMSokiTD2Qc5vPP2YQu3Q
This commit is contained in:
@@ -104,17 +104,21 @@ describe('resolveOrdo("compline", ...)', () => {
|
||||
|
||||
it('anticipates Advent I: the Saturday evening before switches to the Alma Redemptoris Mater and shows the anticipated day label', () => {
|
||||
// Nov 30, 2025 is Advent I Sunday -- also St. Andrew's own day
|
||||
// (Duplex II. classis), correctly commemorated alongside it since the
|
||||
// November sanctoral pull (see tests/calendar/day-label.test.ts). This
|
||||
// evening also anticipates Advent I from Nov 29, itself the Vigil of
|
||||
// St. Andrew -- but the Vigil isn't also shown alongside his own
|
||||
// feast (calendar/vespers.ts's own isVigilOfTomorrow check, keyed off
|
||||
// each Vigil's explicit `vigilOf` field): showing both would just be
|
||||
// redundant, the same feast named twice.
|
||||
// (Duplex II. classis), but a privileged Sunday transfers him
|
||||
// entirely rather than commemorating him in place (live-verified
|
||||
// 2026-09-01, see tests/calendar/day-label.test.ts). This evening
|
||||
// also anticipates Advent I from Nov 29, itself the Vigil of St.
|
||||
// Andrew -- calendar/vespers.ts's own isVigilOfTomorrow check only
|
||||
// suppresses the Vigil's own commemoration when tomorrow's page
|
||||
// *also* shows St. Andrew (which would be redundant); since he no
|
||||
// longer does (he's transferred away, not commemorated), both pieces
|
||||
// of information are genuinely distinct and both show.
|
||||
const eve = resolveOrdo('compline', '2025-11-29');
|
||||
const last = eve.parts[eve.parts.length - 1];
|
||||
expect(last?.kind === 'preces' ? last.label : undefined).toBe('Alma Redemptoris Mater');
|
||||
expect(eve.dayLabel?.en).toBe('The 1st Sunday of Advent (Semiduplex) — St. Andrew, Apostle');
|
||||
expect(eve.dayLabel?.en).toBe(
|
||||
'The 1st Sunday of Advent (Semiduplex) — Vigil of St. Andrew (of today) — St. Andrew, Apostle (transferred away)',
|
||||
);
|
||||
|
||||
const dayBefore = resolveOrdo('compline', '2025-11-28');
|
||||
const lastBefore = dayBefore.parts[dayBefore.parts.length - 1];
|
||||
|
||||
+12
-10
@@ -565,18 +565,20 @@ describe('resolveOrdo("lauds", ...)', () => {
|
||||
});
|
||||
|
||||
it('resolves both the winners collect and a commemorated saints collect on a day with a real commemoration', () => {
|
||||
// 2025-11-30: Advent I (the winner) with St. Andrew, Duplex II. classis,
|
||||
// commemorated alongside it (see tests/calendar/day-label.test.ts) --
|
||||
// he has only a bare collect authored (no st-andrew-commemoration.yml
|
||||
// Ant+V/R bundle yet), so this renders as a labeled 'preces' block
|
||||
// (see resolve-common.ts's sanctoralCommemorationPart), not a second
|
||||
// unlabeled 'prayer' the way it used to.
|
||||
const ordo = resolveOrdo('lauds', '2025-11-30');
|
||||
// 2029-01-14: post-Epiphany II (the winner, `ordinary-sunday`) with
|
||||
// St. Felix Presbyter, Simplex, commemorated alongside it — live-
|
||||
// verified 2026-09-01. (Not 2025-11-30/St. Andrew as this test used
|
||||
// to: a privileged Sunday transfers *everything*, no rank exception
|
||||
// — Andrew doesn't get a bare commemoration there at all, see
|
||||
// tests/calendar/day-label.test.ts. `ordinary-sunday`'s own Simplex
|
||||
// branch is the real case that still commemorates a saint in place.)
|
||||
const ordo = resolveOrdo('lauds', '2029-01-14');
|
||||
const collects = ordo.parts.filter((p) => p.kind === 'prayer');
|
||||
expect(collects.length).toBe(1);
|
||||
const andrewCommemoration = ordo.parts.find((p) => p.kind === 'preces' && p.label?.includes('Andrew'));
|
||||
expect(andrewCommemoration?.kind === 'preces' ? andrewCommemoration.text.text.en : undefined).toContain(
|
||||
'Andrew',
|
||||
const felixCommemoration = ordo.parts.find((p) => p.kind === 'preces' && p.label?.includes('Felix'));
|
||||
expect(felixCommemoration).toBeDefined();
|
||||
expect(felixCommemoration?.kind === 'preces' ? felixCommemoration.text.text.en : undefined).toContain(
|
||||
'palm tree',
|
||||
);
|
||||
});
|
||||
|
||||
|
||||
@@ -718,7 +718,7 @@ describe('resolveOrdo("matins", ...) rest-of-year temporal nocturn-readings swee
|
||||
['2026-04-19', 'easter-3'],
|
||||
['2026-04-27', 'easter-4'],
|
||||
['2026-05-04', 'easter-5'],
|
||||
['2026-05-11', 'easter-6'],
|
||||
['2026-05-10', 'easter-6 (the real Sunday — not 2026-05-11: since the eastertide-Sunday precedence fix (2026-09-01), St. Antoninus, Duplex, now correctly wins outright on his own day, May 10, rather than transferring onto Monday, so easter-6\'s own pooled readings show up there commemorated, not on the 11th)'],
|
||||
['2026-05-18', 'sunday-after-ascension'],
|
||||
['2026-04-05', 'easter-sunday'],
|
||||
['2026-05-24', 'pentecost-sunday'],
|
||||
|
||||
Reference in New Issue
Block a user