Add May sanctoral content: 10 saints plus the Queenship of the BVM
Deploy / deploy (push) Successful in 1m6s

Continues the full-year sanctoral import (see TODO.md/memory for Jan-Apr):
St. Pius V, St. Antoninus, St. Robert Bellarmine, St. John Baptist de la
Salle, St. Paschal Baylon, St. Venantius, St. Bernardine of Siena, St. John
Baptist de Rossi, St. Augustine of Canterbury, St. Mary Magdalene de Pazzi,
and the Queenship of the BVM (May 31, Duplex II Classis, instituted by Pius
XII's 1954 "Ad cæli Reginam" — full proper content, not a Common fallback).

Adding the Queenship to May 31 surfaces a real collision with Trinity
Sunday in years where Trinity falls on May 31 (2026): since this app
models Trinitytide Sundays as plain ordinary-sunday with no special
first-class standing, a Duplex+ sanctoral feast wins outright there per
the existing precedence rule. Updated the two tests pinned to that date
accordingly, with a third moved to a Trinity Sunday date (2023-06-04)
free of any sanctoral entry to keep testing the octave-vs-anchor-day
interaction in isolation.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-17 16:13:19 -04:00
parent 253a6ce516
commit b4e6ed6aa0
37 changed files with 1945 additions and 15 deletions
@@ -0,0 +1,23 @@
# Read directly from the reference engine: untagged/default [Rank]
# block of `web/www/horas/Latin/Sancti/05-31.txt` -- "Beatæ Mariæ
# Virginis Reginæ;;Duplex II classis;;5.1;;ex C11" (Common of Feasts
# of the BVM). Instituted 1954 by Pius XII's encyclical "Ad cæli
# Reginam" -- her own file has full, real, proper content throughout:
# own [Oratio], own [Ant 1] (not a Common substitution, unlike
# presentation-of-the-bvm.yml), and a full nine-lesson Matins office of
# her own. Nocturn 1 (Sir 24, plain scripture) isn't modeled, per this
# app's established convention (getNocturnReadings only ever carries
# Nocturn 2/3 across the whole calendar). Nocturn 2 (Lectio4-6): a
# three-part patristic/magisterial anthology (Peter Canisius,
# Athanasius via Canisius, Pius XII's "Ad cæli Reginam" itself) rather
# than one continuous narrative -- still combined into a single
# reading, matching how this app already treats other multi-source
# Nocturn 2 content. Nocturn 3: her own Gospel citation ends "Et
# réliqua"/"And so on" with no full pericope given -- per the
# bare-incipit convention, only the homily (Lectio7-9, St. Bonaventure)
# is authored, isGospel: false, no citation field.
id: queenship-of-the-bvm
name: "The Queenship of the Blessed Virgin Mary"
rank: duplex-2-classis
common: common-of-the-bvm
propers: "queenship-of-the-bvm"
+12
View File
@@ -0,0 +1,12 @@
# Read directly from the reference engine: untagged/default [Rank]
# block of `web/www/horas/Latin/Sancti/05-10.txt` -- "Duplex;;3;;vide
# C4" (Common of a Confessor Bishop). Own real proper [Oratio]. No
# [Ant 1] of his own -- benedictusCommon/minorHoursCommon fall back to
# the plain Common of a Confessor Bishop, matching st-ambrose.yml.
id: st-antoninus
name: "St. Antoninus, Bishop and Confessor"
rank: duplex
common: common-of-a-confessor-bishop
propers: "st-antoninus"
benedictusCommon: common-of-a-confessor-bishop
minorHoursCommon: common-of-a-confessor-bishop
@@ -0,0 +1,19 @@
# Read directly from the reference engine: untagged/default [Rank]
# block of `web/www/horas/Latin/Sancti/05-28.txt` -- "Duplex;;3;;vide
# C4-1" (a variant Oratio of the Common of a Confessor Bishop, C4 --
# not a distinct Common category, just an alternate collect template
# within it; this saint's own file supplies a real proper [Oratio], so
# neither C4 nor C4-1's template collect is actually used). Own
# Nocturn 2-3 content (Nocturn 3 is Pope St. Gregory the Great's own
# homily on Luke 10:1-9, not a cross-reference). No [Ant 1] of his own
# -- benedictusCommon/minorHoursCommon fall back to the plain Common of
# a Confessor Bishop. Officium name also carries a monastic variant
# ("sed rubrica monastica ... O. N.") -- ignored per the untagged-block
# convention, same as every other saint this pass.
id: st-augustine-of-canterbury
name: "St. Augustine of Canterbury, Bishop and Confessor"
rank: duplex
common: common-of-a-confessor-bishop
propers: "st-augustine-of-canterbury"
benedictusCommon: common-of-a-confessor-bishop
minorHoursCommon: common-of-a-confessor-bishop
@@ -0,0 +1,14 @@
# Read directly from the reference engine: untagged/default [Rank]
# block of `web/www/horas/Latin/Sancti/05-20.txt` -- "Semiduplex;;2.2;;
# vide C5" (Common of a Confessor Not a Bishop). Own real proper
# [Oratio]. No [Ant 1] of his own -- benedictusCommon/minorHoursCommon
# fall back to the plain Common of a Confessor. No Lectio7-9 in his
# own file -- defers to the Common's own Nocturn 3, not transcribed
# here.
id: st-bernardine-of-siena
name: "St. Bernardine of Siena, Confessor"
rank: semiduplex
common: common-of-a-confessor
propers: "st-bernardine-of-siena"
benedictusCommon: common-of-a-confessor
minorHoursCommon: common-of-a-confessor
@@ -0,0 +1,13 @@
# Read directly from the reference engine: untagged/default [Rank]
# block of `web/www/horas/Latin/Sancti/05-15.txt` -- "Duplex;;3;;vide
# C5" (Common of a Confessor Not a Bishop). Own real proper [Oratio]
# and own Nocturn 2-3 content. No [Ant 1] of his own --
# benedictusCommon/minorHoursCommon fall back to the plain Common of a
# Confessor.
id: st-john-baptist-de-la-salle
name: "St. John Baptist de la Salle, Confessor"
rank: duplex
common: common-of-a-confessor
propers: "st-john-baptist-de-la-salle"
benedictusCommon: common-of-a-confessor
minorHoursCommon: common-of-a-confessor
@@ -0,0 +1,14 @@
# Read directly from the reference engine: untagged/default [Rank]
# block of `web/www/horas/Latin/Sancti/05-23.txt` -- "Duplex;;3;;vide
# C5" (Common of a Confessor Not a Bishop). Own real proper [Oratio].
# No [Ant 1] of his own -- benedictusCommon/minorHoursCommon fall back
# to the plain Common of a Confessor. No Lectio7-9/Lectio94 in his own
# file at all (only Lectio4-6) -- defers to the Common's own Nocturn
# 3, not transcribed here.
id: st-john-baptist-de-rossi
name: "St. John Baptist de Rossi, Confessor"
rank: duplex
common: common-of-a-confessor
propers: "st-john-baptist-de-rossi"
benedictusCommon: common-of-a-confessor
minorHoursCommon: common-of-a-confessor
@@ -0,0 +1,15 @@
# Read directly from the reference engine: untagged/default [Rank]
# block of `web/www/horas/Latin/Sancti/05-29.txt` -- "Semiduplex;;2.2;;
# vide C6a" (Common of Virgins only). Own real proper [Oratio]. No
# [Ant 1] of her own -- benedictusCommon/minorHoursCommon fall back to
# the plain Common of a Virgin. No Lectio7-9 in her own file -- defers
# to the Common's own Nocturn 3, not transcribed here. Distinct saint
# from st-mary-magdalene.yml (the Gospel Magdalene) -- different id,
# no collision.
id: st-mary-magdalene-de-pazzi
name: "St. Mary Magdalene de Pazzi, Virgin"
rank: semiduplex
common: common-of-a-virgin
propers: "st-mary-magdalene-de-pazzi"
benedictusCommon: common-of-a-virgin
minorHoursCommon: common-of-a-virgin
@@ -0,0 +1,13 @@
# Read directly from the reference engine: untagged/default [Rank]
# block of `web/www/horas/Latin/Sancti/05-17.txt` -- "Duplex;;3;;vide
# C5" (Common of a Confessor Not a Bishop). Own real proper [Oratio].
# No [Ant 1] of his own -- benedictusCommon/minorHoursCommon fall back
# to the plain Common of a Confessor. No Lectio7-9 in his own file --
# defers to the Common's own Nocturn 3, not transcribed here.
id: st-paschal-baylon
name: "St. Paschal Baylon, Confessor"
rank: duplex
common: common-of-a-confessor
propers: "st-paschal-baylon"
benedictusCommon: common-of-a-confessor
minorHoursCommon: common-of-a-confessor
+19
View File
@@ -0,0 +1,19 @@
# Read directly from the reference engine: untagged/default [Rank]
# block of `web/www/horas/Latin/Sancti/05-05.txt` -- "Duplex;;3;;vide
# C4b" (Commune Summorum Pontificum Confessorum -- Common of Confessor
# Popes). Own real proper [Oratio]. No untagged [Ant 1] of his own (a
# rubrica-tagged one cross-references `@Commune/C4` -- ignored per the
# untagged-block convention, but used here as the best available
# signal for benedictusCommon/minorHoursCommon, matching the plain
# Common of a Confessor Bishop rather than inventing an unbuilt
# Pope-Confessor Benedictus template). Nocturn 3 in C4b itself is a
# cross-reference to `@Sancti/03-12` (St. Gregory the Great), not this
# saint's own content -- not transcribed, per the bare-cross-reference
# convention.
id: st-pius-v
name: "St. Pius V, Pope and Confessor"
rank: duplex
common: common-of-a-confessor-pope
propers: "st-pius-v"
benedictusCommon: common-of-a-confessor-bishop
minorHoursCommon: common-of-a-confessor-bishop
@@ -0,0 +1,16 @@
# Read directly from the reference engine: untagged/default [Rank]
# block of `web/www/horas/Latin/Sancti/05-13.txt` -- "Duplex;;3;;vide
# C4a" (Commune Doctoris non Pontificis). Own real proper [Oratio] and
# own Nocturn 2-3 content (Nocturn 3 is his own homily, not a
# cross-reference). No [Ant 1] of his own; benedictusCommon points at
# the already-authored `benedictus-antiphon-common-of-a-confessor-
# bishop.yml` directly, same reasoning as st-john-damascene.yml/
# st-peter-canisius.yml (C4a's own [Ant 1] is itself a cross-reference
# to C4).
id: st-robert-bellarmine
name: "St. Robert Bellarmine, Bishop, Confessor and Doctor of the Church"
rank: duplex
common: common-of-a-confessor-doctor
propers: "st-robert-bellarmine"
benedictusCommon: common-of-a-confessor-bishop
minorHoursCommon: common-of-a-confessor-bishop
+16
View File
@@ -0,0 +1,16 @@
# Read directly from the reference engine: untagged/default [Rank]
# block of `web/www/horas/Latin/Sancti/05-18.txt` -- "Duplex;;3;;vide
# C2a" (Common of a Martyr). Own real proper [Oratio]. No [Ant 1] of
# his own -- benedictusCommon/minorHoursCommon fall back to the plain
# Common of a Martyr, matching st-fidelis-of-sigmaringen.yml. No
# Lectio7-9 in his own file -- defers to the Common's own Nocturn 3,
# not transcribed here. Own proper Matins hymns (Hymnus Vespera/
# Matutinum/Laudes) exist in the source but aren't modeled -- this
# app's hour builders don't carry per-saint hymn text.
id: st-venantius
name: "St. Venantius, Martyr"
rank: duplex
common: common-of-a-martyr
propers: "st-venantius"
benedictusCommon: common-of-a-martyr
minorHoursCommon: common-of-a-martyr