Import Finding/Exaltation of the Holy Cross's own proper Lauds/Vespers content
Deploy / deploy (push) Successful in 1m18s

Fully proper feast, live-verified against Divinum Officium (Monastic
Tridentinum 1617), 2027-05-03 for the Finding (its own 2026 date
collides with a privileged Sunday) and 2026-09-14 for the Exaltation.
Own chapter (Phil 2:5-7), own distinct responsory/hymn/versicle at each
hour -- Lauds hymn "Lustris sex qui jam peráctis," Vespers hymn "Vexílla
Regis pródeunt," both with real Alleluias baked into their own text
(confirmed permanent via the Vespers hymn's own "In hoc Pascháli gáudio"
line, not seasonal contamination).

Authored under two ids (finding-of-the-holy-cross and proper-to-the-
finding-of-the-holy-cross): Exaltation's own saint file sets common:
proper-to-the-finding-of-the-holy-cross, a different id than its propers
field (a separate day-collect/antiphon lookup) -- without the second
copy, resolveOfficeBundle fell through to the ferial default for her.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014axryJBrRswYh2niA7WCUc
This commit is contained in:
2026-08-26 10:58:07 -04:00
parent 5ec3394644
commit e19762ed17
17 changed files with 839 additions and 0 deletions
+17
View File
@@ -362,6 +362,23 @@ describe('resolveOrdo("lauds", ...)', () => {
expect(hymn?.kind === 'hymn' ? hymn.text.text.la : undefined).toContain('O gloriósa Dómina');
});
it("resolves the Finding and Exaltation of the Holy Cross's own proper chapter/hymn (shared content, two ids)", () => {
// Live-verified against Divinum Officium (Monastic Tridentinum
// 1617): Finding, 2027-05-03 (2026 collides with a privileged
// Sunday); Exaltation, 2026-09-14 (its own real day). See lauds-
// capitulum-finding-of-the-holy-cross.yml's and -proper-to-the-
// finding-of-the-holy-cross.yml's headers.
const finding = resolveOrdo('lauds', '2027-05-03');
const findingChapter = finding.parts.find((p) => p.kind === 'chapter');
expect(findingChapter?.kind === 'chapter' ? findingChapter.text.citation?.en : undefined).toBe('Phil 2:5-7');
const findingHymn = finding.parts.find((p) => p.kind === 'hymn');
expect(findingHymn?.kind === 'hymn' ? findingHymn.text.text.la : undefined).toContain('Lustris sex qui jam peráctis');
const exaltation = resolveOrdo('lauds', '2026-09-14');
const exaltationHymn = exaltation.parts.find((p) => p.kind === 'hymn');
expect(exaltationHymn?.kind === 'hymn' ? exaltationHymn.text.text.la : undefined).toContain('Lustris sex qui jam peráctis');
});
it('includes the Kyrie + Our Father lead-in right after the Benedictus, before the day collect (either form)', () => {
const ordo = resolveOrdo('lauds', FERIAL_TUESDAY);
const litanyIndex = ordo.parts.findIndex((p) => p.kind === 'preces' && p.text.text.la?.includes('Kýrie, eléison'));
+9
View File
@@ -374,6 +374,15 @@ describe('resolveOrdo("vespers", ...)', () => {
expect(hymn?.kind === 'hymn' ? hymn.text.text.la : undefined).toContain('Ave maris stella');
});
it("resolves the Finding of the Holy Cross's own proper Vespers hymn ('Vexilla Regis')", () => {
// Live-verified against Divinum Officium (Monastic Tridentinum
// 1617), 2027-05-03 (Duplex II. classis, keeps own Second Vespers).
// See lauds-capitulum-finding-of-the-holy-cross.yml's header.
const ordo = resolveOrdo('vespers', '2027-05-03');
const hymn = ordo.parts.find((p) => p.kind === 'hymn');
expect(hymn?.kind === 'hymn' ? hymn.text.text.la : undefined).toContain('Vexílla Regis pródeunt');
});
it("renders Passiontide's seasonal office, with the Gloria Patri omitted from the responsory", () => {
// 2026-03-30 is Holy Monday (Passion Sunday 2026-03-22 through Holy
// Saturday 2026-04-04) -- deliberately not 03-25, the Annunciation's