Author Benedictus antiphons for the remaining 26 propers:null saints
Deploy / deploy (push) Successful in 57s
Deploy / deploy (push) Successful in 57s
Completes the 94-saint batch's Benedictus-antiphon coverage. A saint with a genuine proper collect doesn't imply a genuine proper antiphon, same finding as St. Martin of Tours's mixed proper/shared split from the original 29-saint pass: of the 26, 15 are genuinely unwinnable stubs (already documented from the collects pass -- always commemorated, never the day's own title, so nothing to live-query) and left honestly missing, matching St. Frances of Rome/St. Bibiana's precedent from the original 109-saint pass; 7 of the remaining 11 turned out to render byte-identical to an already-authored Common category (benedictusCommon wired directly, no new content) -- including Ss. Dionysius and Companions, whose own `common` field says common-of-a-martyr-bishop but whose live-verified minor-hour text actually matches common-of-several-martyrs, another case (like Chair of St. Peter earlier) where the two fields genuinely diverge. The other 4 have real unique text of their own: All Saints of the Benedictine Order, St. Agnes (secunda), St. Benedict (no English in the source, translated and marked draft, same gap as St. Scholastica's), and the Vigil of St. John the Baptist (deliberately echoing the Benedictus canticle's own opening words). P/T/S/N for these 26 not attempted here -- a further layer on top, same as how the original 109 got Benedictus antiphons long before their own later, separate P/T/S/N pass. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -71,6 +71,31 @@ describe('minorHoursCommon/benedictusCommon fallback (2026-08, the 94 propers:nu
|
||||
});
|
||||
});
|
||||
|
||||
describe('the 26 propers-set saints from the 94-saint batch (2026-08)', () => {
|
||||
it('a saint with a genuine proper collect can still share its Benedictus antiphon with a Common category (benedictusCommon)', () => {
|
||||
// Ss. Dionysius and Companions -- own proper collect (propers is
|
||||
// set), but live-verified byte-identical to common-of-several-
|
||||
// martyrs's Benedictus antiphon, so getBenedictusAntiphon falls
|
||||
// through to benedictusCommon rather than a nonexistent
|
||||
// ss-dionysius-and-companions-antiphon.yml.
|
||||
const day = resolveDay('2025-10-09');
|
||||
expect(day.winner).toMatchObject({ kind: 'sanctoral', id: 'ss-dionysius-and-companions' });
|
||||
expect(getBenedictusAntiphon(day).status).toEqual({ la: 'verified', en: 'verified' });
|
||||
});
|
||||
|
||||
it("a saint with genuinely unique Benedictus antiphon text resolves its own proper file, not a Common", () => {
|
||||
// St. Benedict -- own proper text ("Sanctíssime Conféssor Dómini...",
|
||||
// st-benedict-antiphon.yml), sourced from the source's Latin-only
|
||||
// page (no English rendering, same gap as St. Scholastica's), so
|
||||
// English is a translation and stays `draft`.
|
||||
const day = resolveDay('2025-03-21');
|
||||
expect(day.winner).toMatchObject({ kind: 'sanctoral', id: 'st-benedict' });
|
||||
const ben = getBenedictusAntiphon(day);
|
||||
expect(ben.status).toEqual({ la: 'verified', en: 'draft' });
|
||||
expect(ben.text.la).toContain('Benedícte');
|
||||
});
|
||||
});
|
||||
|
||||
describe('splitNamedAntiphon', () => {
|
||||
it('carries a verified status through to both the incipit and full forms', () => {
|
||||
const { incipit, full } = splitNamedAntiphon({
|
||||
|
||||
Reference in New Issue
Block a user