Author Sunday's own Matins hymn and every season's (Advent-Paschaltide)
The "genuinely more complex, not-yet-understood two-hymn mechanism"
flagged for Sunday turned out simple: Day0 Hymnus ("Nocte surgéntes")
is just Sunday's plain per-annum hymn, and Day0 Hymnus1 ("Primo
diérum ómnium") is Septuagesima-tide's own separate seasonal hymn --
the same shape Advent/Lent/Passiontide/Paschaltide each already have.
Live-verified these 4 don't vary by weekday within their season (a
Lenten Sunday and a Lenten feria render identically). None of the 6
were authored at all before this -- every Sunday and every season day
not otherwise overridden by a winning saint/octave silently fell
through to Monday's own ferial placeholder text.
Authored matins-hymn-{sunday,septuagesima,advent,lent,passiontide,
paschaltide}.yml, all live-verified, self-contained with their own
real closing doxology baked in. Septuagesima is checked directly by
day.season in resolveMatinsHymn itself, deliberately not folded into
the shared seasonalOfficeSuffix (Lauds/Vespers have no matching
content yet -- resolveOfficeBundle there is all-or-nothing per feast,
so adding it would silently blank their chapter/hymn instead of
falling through to their current weekday default).
Known, flagged simplification: the generic Paschaltide hymn wrongly
applies during the Ascension octave, whose own real hymn isn't
authored anywhere yet -- a same-shape gap Lauds already has, not a
new regression. Updated 2 FERIAL_DATE (a Tuesday in Advent) hymn
assertions that had been asserting Tuesday's own ferial text --
Advent's own seasonal hymn correctly outranks the weekday cycle now.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AGjUyhUZJaSjiniEmnLdak
This commit is contained in:
@@ -774,9 +774,9 @@ describe('resolveOrdo("matins", ...) Assumption-octave hymn fallback (2026-08-22
|
||||
});
|
||||
|
||||
it("a plain ferial day outside the octave still gets the plain ferial hymn, unaffected", () => {
|
||||
// FERIAL_DATE (2026-12-01) is a Tuesday -- see the identical note on
|
||||
// the other FERIAL_DATE hymn assertion below.
|
||||
expect(hymnLatin(FERIAL_DATE)).toContain('Consors patérni lúminis');
|
||||
// FERIAL_DATE (2026-12-01) is a Tuesday in Advent -- see the identical
|
||||
// note on the other FERIAL_DATE hymn assertion below.
|
||||
expect(hymnLatin(FERIAL_DATE)).toContain('Verbum supérnum, pródiens');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1074,11 +1074,12 @@ describe('resolveOrdo("matins", ...) Common-of-an-Apostle hymn + invitatory (202
|
||||
});
|
||||
|
||||
it('a plain ferial day is unaffected -- still falls through to the plain ferial hymn and invitatory antiphon', () => {
|
||||
// FERIAL_DATE (2026-12-01) is a Tuesday, so this is Tuesday's own
|
||||
// ferial hymn ("Consors patérni lúminis") since 2026-09-04's weekday-
|
||||
// specific hymn fix -- previously every weekday fell through to the
|
||||
// same (mislabeled) Monday text ("Somno reféctis ártubus").
|
||||
expect(hymnLatin(FERIAL_DATE)).toContain('Consors patérni lúminis');
|
||||
// FERIAL_DATE (2026-12-01) is a Tuesday in Advent, so since Advent's
|
||||
// own Matins hymn was authored (2026-09-04), this is Advent's own
|
||||
// seasonal hymn ("Verbum supérnum, pródiens"), not Tuesday's own
|
||||
// ferial one -- season outranks weekday in resolveMatinsHymn's own
|
||||
// precedence, same as everywhere else.
|
||||
expect(hymnLatin(FERIAL_DATE)).toContain('Verbum supérnum, pródiens');
|
||||
expect(invitatoryFullLatin(FERIAL_DATE)).toContain('Veníte');
|
||||
expect(invitatoryFullLatin(FERIAL_DATE)).not.toContain('Regem Apostolórum');
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user