Author real proper Matins/Vespers content for the Nativity of St. John the Baptist
Deploy / deploy (push) Successful in 1m30s
Deploy / deploy (push) Successful in 1m30s
nativity-of-st-john-the-baptist.yml's `common` field (common-of-an-apostle)
was the same mistaken placeholder as the Beheading's, but this feast
needed a different fix: the reference engine assigns it no Commune at
all -- every [Rule] line in Sancti/06-24.txt and SanctiM/06-24.txt points
to proper text, never a Commune category -- so there's no better-fitting
id to swap in either.
Authored the real proper content that was still falling through to the
apostle Common, live-verified against the local Divinum Officium CGI
instance (Monastic Tridentinum 1617):
- Matins invitatory antiphon ("Regem Præcursóris Dóminum")
- Matins hymn ("Antra desérti téneris," with the Monastic doxology
substitution already used by this feast's own Lauds/Vespers hymns)
- Full Matins Nocturn 1-3 psalmody + nocturn versicles (Nocturn 1/2 reuse
St. Lawrence's own shared psalm-number pool per "Psalmi Dominica";
Nocturn 3 reuses St. Lawrence's own canticle scripture files verbatim,
since the citations are identical)
- Vespers psalmody (only 4 psalm slots at this Monastic rank, not 5 as a
naive reading of the raw Ant Vespera list would suggest)
- Nocturn 2/3 responsories on the existing nocturn-readings file
`common: common-of-an-apostle` is left in place as a fully inert
placeholder (a non-optional field with no better id available) with an
updated comment explaining why.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WvnBMq7HGfXRyMsVLu2v4D
This commit is contained in:
@@ -469,6 +469,24 @@ describe('resolveOrdo("vespers", ...)', () => {
|
||||
expect(hymn?.kind === 'hymn' ? hymn.text.text.la : undefined).toContain('Deus tuórum mílitum');
|
||||
});
|
||||
|
||||
it("resolves the Nativity of St. John the Baptist's own proper Vespers psalmody (2026-06-24), not the apostle Common's", () => {
|
||||
// Regression test: nativity-of-st-john-the-baptist.yml's `common`
|
||||
// field (common-of-an-apostle) used to leak into Vespers psalmody
|
||||
// since no proper override existed. The reference engine's own
|
||||
// Second Vespers (live-verified) uses only 4 psalms (109/110/111/112),
|
||||
// each with its own proper antiphon.
|
||||
const ordo = resolveOrdo('vespers', '2026-06-24');
|
||||
const psalms = ordo.parts.filter((p) => p.kind === 'psalm') as {
|
||||
psalmNumber: number;
|
||||
antiphon?: { text: Record<string, string> };
|
||||
}[];
|
||||
const psalm109 = psalms.find((p) => p.psalmNumber === 109);
|
||||
const psalm112 = psalms.find((p) => p.psalmNumber === 112);
|
||||
expect(psalm109?.antiphon?.text.la).toContain('Elísabeth Zacharíæ');
|
||||
expect(psalm112?.antiphon?.text.la).toContain('Tu, puer');
|
||||
expect(psalms.some((p) => p.antiphon?.text.la?.includes('Cóllocet eum'))).toBe(false);
|
||||
});
|
||||
|
||||
it("no longer gives St. Margaret of Scotland First Vespers now that Corpus Christi's own octave is modeled", () => {
|
||||
// St. Margaret of Scotland (Jun 10, Semiduplex, common-of-a-widow --
|
||||
// content itself live-verified 2026-08-26 to be real, identical to
|
||||
|
||||
Reference in New Issue
Block a user