Author Common-of-a-Confessor-Bishop Lauds/Vespers chapter/responsory/hymn/versicle
Deploy / deploy (push) Successful in 1m22s
Deploy / deploy (push) Successful in 1m22s
Third Common category (17 real users) with no Lauds/Vespers bundle
authored. Live-verified against Divinum Officium (Monastic Tridentinum
1617) votive=C4: chapter Sir 44:16-17 "Ecce sacérdos magnus," Lauds hymn
"Jesu Redémptor ómnium," shared versicle "Justum dedúxit Dóminus per vias
rectas." Found the Vespers hymn is byte-identical to Common-of-a-
Confessor-Not-Bishop's own ("Iste Conféssor Dómini sacrátus") even though
the chapter, both responsories, and the Lauds hymn all genuinely differ
between the two categories -- reused that already-authored text verbatim
rather than re-deriving it.
No real Duplex-II-classis+ saint exists in this category, so the Vespers
proof uses St. Ubald's real First-Vespers anticipation instead of a
votive-only proof. Updates one existing test (2026-04-20, Paschaltide
seasonal office) whose date turned out to also anticipate St. Anselm's
First Vespers, previously masked by this same gap.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014axryJBrRswYh2niA7WCUc
This commit is contained in:
@@ -250,6 +250,19 @@ describe('resolveOrdo("vespers", ...)', () => {
|
||||
}
|
||||
});
|
||||
|
||||
it("uses Common-of-a-Confessor-Bishop's real office bundle for St. Ubald's First Vespers", () => {
|
||||
// St. Ubald (May 16, Semiduplex, common-of-a-confessor-bishop) claims
|
||||
// First Vespers over May 15's own evening (no stronger rival that
|
||||
// year). Live-verified against Divinum Officium (Monastic Tridentinum
|
||||
// 1617) votive=C4 -- see vespers-hymn-common-of-a-confessor-bishop.yml's
|
||||
// header.
|
||||
const ordo = resolveOrdo('vespers', '2026-05-15');
|
||||
const chapter = ordo.parts.find((p) => p.kind === 'chapter');
|
||||
expect(chapter?.kind === 'chapter' ? chapter.text.citation?.en : undefined).toBe('Sir 44:16-17');
|
||||
const hymn = ordo.parts.find((p) => p.kind === 'hymn');
|
||||
expect(hymn?.kind === 'hymn' ? hymn.text.text.la : undefined).toContain('Iste Conféssor Dómini sacrátus');
|
||||
});
|
||||
|
||||
it("renders Passiontide's seasonal office, with the Gloria Patri omitted from the responsory", () => {
|
||||
// 2026-03-25 is a Wednesday in Passiontide (Passion Sunday 2026-03-22
|
||||
// through Holy Saturday 2026-04-04).
|
||||
@@ -299,8 +312,13 @@ describe('resolveOrdo("vespers", ...)', () => {
|
||||
});
|
||||
|
||||
it("renders Paschaltide's seasonal office, sharing its chapter with Lauds", () => {
|
||||
// 2026-04-20 is in eastertide (Easter 2026-04-05).
|
||||
const ordo = resolveOrdo('vespers', '2026-04-20');
|
||||
// 2026-04-18 is in eastertide (Easter 2026-04-05) -- deliberately not
|
||||
// 04-20, whose own evening (as of the Common-of-a-Confessor-Bishop
|
||||
// office-bundle authoring below) now correctly anticipates St.
|
||||
// Anselm's First Vespers on 04-21 instead of falling through to this
|
||||
// seasonal default; 04-18's own evening has no adjacent sanctoral
|
||||
// saint at all, so it stays a clean plain-Paschaltide proof.
|
||||
const ordo = resolveOrdo('vespers', '2026-04-18');
|
||||
const chapter = ordo.parts.find((p) => p.kind === 'chapter');
|
||||
expect(chapter?.kind === 'chapter' ? chapter.text.citation?.en : undefined).toBe('Rom 6:9-10');
|
||||
const hymn = ordo.parts.find((p) => p.kind === 'hymn');
|
||||
|
||||
Reference in New Issue
Block a user