Bulk-author nameLa for all 299 remaining saints, close bilingual header backlog
Deploy / deploy (push) Successful in 1m31s

Authors a real Latin nameLa for every saint in src/data/calendar/saints/
except the deliberate example-confessor placeholder (standard
ecclesiastical Latin forms, a lighter sourcing bar than this app's usual
reference-engine verification -- flagged for future spot-check). Fixes a
real mechanism bug found in the process: calendar/index.ts's sanctoral
collision-resolution branch was dropping nameLa for any saint that won
after beating another same-day candidate. Updates ~180 pre-existing test
fixtures across the calendar suite for the new field.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EwsZQMjALCvy7u9tFDWmuQ
This commit is contained in:
2026-08-31 06:44:10 -04:00
parent a6261f044a
commit 514300821a
321 changed files with 460 additions and 70 deletions
+5 -2
View File
@@ -13,6 +13,7 @@ describe('January sanctoral pull (first pass)', () => {
kind: 'sanctoral',
id: 'st-marcellus-i',
name: 'St. Marcellus I, Pope and Martyr',
nameLa: 'Sanctus Marcellus I, Papa et Martyr',
rank: 'semiduplex',
});
const collect = getDayCollect(day);
@@ -26,6 +27,7 @@ describe('January sanctoral pull (first pass)', () => {
kind: 'sanctoral',
id: 'st-anthony-abbot',
name: 'St. Anthony, Abbot',
nameLa: 'Sanctus Antonius, Abbas',
rank: 'duplex',
});
const collect = getDayCollect(day);
@@ -38,10 +40,11 @@ describe('January sanctoral pull (first pass)', () => {
kind: 'sanctoral',
id: 'chair-of-st-peter-at-rome',
name: 'The Chair of St. Peter at Rome',
nameLa: 'Cathedra Sancti Petri Romæ',
rank: 'duplex-majus',
});
expect(day.commemorations).toEqual([
{ kind: 'sanctoral', id: 'st-prisca', name: 'St. Prisca, Virgin and Martyr', rank: 'simplex' },
{ kind: 'sanctoral', id: 'st-prisca', name: 'St. Prisca, Virgin and Martyr', nameLa: 'Sancta Prisca, Virgo et Martyr', rank: 'simplex' },
]);
});
@@ -54,7 +57,7 @@ describe('January sanctoral pull (first pass)', () => {
const day = resolveDay('2029-01-14');
expect(day.winner).toEqual({ kind: 'temporal', id: 'post-epiphany-2' });
expect(day.commemorations).toEqual([
{ kind: 'sanctoral', id: 'st-felix-presbyter', name: 'St. Felix, Priest and Martyr', rank: 'simplex' },
{ kind: 'sanctoral', id: 'st-felix-presbyter', name: 'St. Felix, Priest and Martyr', nameLa: 'Sanctus Felix, Presbyter et Martyr', rank: 'simplex' },
]);
});
});