propers: Benedictus antiphons for January's sanctoral entries (9/9)
Deploy / deploy (push) Successful in 50s

All 9 January saints with a propers id: 5 authored fresh (Marcellus I,
Paul the Hermit, Fabian & Sebastian, Vincent & Anastasius, John
Chrysostom), 3 corrected (Chair of St. Peter at Rome, Agnes,
Conversion of St. Paul -- each confirmed sourced from the Roman rite's
raw [Ant 1] rather than a real Monastic 1617 rendering, same mistake
as St. Lawrence's earlier fix), 1 left honestly missing (Hilary of
Poitiers -- this app's calendar has him Jan 23, but Divinum Officium's
own calendar has him Jan 14; flagged in TODO.md rather than guessed
at). See TODO.md for the full remaining scope and the method this
settled on after automated matching proved unreliable on real edge
cases (shared dates, saints the reference engine doesn't carry at
all).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-11 16:58:18 -04:00
parent cea23a4dc5
commit 0878c3d60c
9 changed files with 124 additions and 40 deletions
+48 -20
View File
@@ -56,31 +56,59 @@ collect has ever been authored for an octave (the octave-reading pull only
ever sourced Matins content). Every octave commemoration currently
contributes zero text to Lauds'/Vespers' collect sequence.
## Correctness risk — needs verification, not just authoring
## Benedictus antiphons for every sanctoral/temporal entry (in progress)
### Per-saint Benedictus antiphons may be sourced from the wrong rite
Full scope, corrected after actually enumerating it (an earlier pass here
under-counted): **109 sanctoral entries have `propers` set** (a saint id
that both a collect and an antiphon key off) and need a real Benedictus
antiphon; **94 more saints have `propers: null`** (no collect *or* antiphon
authored, ever) and are a separate, bigger prerequisite — see below. Plus
**~52 temporal entries** (every numbered Sunday/feria) need one too.
`<saint>-antiphon.yml` files (17 of them, see below) were pulled during the
original sanctoral-content sessions, months before Lauds existed to consume
them. Building St. Lawrence's psalmody override surfaced, by accident, that
his had been read from the **Roman/secular rite's `[Ant 1]`**, not Monastic
1617's actual Benedictus antiphon for that day — two genuinely different
texts. Fixed for Lawrence. **Not checked for any of the other 16**:
### Confirmed systemic bug, not just "unverified"
apparition-of-st-michael, chair-of-st-peter-at-antioch, chair-of-st-peter-at-rome,
conversion-of-st-paul, holy-innocents, nativity-bvm, nativity-of-st-john-the-baptist,
ss-peter-and-paul, ss-philip-and-james, st-andrew, st-john-apostle,
st-john-before-the-latin-gate, st-martin-of-tours, st-peter-ad-vincula,
st-stephen-protomartyr, st-thomas-apostle.
Every pre-existing `<saint>-antiphon.yml` file (there were 17, pulled during
the original sanctoral-content sessions, months before Lauds existed) was
sourced from the **Roman/secular rite's raw `[Ant 1]`**, not a live Monastic
1617 query. St. Lawrence's turned out wrong this way; going back and
correcting 3 more (Chair of St. Peter at Rome, St. Agnes, Conversion of St.
Paul) while working January confirms it's the same mistake every time, not
a one-off — **treat all pre-existing antiphon files as wrong until
re-verified against a live Monastic query**, not just flagged for a look.
Each needs a live `command=prayLaudes` query on the saint's own day (Monastic
1617) to confirm or correct — same check that caught Lawrence's.
### Method, worked out the hard way this pass
The other 12 duplex-majus+ saints with `propers` set have **no antiphon file
at all yet** (st-scholastica, st-matthias, st-matthew, st-mark, st-luke,
st-james-the-greater, st-bartholomew, st-barnabas, ss-simon-and-jude,
immaculate-conception, assumption, all-saints) — these don't have the wrong-rite
risk, they just don't exist yet.
A saint's raw per-date file (`Latin/SanctiM/MM-DD.txt`, falling back to
`Latin/Sancti/MM-DD.txt`) is *not* a reliable shortcut — Monastic doesn't
always compute the Benedictus antiphon from a literal `[Ant 1]` field (major
feasts like Lawrence draw it from elsewhere entirely), and a shared date
with two co-assigned saints only has *one* real file, which may belong to
whichever saint reliably loses the day, not the one this app's calendar
means to ask about. What actually works: a live `command=prayLaudes` query
on the saint's own date, checked by eye against 2-3 different years for a
title that plausibly names the saint and stays consistent — full automation
kept producing false positives/negatives on exactly these edge cases, so
each result needs a human read, not just a script.
Also found along the way: **this app's calendar and the reference engine's
own calendar don't always agree on dates.** St. Hilary of Poitiers is
assigned Jan 23 here, but Divinum Officium's actual calendar has him on Jan
14 (confirmed: nothing resembling Hilary appears under Jan 23 in any tested
year). Not fixed — flagged. Worth a pass at some point checking whether any
other already-authored saints have a similar date mismatch, since it would
affect their existing collects too, not just a pending antiphon.
### Progress
- **January (9 total): done.** 8 antiphons authored/corrected (St. Marcellus
I, Chair of St. Peter at Rome, St. Paul the Hermit, Ss. Fabian and
Sebastian, St. Agnes, Ss. Vincent and Anastasius, Conversion of St. Paul,
St. John Chrysostom). St. Hilary of Poitiers left `missing`, see the date
mismatch above.
- **February-December (100 saints): not started.**
- **~52 temporal entries: not started.**
- **94 `propers: null` saints: not started** — need a collect authored (a
bigger, separate task) before an antiphon id even has anywhere to attach.
## Mechanism not built at all
@@ -1,13 +1,14 @@
# Verified against Divinum Officium (Latin/English Sancti/01-18.txt's own
# [Ant 1], which cross-references Sancti/02-22.txt for the actual text —
# the two Chair-of-Peter feasts, Rome and Antioch, share this antiphon).
# Not yet consumed by any hour's resolver (Terce/Sext/None only branch by
# weekday today — see hours/terce.ts) — stored ready for whenever a
# Lauds/Vespers-style commemoration or a feast-id override is built.
# Verified against Divinum Officium (Monastic Tridentinum 1617), Lauds
# live query, the Chair of St. Peter at Rome's own day (2026-01-18) --
# the Benedictus antiphon. Corrects the previous version of this file,
# which had been sourced from the Roman/secular rite's Sancti/01-18.txt's
# own [Ant 1] instead: confirmed, like St. Lawrence's own antiphon before
# it, to be real but different text from what Monastic 1617 actually
# renders at Lauds.
id: chair-of-st-peter-at-rome-antiphon
text:
la: "Tu es pastor óvium, * Princeps Apostolórum, tibi tráditæ sunt claves regni cælórum."
en: "Thou art the Shepherd * of the sheep, and the Prince of the Apostles, and unto thee are given the keys of the kingdom of heaven."
la: "Quodcúmque ligáveris super terram, erit ligátum et in cælis; et quodcúmque sólveris super terram, erit solútum et in cælis: dicit Dóminus Simóni Petro."
en: "Thus saith the Lord unto Simon Peter: Whatsoever thou shalt bind on earth, shall be bound in heaven; and whatsoever thou shalt loose on earth, shall be loosed in heaven."
status:
la: verified
en: verified
@@ -1,11 +1,14 @@
# Verified against Divinum Officium (Latin/English Sancti/01-25.txt's own
# [Ant 1] — the Lauds-hour antiphon, not Terce's, which falls back to a
# generic Common-of-an-Apostle text instead. See chair-of-st-peter-at-
# rome-antiphon.yml's note on this not being consumed by any hour yet.
# Verified against Divinum Officium (Monastic Tridentinum 1617), Lauds
# live query, the Conversion of St. Paul's own day (2026-01-25) -- the
# Benedictus antiphon. Corrects the previous version of this file, which
# had been sourced from the Roman/secular rite's Sancti/01-25.txt's own
# [Ant 1] instead: confirmed, like St. Lawrence's own antiphon before it,
# to be real but different text from what Monastic 1617 actually renders
# at Lauds.
id: conversion-of-st-paul-antiphon
text:
la: "Vade, Ananía, * et quǽre Saulum: ecce enim orat: quia vas electiónis est mihi, ut portet nomen meum coram géntibus, et régibus, et fíliis Israël."
en: "Ananias, go thy way, * and seek Saul, for behold, he prayeth; for he is a chosen vessel unto me, to bear my name before the Gentiles, and kings, and the children of Israel."
la: "Vos qui secúti estis me, sedébitis super sedes, judicántes duódecim tribus Israël, dicit Dóminus."
en: "Thus saith the Lord: Ye, which have followed Me, shall sit upon twelve thrones, judging the twelve tribes of Israel."
status:
la: verified
en: verified
@@ -0,0 +1,10 @@
# Verified against Divinum Officium (Monastic Tridentinum 1617), Lauds
# live query, Ss. Fabian and Sebastian's own day (2026-01-20). The
# Benedictus antiphon.
id: ss-fabian-and-sebastian-antiphon
text:
la: "Vestri capílli cápitis omnes numeráti sunt: nolíte timére: multis passéribus melióres estis vos."
en: "Even the very hairs of your head are all numbered: fear not therefore; ye are of more value than many sparrows."
status:
la: verified
en: verified
@@ -0,0 +1,10 @@
# Verified against Divinum Officium (Monastic Tridentinum 1617), Lauds
# live query, Ss. Vincent and Anastasius's own day (2026-01-22). The
# Benedictus antiphon.
id: ss-vincent-and-anastasius-antiphon
text:
la: "Vestri capílli cápitis * omnes numeráti sunt: nolíte timére: multis passéribus melióres estis vos."
en: "Even the very hairs of your head are all numbered: * fear not therefore; ye are of more value than many sparrows."
status:
la: verified
en: verified
@@ -1,11 +1,13 @@
# Verified against Divinum Officium (Latin/English Sancti/01-21.txt's own
# [Ant 1] — the Lauds-hour antiphon, not Terce's, which falls back to a
# generic Common-of-Virgin-Martyrs text instead. See chair-of-st-peter-
# at-rome-antiphon.yml's note on this not being consumed by any hour yet.
# Verified against Divinum Officium (Monastic Tridentinum 1617), Lauds
# live query, St. Agnes's own day (2026-01-21) -- the Benedictus antiphon.
# Corrects the previous version of this file, which had been sourced
# from the Roman/secular rite's Sancti/01-21.txt's own [Ant 1] instead:
# confirmed, like St. Lawrence's own antiphon before it, to be real but
# different text from what Monastic 1617 actually renders at Lauds.
id: st-agnes-antiphon
text:
la: "Beáta Agnes * in médio flammárum expánsis mánibus orábat: Te déprecor, omnípotens, adoránde, colénde, Pater metuénde, quia per sanctum Fílium tuum evási minas sacrílegi tyránni, et carnis spurcítias immaculáto calle transívi: et ecce vénio ad te, quem amávi, quem quæsívi, quem semper optávi."
en: "The blessed Agnes * stood in the midst of the fire, and stretched forth her hands, and prayed, saying: O Father! Who alone art almighty! Who alone art to be adored! Who alone art to be worshipped! Who alone art to be feared! I thank thee because that through thy Holy Son thou hast delivered me from the threatenings of the godless tyrant, and hast made me to walk with clean feet over the filthy slough of fleshly sin; and now, behold, I come unto thee, unto thee whom I have loved, whom I have sought, whom I have ever desired."
la: "Ecce, quod concupívi, jam vídeo: quod sperávi, jam téneo: ipsi sum juncta in cælis, quem in terris pósita, tota devotióne diléxi."
en: "Behold, now I see that which I have desired; now I possess that for which I have hoped now am I united in heaven to Him Whom I loved with my whole heart upon earth."
status:
la: verified
en: verified
@@ -0,0 +1,10 @@
# Verified against Divinum Officium (Monastic Tridentinum 1617), Lauds
# live query, St. John Chrysostom's own day (2026-01-27). The Benedictus
# antiphon.
id: st-john-chrysostom-antiphon
text:
la: "Euge, serve bone et fidélis, quia in pauca fuísti fidélis, supra multa te constítuam, dicit Dóminus."
en: "Well done, thou good and faithful servant thou hast been faithful over a few things, I will make thee ruler over many things, saith the Lord."
status:
la: verified
en: verified
@@ -0,0 +1,10 @@
# Verified against Divinum Officium (Monastic Tridentinum 1617), Lauds
# live query, St. Marcellus I's own day (2026-01-16). The Benedictus
# antiphon.
id: st-marcellus-i-antiphon
text:
la: "Qui odit * ánimam suam in hoc mundo, in vitam ætérnam custódit eam."
en: "He that hateth his life * in this world, shall keep it unto life eternal."
status:
la: verified
en: verified
@@ -0,0 +1,10 @@
# Verified against Divinum Officium (Monastic Tridentinum 1617), Lauds
# live query, St. Paul the Hermit's own day (2026-01-19, confirmed
# consistent 2026/2027). The Benedictus antiphon.
id: st-paul-the-hermit-antiphon
text:
la: "Euge, serve bone * et fidélis, quia in pauca fuísti fidélis, supra multa te constítuam, intra in gáudium Dómini tui."
en: "Well done, thou good and faithful servant; * thou hast been faithful over a few things, I will make thee ruler over many things; enter thou into the joy of thy Lord."
status:
la: verified
en: verified