Author christmas-octave-sunday's own Benedictus antiphon
Deploy / deploy (push) Successful in 52s

Corrects the previous conclusion (that this id had no clean sourceable
date at all). The reference engine has a dedicated proper for this
Sunday, Tempora/Nat1-0, distinct from the individual octave-day saints'
own pages -- most years the Sunday loses outright to a Duplex-II-classis
octave saint (St. Stephen/St. John/Holy Innocents) and only earns a bare
commemoration, which is what the earlier search kept finding, but
2029-12-30 is a year where the Sunday wins outright with no
commemoration at all, so that's the date pulled from.

All 52 temporal ids (54 counting marian-saturday/christ-the-king) now
have an authored Benedictus antiphon, closing out the temporal half of
the "every sanctoral and temporal entry needs its antiphons" task for
real.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-12 06:26:25 -04:00
parent 5a76f2198c
commit 73672853ef
3 changed files with 44 additions and 10 deletions
+21 -8
View File
@@ -44,15 +44,28 @@ hymn). Worth fixing even before tackling the other 32.
### Benedictus antiphons for temporal (non-sanctoral) days — done
`<id>-benedictus-antiphon.yml` in `data/propers/temporal/` — all 53
`<id>-benedictus-antiphon.yml` in `data/propers/temporal/` — all 54
temporal ids now have one (`marian-saturday`/`christ-the-king` from
earlier, plus the 51 numbered Sundays/seasons done in one pass), except
**`christmas-octave-sunday`**, left deliberately unauthored: every
possible date this id can resolve to in the real calendar collides with
a specific named octave-day feast (St. John's own octave on Jan 3, e.g.)
— there's no date where the live engine shows generic "Sunday within the
Christmas Octave" content rather than that day's own specific saint, so
there's nothing honest to source.
earlier, the 51 numbered Sundays/seasons done in one pass, plus
`christmas-octave-sunday` itself, corrected below).
**`christmas-octave-sunday` correction**: originally left unauthored
here, on the theory that every date this id can resolve to collides with
a specific octave-day saint. Wrong — the reference engine has its own
dedicated proper for this Sunday specifically, `Tempora/Nat1-0`
(`web/www/horas/Latin/Tempora/Nat1-0.txt` in the reference repo, and its
Monastic counterpart under `TemporaM/`), distinct from the individual
per-weekday octave pages (`Nat02`..`Nat09` = the ferias, keyed by day
offset from Christmas). Most years the Sunday does lose outright to a
Duplex-II-classis octave saint (St. Stephen/St. John/Holy Innocents,
whichever Dec 2628 lands on) and only gets a bare commemoration — that's
what the earlier searches kept finding — but 2029-12-30 is a clean year
where the Sunday itself wins outright (`Dominica Infra Octavam
Nativitatis ~ Semiduplex Dominica minor`, no commemoration line at all),
so that's the date the content was pulled from. Benedictus antiphon:
"Dum médium siléntium" / "While all things were in quiet silence" — note
the source's own English translation genuinely omits the closing
"alleluia" that the Latin has; transcribed as-is, not smoothed over.
Method: rather than hunting for "clean years" one at a time, wrote a
script that iterates every day of a test year through this app's own
@@ -0,0 +1,20 @@
# Verified against Divinum Officium (Monastic Tridentinum 1617), Lauds
# live query, 2029-12-30 -- the Sunday within the Octave of Christmas,
# found via the reference engine's own dedicated Tempora/Nat1-0 proper
# (its actual identity in the reference engine, distinct from any of the
# individual octave-day saints' own pages, e.g. Nat02/Nat03/Nat04 for
# Dec 26/27/28). This particular date was picked because it's the one
# clean case in range where the Sunday actually wins outright with no
# saint commemorated at all ("Dominica Infra Octavam Nativitatis ~
# Semiduplex Dominica minor", no Commemoratio line) -- on most years the
# Sunday instead falls on one of the Duplex-II-classis octave-day feasts
# (St. Stephen, St. John, Holy Innocents) and is itself only commemorated,
# which is what earlier searches this session kept running into and
# concluded (wrongly) meant there was no clean date at all.
id: christmas-octave-sunday-benedictus-antiphon
text:
la: "Dum médium siléntium * tenérent ómnia, et nox in suo cursu médium iter perágeret, omnípotens Sermo tuus, Dómine, a regálibus sédibus venit, allelúja."
en: "While all things were in quiet silence * and that night was in the midst of her swift course, thine Almighty Word, O Lord, leapt down out of thy Royal Throne."
status:
la: verified
en: verified
+3 -2
View File
@@ -140,10 +140,11 @@ describe('resolveOrdo("lauds", ...)', () => {
expect(canticle?.kind === 'canticle' ? canticle.antiphon?.status?.la : undefined).toBe('verified');
});
it("falls back to a missing Benedictus antiphon for christmas-octave-sunday specifically -- every possible date for it collides with a specific named octave-day feast in the real calendar, so there's no clean generic content to source", () => {
it('resolves a real Benedictus antiphon for christmas-octave-sunday too, pulled from the reference engine\'s own dedicated Tempora/Nat1-0 proper rather than any individual octave-day saint\'s page', () => {
const ordo = resolveOrdo('lauds', '2026-12-30');
const canticle = ordo.parts.find((p) => p.kind === 'canticle' && p.canticleId === 'benedictus');
expect(canticle?.kind === 'canticle' ? canticle.antiphon?.status?.la : undefined).toBeUndefined();
expect(canticle?.kind === 'canticle' ? canticle.antiphon?.text.la : undefined).toContain('Dum médium siléntium');
expect(canticle?.kind === 'canticle' ? canticle.antiphon?.status?.la : undefined).toBe('verified');
});
it("resolves a real Benedictus antiphon on St. Lawrence's own day, from the saint's already-authored proper", () => {