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
+6 -2
View File
@@ -13,6 +13,7 @@ describe('May sanctoral pull (first pass)', () => {
kind: 'sanctoral',
id: 'ss-philip-and-james',
name: 'Ss. Philip and James, Apostles',
nameLa: 'Sancti Philippus et Jacobus, Apostoli',
rank: 'duplex-2-classis',
});
expect(getDayCollect(day).status.en).toBe('verified');
@@ -29,6 +30,7 @@ describe('May sanctoral pull (first pass)', () => {
kind: 'sanctoral',
id: 'finding-of-the-holy-cross',
name: 'The Finding of the Holy Cross',
nameLa: 'Inventio Sanctæ Crucis',
rank: 'duplex-2-classis',
});
expect(may3.commemorations).toEqual([
@@ -36,6 +38,7 @@ describe('May sanctoral pull (first pass)', () => {
kind: 'sanctoral',
id: 'ss-alexander-eventius-theodulus-and-juvenal',
name: 'Ss. Alexander I, Eventius, and Theodulus, Martyrs, and Juvenal, Bishop and Confessor',
nameLa: 'Sancti Alexander, Eventius et Theodulus, Martyres, et Sanctus Juvenalis, Episcopus et Confessor',
rank: 'simplex',
},
]);
@@ -55,16 +58,17 @@ describe('May sanctoral pull (first pass)', () => {
kind: 'sanctoral',
id: 'st-peter-celestine',
name: 'St. Peter Celestine, Pope and Confessor',
nameLa: 'Sanctus Petrus Cœlestinus, Papa et Confessor',
rank: 'duplex',
});
expect(may19.commemorations).toEqual([
{ kind: 'sanctoral', id: 'st-pudentiana', name: 'St. Pudentiana, Virgin', rank: 'simplex' },
{ kind: 'sanctoral', id: 'st-pudentiana', name: 'St. Pudentiana, Virgin', nameLa: 'Sancta Pudentiana, Virgo', rank: 'simplex' },
]);
});
it('a saint with no proper collect of his own resolves via the Common of an Abbot instead', () => {
const day = resolveDay('2038-05-22'); // St. Romanus, Abbot
expect(day.winner).toEqual({ kind: 'sanctoral', id: 'st-romanus-abbot', name: 'St. Romanus, Abbot', rank: 'duplex' });
expect(day.winner).toEqual({ kind: 'sanctoral', id: 'st-romanus-abbot', name: 'St. Romanus, Abbot', nameLa: 'Sanctus Romanus, Abbas', rank: 'duplex' });
expect(getDayCollect(day).status.en).toBe('verified');
});
});