Prime: real content (psalms, Martyrology, Regula) and ordo corrections
Deploy / deploy (push) Failing after 21s
Deploy / deploy (push) Failing after 21s
Pulls in verified content from Divinum Officium rather than placeholders: 17 psalms (2, 6, 7-19, 118, 129), 365 days of the Martyrology, and the full 121-reading Regula cycle, plus the Athanasian Creed. Ordo corrections driven by review against the real engine output: - Capitulum and Preces now pick a Sunday/feast vs. ferial form (calendar/isSundayOrFeast); ferial Preces said every ferial day by choice. - Chapter responsory, hymn doxology, and the opening versicle's Alleluia/Laus tibi all vary by season via a shared resolver (hours/seasonal-propers.ts). - Real Roman Kalends/Nones/Ides Latin dating (calendar/roman-date.ts, verified against 363/365 real Martyrology headings) plus the historical "bis sextus" Feb 29 handling, and the Martyrology's Luna (moon-day) heading (a ported Golden-Number calculation). - Fixed responsory structure (was missing its initial full repeat), weekday psalm antiphons (opening as incipit-or-full by rank, full repeat after the psalms/Creed as its own part, "*" chant mark kept), scripture citations on the capitulum/lectio brevis, and V./R. markers switched from Unicode symbols to plain text for reliable font rendering. - Dropped Pretiosa and the dead-commemoration psalm (129) for time; trimmed section headings down to the ones that are actually named things (Preces, Chapter Office, etc. no longer relabel connective text). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
# Per-feast override of the hymn's doxology stanza — real Divinum Officium
|
||||
# has a `winner{Doxology}` mechanism for this (some feasts specify their own).
|
||||
# Empty until milestone 4's sanctoral propers store exists, same as
|
||||
# prime-chapter-responsory-by-feast.yml.
|
||||
byFeastId: {}
|
||||
@@ -0,0 +1,14 @@
|
||||
# Which common proper supplies the hymn's final doxology stanza, by season.
|
||||
# Advent has no special doxology in the source data — it falls through to
|
||||
# perAnnum, same as any season not listed here. Same PLACEHOLDER caveat as
|
||||
# prime-chapter-responsory-by-season.yml: real season resolution doesn't
|
||||
# exist until milestone 4, so this can't be exercised by real data yet.
|
||||
perAnnum: hymn-doxology-per-annum
|
||||
bySeason:
|
||||
christmastide: hymn-doxology-nat
|
||||
epiphanytide: hymn-doxology-epi
|
||||
eastertide: hymn-doxology-pasch
|
||||
ascensiontide: hymn-doxology-asc
|
||||
pentecost: hymn-doxology-pent
|
||||
corpus-christi: hymn-doxology-corp
|
||||
sacred-heart: hymn-doxology-heart
|
||||
@@ -0,0 +1,27 @@
|
||||
# Verified against Divinum Officium ("Psalmi minor.txt", [Monastic_]
|
||||
# section, both languages). One antiphon per weekday, framing that day's
|
||||
# whole psalm group. Each string carries its own incipit/full split via an
|
||||
# embedded "*" (same convention as the source) — see hours/antiphon.ts for
|
||||
# how that's used: incipit (or full, on a Double-or-higher feast) before the
|
||||
# first psalm, full text always after the last.
|
||||
sunday:
|
||||
la: "Allelúja, * allelúja, allelúja (allelúja)."
|
||||
en: "Alleluia, * alleluia, alleluia (alleluia)."
|
||||
monday:
|
||||
la: "Servíte Dómino * in timóre: et exsultáte ei cum tremóre."
|
||||
en: "Serve ye the Lord with fear: * and rejoice unto him with trembling."
|
||||
tuesday:
|
||||
la: "Deus judex justus, * fortis et longánimis: numquid irascétur per síngulos dies?"
|
||||
en: "God is a just judge * strong and patient, will He be angry every day?"
|
||||
wednesday:
|
||||
la: "Exsúrge, Dómine * non præváleat homo."
|
||||
en: "Arise, O Lord, * let not man be strengthened."
|
||||
thursday:
|
||||
la: "Cantábo Dómino, * qui bona tríbuit mihi."
|
||||
en: "I shall sing to the Lord, * who hath given good things to me."
|
||||
friday:
|
||||
la: "Bonórum meórum * non indiges, in te sperávi, consérva me, Dómine."
|
||||
en: "Thou hast no need of my goods * preserve me, O Lord, for I have put my trust in thee."
|
||||
saturday:
|
||||
la: "Vivit Dóminus, * et benedíctus Deus salútis meæ."
|
||||
en: "The Lord liveth, and blessed be my God, my salvation."
|
||||
@@ -0,0 +1,8 @@
|
||||
# Per-feast override of the chapter responsory's verse — some sanctoral
|
||||
# feasts replace the seasonal verse with their own (real Divinum Officium's
|
||||
# `winner{'Versum Prima'}` mechanism). Empty until milestone 4's sanctoral
|
||||
# propers store exists (LiturgicalDay.occurring is always [] until then, so
|
||||
# this table has nothing to key against yet) — see
|
||||
# src/hours/chapter-responsory.ts for how a lookup miss falls back to the
|
||||
# season table above.
|
||||
byFeastId: {}
|
||||
@@ -0,0 +1,20 @@
|
||||
# Which common proper (see data/propers/common/prime-chapter-responsory-*)
|
||||
# supplies the short responsory's variable verse, by season.
|
||||
#
|
||||
# PLACEHOLDER keys: calendar/index.ts's season resolution is a hardcoded
|
||||
# stub until milestone 4 (see calendar/types.ts's Season comment), so this
|
||||
# table can't actually be exercised by real season data yet — it always
|
||||
# falls through to "per-annum" (see src/hours/chapter-responsory.ts). The
|
||||
# season *names* here are provisional guesses at what milestone 4's
|
||||
# temporal-cycle ids will actually be called; expect to revisit the keys
|
||||
# once that's real, not just fill in more of them.
|
||||
perAnnum: prime-chapter-responsory-per-annum
|
||||
bySeason:
|
||||
advent: prime-chapter-responsory-adv
|
||||
christmastide: prime-chapter-responsory-nat
|
||||
epiphanytide: prime-chapter-responsory-epi
|
||||
eastertide: prime-chapter-responsory-pasch
|
||||
ascensiontide: prime-chapter-responsory-asc
|
||||
pentecost: prime-chapter-responsory-pent
|
||||
corpus-christi: prime-chapter-responsory-corp
|
||||
sacred-heart: prime-chapter-responsory-heart
|
||||
@@ -0,0 +1,10 @@
|
||||
# Which common proper supplies the opening versicle's ending
|
||||
# (Allelúja vs. Laus tibi), by season. Septuagesima/Lent/Passiontide all
|
||||
# drop the Alleluia — same PLACEHOLDER caveat as the other by-season
|
||||
# tables: real season resolution doesn't exist until milestone 4, so this
|
||||
# always falls through to perAnnum today.
|
||||
perAnnum: prime-opening-alleluia
|
||||
bySeason:
|
||||
septuagesima: prime-opening-laus-tibi
|
||||
lent: prime-opening-laus-tibi
|
||||
passiontide: prime-opening-laus-tibi
|
||||
@@ -1,14 +1,70 @@
|
||||
# PLACEHOLDER structure: proves the fixed-parts + weekday-variable-psalm
|
||||
# pipeline works. The hymn/chapter/prayer textRefs don't resolve to real
|
||||
# text yet (data/propers/ doesn't exist yet) — they render as "pending"
|
||||
# in the UI. Real content is a separate task from this scaffolding.
|
||||
# Ordo verified against Divinum Officium (Monastic Tridentinum 1617),
|
||||
# 2026-08-25 run — see src/hours/prime.ts for how each part resolves.
|
||||
#
|
||||
# Deliberately deviates from that verified source in several places, all by
|
||||
# explicit decision:
|
||||
# - The opening Pater/Ave/Credo (said silently before "Deus in adiutorium")
|
||||
# is dropped entirely, to keep the hour shorter.
|
||||
# - The Regula reading and the generic Lectio Brevis are both said, in
|
||||
# sequence — historically these are alternatives (Regula in choir, OR
|
||||
# Lectio Brevis alone outside choir), not both.
|
||||
# - A short responsory ("Christe, Fili Dei vivi") is said after the
|
||||
# chapter — Monastic Prime doesn't actually have one (it goes straight
|
||||
# from chapter to versicle); this is the Roman/secular breviary's,
|
||||
# added by choice. See hours/chapter-responsory.ts for its seasonal
|
||||
# (and eventually per-feast) variants.
|
||||
# - The Athanasian Creed is included on qualifying Sundays even though
|
||||
# Monastic Prime doesn't traditionally have it either — see
|
||||
# hours/prime.ts's 'creed' case for the inclusion rule (a deliberate
|
||||
# simplification of the real, much more tangled rubric).
|
||||
# - The Pretiosa (the versicle/response said right after the Martyrology
|
||||
# in choir) is dropped — a deliberate cut, not an oversight.
|
||||
#
|
||||
# The capitulum and Preces both use calendar/isSundayOrFeast to pick between
|
||||
# a Sunday/feast form and a ferial form (see hours/types.ts's 'by-day-kind').
|
||||
# By explicit choice, the ferial Preces are said on *every* ferial day, not
|
||||
# just Advent/Lent/vigils/Ember days the way later rubrics restricted them.
|
||||
#
|
||||
# The dead-commemoration psalm (129, De profundis) is dropped by explicit
|
||||
# choice — a deliberate time-saving cut, not an oversight. The intro/close
|
||||
# responsory and collect around it are kept.
|
||||
id: prime
|
||||
parts:
|
||||
- kind: opening-versicle
|
||||
- kind: hymn
|
||||
textRef: { source: common, id: hymn-iam-lucis-orto-sidere }
|
||||
- kind: variable
|
||||
resolve: by-weekday
|
||||
- kind: chapter
|
||||
textRef: { source: common, id: prime-chapter-ferial }
|
||||
- kind: creed
|
||||
- kind: closing-antiphon
|
||||
- kind: by-day-kind
|
||||
resolvedKind: chapter
|
||||
sundayOrFeastRef: { source: common, id: prime-capitulum-dominica }
|
||||
ferialRef: { source: common, id: prime-capitulum-feria }
|
||||
- kind: variable
|
||||
resolve: by-season
|
||||
- kind: versicle
|
||||
textRef: { source: common, id: prime-versicle }
|
||||
- kind: by-day-kind
|
||||
resolvedKind: preces
|
||||
sundayOrFeastRef: { source: common, id: prime-preces-dominicales }
|
||||
ferialRef: { source: common, id: prime-preces-feriales }
|
||||
- kind: prayer
|
||||
textRef: { source: common, id: prime-collect }
|
||||
- kind: martyrology
|
||||
- kind: preces
|
||||
textRef: { source: common, id: prime-chapter-office }
|
||||
- kind: rule-reading
|
||||
- kind: lesson
|
||||
textRef: { source: common, id: prime-lectio-brevis-per-annum }
|
||||
label: Short Reading
|
||||
- kind: preces
|
||||
textRef: { source: common, id: prime-lesson-close }
|
||||
- kind: preces
|
||||
textRef: { source: common, id: prime-conclusio }
|
||||
label: Conclusion
|
||||
- kind: preces
|
||||
textRef: { source: common, id: commemoratio-defunctorum-intro }
|
||||
label: Commemoration of the Dead
|
||||
- kind: preces
|
||||
textRef: { source: common, id: commemoratio-defunctorum-close }
|
||||
|
||||
Reference in New Issue
Block a user