Author Common-of-a-Confessor-Bishop Lauds/Vespers chapter/responsory/hymn/versicle
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:
2026-08-26 07:50:38 -04:00
parent 52d6810f3a
commit 716937b8f9
10 changed files with 348 additions and 2 deletions
+22
View File
@@ -2880,6 +2880,28 @@ Woman/Widow), plus the ~31 individual saints found to have their own real `ex Pr
Sanctorum` content in the reference source rather than a shared Common (need per-saint import, Sanctorum` content in the reference source rather than a shared Common (need per-saint import,
not a category-level fix). not a category-level fix).
### Common-of-a-Confessor-Bishop Lauds/Vespers bundle authored (2026-08-26)
Same fix pattern, third category (17 real users). 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." One real
finding: this category's **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 (confirmed via `votive=C4` vs `C5`
not a copy-paste mistake). Reused the already-authored Latin/English verbatim from `vespers-
hymn-common-of-a-confessor-not-bishop.yml` rather than re-deriving it. No real Duplex-II-classis+
saint exists in this category (all Simplex/Semiduplex/plain-Duplex, same structural pattern as
the other categories so far), so the Vespers proof uses St. Ubald's real First-Vespers
anticipation (May 15 evening → May 16) instead of a votive-only proof.
Updates one existing test whose date turned out to also anticipate St. Anselm's First Vespers
(04-20 → 04-21), previously masked by this same gap — the Paschaltide-seasonal-office proof,
moved to the clean 04-18, same "collision unmasked by the fix" pattern as the Several-Martyrs
entry above.
`npm test` (482 tests), `tsc --noEmit` both pass. **Still open**: 7 Common categories remain
(Confessor, Virgin, Virgin-Martyr, Doctor, Apostle, Several-Confessors, Holy Woman/Widow).
## Known, deliberate simplifications (not bugs — working as designed) ## Known, deliberate simplifications (not bugs — working as designed)
- `getDayCollects`: each collect in a multi-collect day renders as its own - `getDayCollects`: each collect in a multi-collect day renders as its own
@@ -0,0 +1,15 @@
# Verified against Divinum Officium (Monastic Tridentinum 1617), Lauds
# `votive=C4` live query, 2026-08 -- same votive-office-view reasoning as
# vespers-hymn-common-of-a-martyr-bishop.yml's header. Same chapter reused
# for Vespers -- no separate vespers-capitulum-<id> file authored, per
# vespers.ts's vespersCapitulumForOverride fallback.
id: lauds-capitulum-common-of-a-confessor-bishop
text:
la: "Ecce sacérdos magnus, qui in diébus suis plácuit Deo, et invéntus est justus: et in témpore iracúndiæ factus est reconciliátio."
en: "Behold an high priest, who in his days pleased God, and was found righteous, and in the time of wrath he was made a propitiation."
citation:
la: "Sir 44:16-17"
en: "Sir 44:16-17"
status:
la: verified
en: verified
@@ -0,0 +1,101 @@
# Verified against Divinum Officium (Monastic Tridentinum 1617), Lauds
# `votive=C4` live query, 2026-08 -- see lauds-capitulum-common-of-a-
# confessor-bishop.yml's header for why the votive-office view was used.
# "Jesu Redémptor ómnium" -- a genuinely distinct Lauds hymn from Common-
# of-a-Confessor-Not-Bishop's own "Jesu coróna célsior" (TODO.md's own
# earlier finding, from the votive-office naming: C4 = "Confessoris
# Pontificis," C5 = "Confessoris non Pontificis," two real separate
# categories, not a naming coincidence).
id: lauds-hymn-common-of-a-confessor-bishop
text:
la: >-
Jesu Redémptor ómnium,
Perpes coróna Prǽsulum,
In hac die cleméntius
Nostris favéto précibus.
Tui sacri qua nóminis
Conféssor almus cláruit:
Hujus celébrat ánnua
Devóta plebs solémnia.
Qui rite mundi gáudia
Hujus cadúca réspuens,
Cum Ángelis cæléstibus
Lætus potítur prǽmiis.
Hujus benígnus ánnue
Nobis sequi vestígia:
Hujus precátu, sérvulis
Dimítte noxam críminis.
Sit Christe, Rex piíssime,
Tibi, Patríque glória,
Cum Spíritu Paráclito,
Et nunc, et in perpétuum. Amen.
en: >-
Jesu, the world's Redeemer, O hear;
thy bishops' fadeless crown, draw near:
Accept with gentlest love today
The prayers and praises that we pay.
The meek confessor of thy name
Today attained a glorious fame;
Whose yearly feast, in solemn state,
Thy faithful people celebrate.
The world and all its boasted good,
As vain and passing, he eschewed;
And therefore with angelic bands,
In endless joy forever stands.
Grant then that we, most gracious God,
May follow in the steps he trod:
And, at his prayer, thy servants free
From stain of all iniquity.
To thee, O Christ, our loving King,
All glory, praise, and thanks we bring:
All glory, as is ever meet,
To Father and to Paraclete. Amen.
status:
la: verified
en: verified
@@ -0,0 +1,22 @@
# Verified against Divinum Officium (Monastic Tridentinum 1617), Lauds
# `votive=C4` live query, 2026-08 -- see lauds-capitulum-common-of-a-
# confessor-bishop.yml's header for why the votive-office view was used.
id: lauds-responsory-common-of-a-confessor-bishop
text:
la: |
R.br. Amávit eum Dóminus, * Et ornávit eum.
℟. Amávit eum Dóminus, * Et ornávit eum.
℣. Stolam glóriæ índuit eum.
℟. Et ornávit eum.
℣. Glória Patri, et Fílio, * et Spirítui Sancto.
℟. Amávit eum Dóminus, * Et ornávit eum.
en: |
R.br. The Lord loved him, * and beautified him.
℟. The Lord loved him, * and beautified him.
℣. He clothed him with a robe of glory.
℟. And beautified him.
℣. Glory be to the Father, and to the Son, * and to the Holy Ghost.
℟. The Lord loved him, * and beautified him.
status:
la: verified
en: verified
@@ -0,0 +1,14 @@
# Verified against Divinum Officium (Monastic Tridentinum 1617), Lauds
# `votive=C4` live query, 2026-08 -- same versicle as Vespers (see
# vespers-versicle-common-of-a-confessor-bishop.yml).
id: lauds-versicle-common-of-a-confessor-bishop
text:
la: |
℣. Justum dedúxit Dóminus per vias rectas.
℟. Et osténdit illi regnum Dei.
en: |
℣. The Lord guided the just in right paths.
℟. And showed him the kingdom of God.
status:
la: verified
en: verified
@@ -0,0 +1,107 @@
# Verified against Divinum Officium (Monastic Tridentinum 1617), Vespers
# `votive=C4` live query, 2026-08 -- byte-identical Latin to Common-of-a-
# Confessor-Not-Bishop's own Vespers hymn ("Iste Conféssor Dómini
# sacrátus," the Monastic-track pre-Urban VIII recension -- see that
# file's own header for the textual-variant note). A real, confirmed
# overlap, not a copy-paste mistake: the reference engine's C4 (Confessor
# Bishop) and C5 (Confessor Not Bishop) votive views render the identical
# Vespers hymn text, even though their Lauds hymns, chapters, and
# responsories all genuinely differ (see lauds-hymn-common-of-a-
# confessor-bishop.yml's header). Latin and English (an original
# translation, not the reference engine's own, for the same reason
# recorded in the Confessor-Not-Bishop file) reused verbatim from
# vespers-hymn-common-of-a-confessor-not-bishop.yml rather than
# re-translated, for consistency across the two categories that share it.
id: vespers-hymn-common-of-a-confessor-bishop
text:
la: >-
Iste Conféssor Dómini sacrátus,
Festa plebs cujus celébrat per orbem,
Hódie lætus méruit secréta
Scándere cæli.
Qui pius, prudens, húmilis, pudícus,
Sóbrius, castus fuit et quiétus,
Vita dum præsens vegetávit ejus
Córporis artus.
Ob sacrum cujus túmulum frequénter
Membra languéntum modo sanitáti,
Quólibet morbo fúerint graváta,
Restituúntur.
Unde nunc noster chorus in honórem
Ipsius, hymnum canit hunc libénter:
Ut piis ejus méritis juvémur
Omne per ævum.
Sit salus illi, decus atque virtus,
Qui supra cæli résidens cacúmen,
Tótius mundi máchinam gubérnat
Trinus et unus. Amen.
en: >-
This is the Lord's own hallowed confessor,
Whose feast today the nations round are keeping;
Joyful, he merited this day to enter
Heaven's hid glory.
Dutiful, prudent, humble, chaste, he flourished,
Sober and quiet, pure in all his living,
While in his body yet the breath of this life
Quickened his members.
Often at his consecrated tomb, the
Limbs of those worn by long and grievous sickness,
Whatsoever ill had laid them low, are
Wholly restored.
Therefore our choir today, in glad thanksgiving,
Sings in his honor this our joyful anthem:
That by his merits, freely won through goodness,
We may be aided.
Praise be to Him, all honor, might, dominion,
Who from the height of heaven's throne is reigning,
Governing all the fabric of creation,
Three and yet One. Amen.
status:
la: verified
en: draft
@@ -0,0 +1,22 @@
# Verified against Divinum Officium (Monastic Tridentinum 1617), Vespers
# `votive=C4` live query, 2026-08 -- see lauds-capitulum-common-of-a-
# confessor-bishop.yml's header for why the votive-office view was used.
id: vespers-responsory-common-of-a-confessor-bishop
text:
la: |
R.br. Elégit eum Dóminus * Sacerdótem sibi.
℟. Elégit eum Dóminus * Sacerdótem sibi.
℣. Ad sacrificándum ei hóstiam laudis.
℟. Sacerdótem sibi.
℣. Glória Patri, et Fílio, * et Spirítui Sancto.
℟. Elégit eum Dóminus * Sacerdótem sibi.
en: |
R.br. The Lord hath chosen him * for a Priest unto Himself.
℟. The Lord hath chosen him * for a Priest unto Himself.
℣. To offer up unto Him the sacrifice of praise.
℟. For a Priest unto Himself.
℣. Glory be to the Father, and to the Son, * and to the Holy Ghost.
℟. The Lord hath chosen him * for a Priest unto Himself.
status:
la: verified
en: verified
@@ -0,0 +1,14 @@
# Verified against Divinum Officium (Monastic Tridentinum 1617), Vespers
# `votive=C4` live query, 2026-08 -- same versicle as Lauds (see lauds-
# versicle-common-of-a-confessor-bishop.yml).
id: vespers-versicle-common-of-a-confessor-bishop
text:
la: |
℣. Justum dedúxit Dóminus per vias rectas.
℟. Et osténdit illi regnum Dei.
en: |
℣. The Lord guided the just in right paths.
℟. And showed him the kingdom of God.
status:
la: verified
en: verified
+11
View File
@@ -170,6 +170,17 @@ describe('resolveOrdo("lauds", ...)', () => {
expect(hymn?.kind === 'hymn' ? hymn.text.text.la : undefined).toContain('Martyr Dei, qui únicum'); expect(hymn?.kind === 'hymn' ? hymn.text.text.la : undefined).toContain('Martyr Dei, qui únicum');
}); });
it("uses Common-of-a-Confessor-Bishop's real office bundle on St. Ubald's own day, not the ferial default", () => {
// St. Ubald (May 16, Semiduplex, common-of-a-confessor-bishop) has no
// proper Lauds content of his own -- see vespers-hymn-common-of-a-
// confessor-bishop.yml's header.
const ordo = resolveOrdo('lauds', '2026-05-16');
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('Jesu Redémptor ómnium');
});
it('includes the Kyrie + Our Father lead-in right after the Benedictus, before the day collect (either form)', () => { 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 ordo = resolveOrdo('lauds', FERIAL_TUESDAY);
const litanyIndex = ordo.parts.findIndex((p) => p.kind === 'preces' && p.text.text.la?.includes('Kýrie, eléison')); const litanyIndex = ordo.parts.findIndex((p) => p.kind === 'preces' && p.text.text.la?.includes('Kýrie, eléison'));
+20 -2
View File
@@ -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", () => { 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 // 2026-03-25 is a Wednesday in Passiontide (Passion Sunday 2026-03-22
// through Holy Saturday 2026-04-04). // through Holy Saturday 2026-04-04).
@@ -299,8 +312,13 @@ describe('resolveOrdo("vespers", ...)', () => {
}); });
it("renders Paschaltide's seasonal office, sharing its chapter with Lauds", () => { it("renders Paschaltide's seasonal office, sharing its chapter with Lauds", () => {
// 2026-04-20 is in eastertide (Easter 2026-04-05). // 2026-04-18 is in eastertide (Easter 2026-04-05) -- deliberately not
const ordo = resolveOrdo('vespers', '2026-04-20'); // 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'); const chapter = ordo.parts.find((p) => p.kind === 'chapter');
expect(chapter?.kind === 'chapter' ? chapter.text.citation?.en : undefined).toBe('Rom 6:9-10'); expect(chapter?.kind === 'chapter' ? chapter.text.citation?.en : undefined).toBe('Rom 6:9-10');
const hymn = ordo.parts.find((p) => p.kind === 'hymn'); const hymn = ordo.parts.find((p) => p.kind === 'hymn');