Author real proper Matins/Vespers content for the Nativity of St. John the Baptist
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:
2026-08-29 06:24:33 -04:00
parent d4ec104d59
commit a6e4bb15b1
8 changed files with 286 additions and 5 deletions
+18
View File
@@ -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