Show a commemorated Sunday's name in the day label
collectCommemorations dropped the plain temporal commemoration name unconditionally whenever anything else won the day, treating a commemorated Sunday the same as a commemorated ferial weekday. But a Sunday isn't "just an ordinary weekday" the way a ferial Tuesday is -- it's real information a reader can't infer from the winner+rank alone, and it's exactly why a bare commemoration collect (now a full bundle, previous commit) is being said in the first place. Divino Afflatu 1954's own commemoration line for a comparable case (St. Joachim winning a Sunday, Aug 16 2026) confirms this: it names the Sunday, no octave -- restoring that instead of a 2026-09-05 change that had over-corrected past the actual rule. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LGsATZvfnpQ81HQuoF5JuL
This commit is contained in:
@@ -509,12 +509,23 @@ function collectCommemorations(
|
|||||||
// pass wrongly scoped this to "only when an Ember commemoration is
|
// pass wrongly scoped this to "only when an Ember commemoration is
|
||||||
// also present" — user, 2026-09-05: "it has nothing to do with
|
// also present" — user, 2026-09-05: "it has nothing to do with
|
||||||
// ember-ness"); this plain generic label is dropped unconditionally
|
// ember-ness"); this plain generic label is dropped unconditionally
|
||||||
// whenever it shows up as a mere commemoration, Ember day or not.
|
// whenever it shows up as a mere commemoration on an ordinary
|
||||||
|
// ferial weekday, Ember day or not.
|
||||||
|
//
|
||||||
|
// A commemorated *Sunday* is the one exception (user, 2026-09-05):
|
||||||
|
// unlike a plain ferial Tuesday, "this is also a Sunday" is real
|
||||||
|
// information a reader can't infer from the winner+rank alone — it's
|
||||||
|
// why the Sunday's own collect is being said at all (getDayCollects'
|
||||||
|
// temporalCommemorationPart), and nothing else in the header hints
|
||||||
|
// at it. Shown via the same plain, rank-free `temporalLabel` a
|
||||||
|
// winning Sunday would use for itself.
|
||||||
if (c.id !== temporalId) {
|
if (c.id !== temporalId) {
|
||||||
const emberName = emberDayLabel(c.id);
|
const emberName = emberDayLabel(c.id);
|
||||||
if (emberName) {
|
if (emberName) {
|
||||||
temporal.push(emberName);
|
temporal.push(emberName);
|
||||||
}
|
}
|
||||||
|
} else if (day.weekday === 'sunday') {
|
||||||
|
temporal.push(temporalLabel(day));
|
||||||
}
|
}
|
||||||
} else if (opts.showOctaves && c.id !== opts.excludeOctaveId) {
|
} else if (opts.showOctaves && c.id !== opts.excludeOctaveId) {
|
||||||
const octave = activeOctaves.find((a) => a.id === c.id);
|
const octave = activeOctaves.find((a) => a.id === c.id);
|
||||||
|
|||||||
@@ -185,12 +185,12 @@ describe('getDayLabel — resumed post-Epiphany Sunday (overflow years)', () =>
|
|||||||
// commemorations.ts's `ordinary-sunday` case's plain Duplex+ threshold
|
// commemorations.ts's `ordinary-sunday` case's plain Duplex+ threshold
|
||||||
// is what lets her win outright rather than being commemorated — a
|
// is what lets her win outright rather than being commemorated — a
|
||||||
// pre-existing rule, not new behavior from adding her. The displaced
|
// pre-existing rule, not new behavior from adding her. The displaced
|
||||||
// Sunday is still commemorated internally (day.commemorations), using
|
// Sunday is commemorated both internally (day.commemorations) and in
|
||||||
// the same fixed 23rd-after-Trinity ordinal, not a raw elapsed-week
|
// the label itself, using the same fixed 23rd-after-Trinity ordinal,
|
||||||
// count recomputed for 1943 — but per the 2026-09-05 label rule, a
|
// not a raw elapsed-week count recomputed for 1943.
|
||||||
// plain temporal commemoration like this one is no longer shown in the
|
expect(getDayLabel(resolveDay('1943-11-21')).en).toBe(
|
||||||
// label once something else already has the primary slot.
|
'The Presentation of the Blessed Virgin Mary (Duplex Majus) — The 23rd Sunday after Trinity',
|
||||||
expect(getDayLabel(resolveDay('1943-11-21')).en).toBe('The Presentation of the Blessed Virgin Mary (Duplex Majus)');
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -293,7 +293,7 @@ describe('getDayLabel — active octave', () => {
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('a sanctoral winner on a Sunday still leaves the Sunday commemorated internally, but neither octave it also happens to overlap -- not an octave name at all, nor the plain Sunday ordinal any more', () => {
|
it('a sanctoral winner on a Sunday still shows the Sunday commemorated, but neither octave it also happens to overlap', () => {
|
||||||
// 2026-08-16 is a Sunday genuinely within both St. Lawrence's and the
|
// 2026-08-16 is a Sunday genuinely within both St. Lawrence's and the
|
||||||
// Assumption's overlapping octave windows -- St. Joachim (Duplex II
|
// Assumption's overlapping octave windows -- St. Joachim (Duplex II
|
||||||
// Class) wins outright per the ordinary-Sunday Duplex+ threshold, not
|
// Class) wins outright per the ordinary-Sunday Duplex+ threshold, not
|
||||||
@@ -304,14 +304,16 @@ describe('getDayLabel — active octave', () => {
|
|||||||
// Pentecost-counted number, so "11th ... after Trinity" internally) --
|
// Pentecost-counted number, so "11th ... after Trinity" internally) --
|
||||||
// no octave named at all, even though both are technically active,
|
// no octave named at all, even though both are technically active,
|
||||||
// same as this app's own established `ordinary-feria`-only gate for
|
// same as this app's own established `ordinary-feria`-only gate for
|
||||||
// octave mentions alongside a sanctoral winner. Per the 2026-09-05
|
// octave mentions alongside a sanctoral winner. A 2026-09-05 change
|
||||||
// label rule, the plain Sunday commemoration itself is now also
|
// had wrongly dropped the Sunday name from the label too (not just
|
||||||
// dropped from the label (still present in day.commemorations) once
|
// the octave) -- corrected 2026-09-05 (user: "the label for the day
|
||||||
// a sanctoral winner already has the primary slot.
|
// doesn't mention the sunday being commemorated"), restoring exactly
|
||||||
|
// what the reference's own commemoration line shows: the Sunday
|
||||||
|
// named, no octave.
|
||||||
const day = resolveDay('2026-08-16');
|
const day = resolveDay('2026-08-16');
|
||||||
expect(day.weekday).toBe('sunday');
|
expect(day.weekday).toBe('sunday');
|
||||||
expect(getDayLabel(day).en).toBe(
|
expect(getDayLabel(day).en).toBe(
|
||||||
'St. Joachim, Confessor, Father of the Blessed Virgin Mary (Duplex II Class)',
|
'St. Joachim, Confessor, Father of the Blessed Virgin Mary (Duplex II Class) — The 11th Sunday after Trinity',
|
||||||
);
|
);
|
||||||
expect(getDayLabel(day).en).not.toContain('Octave');
|
expect(getDayLabel(day).en).not.toContain('Octave');
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user