From e1595e05ec7af99981e9b41773e56e9a762a2d7f Mon Sep 17 00:00:00 2001 From: Will Estes Date: Mon, 31 Aug 2026 06:00:22 -0400 Subject: [PATCH] Add St. Juan Diego (Dec 9) Sourced from the reference engine's national-calendar file (canonized 2002, outside both Tridentine 1906 and Divino Afflatu 1954). Source rank "Duplex optional" has no FeastClass slot; mapped to Duplex then deflated one tier to Semiduplex per the late-canonization rule. Live- verified he's actually a commemoration, not the day's winner: Dec 9 falls inside the Immaculate Conception octave, whose elevated wins:duplex threshold outranks a plain Semiduplex. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01EwsZQMjALCvy7u9tFDWmuQ --- src/data/calendar/saints/st-juan-diego.yml | 29 ++++++++++++++++++++++ src/data/calendar/sanctoral-calendar.yml | 1 + 2 files changed, 30 insertions(+) create mode 100644 src/data/calendar/saints/st-juan-diego.yml diff --git a/src/data/calendar/saints/st-juan-diego.yml b/src/data/calendar/saints/st-juan-diego.yml new file mode 100644 index 0000000..e1f2f9c --- /dev/null +++ b/src/data/calendar/saints/st-juan-diego.yml @@ -0,0 +1,29 @@ +# Read directly from the reference engine: Sancti/12-09n.txt -- +# "S. Juan Diego;;Duplex optional;;2.5;;vide C5" (Common of a Confessor +# Not a Bishop) -- an `n` (national-calendar) file, not part of either +# Tridentine 1906 or Divino Afflatu 1954 (canonized 2002, added to the +# Mexican/US calendars afterward). "Duplex optional" isn't a real +# historical rank at all (a post-Vatican-II ranking concept vu's +# FeastClass scale has no slot for) -- mapped here to an ordinary Duplex +# first, then deflated one tier to Semiduplex per the standing +# late-canonization rule (St. Rose of Lima precedent, CLAUDE.md). Live +# resolveDay check (2026-12-09): Semiduplex alone would clear +# privileged-feria-minor's own threshold, but Dec 9 falls within the +# Immaculate Conception's octave, whose elevated `wins: duplex` +# threshold (calendar/octaves.ts) outranks a plain Semiduplex -- so he's +# demoted to a commemoration and the Advent feria keeps the day, same +# actual behavior as St. Damasus at Dec 11 (that file's own header +# comment predates the octave-wins-class rework and is stale on this +# point). No unique collect/antiphon in the source -- Common of a +# Confessor Not a Bishop only, same profile as st-hyacinth.yml. +id: st-juan-diego +name: "St. Juan Diego, Confessor" +rank: semiduplex +common: common-of-a-confessor +propers: null +collectCommon: collect-c5 +collectName: + la: ["Joánnis Dídaci"] + en: ["Juan Diego"] +benedictusCommon: common-of-a-confessor +minorHoursCommon: common-of-a-confessor diff --git a/src/data/calendar/sanctoral-calendar.yml b/src/data/calendar/sanctoral-calendar.yml index 04fbbee..21d1e48 100644 --- a/src/data/calendar/sanctoral-calendar.yml +++ b/src/data/calendar/sanctoral-calendar.yml @@ -466,6 +466,7 @@ days: "12-06": [st-nicholas] "12-07": [st-ambrose] "12-08": [immaculate-conception] + "12-09": [st-juan-diego] "12-10": [st-melchiades] "12-11": [st-damasus] "12-13": [st-lucy]