Widen seasonal hymn-doxology to cover Marian Saturday and the Assumption octave

getHymnDoxologyId now takes the whole LiturgicalDay (needed for a date-window
check) and checks a feast override for a temporal winner's id too, not just
sanctoral — matching Divinum Officium's own Common-of-the-BVM `Doxology=Nat`
rule, which is why Marian Saturdays get the Nativity doxology regardless of
season. Also ports the source's Aug 16-22 (Assumption octave) hardcoded
Nativity-doxology window, confirmed live not excluded for the Monastic/
Tridentine 1617 track.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AGjUyhUZJaSjiniEmnLdak
This commit is contained in:
2026-09-03 14:59:32 -04:00
parent be4759d413
commit 44feb8c6b1
4 changed files with 54 additions and 16 deletions
+10 -4
View File
@@ -1,5 +1,11 @@
# 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: {}
# has a `winner{Doxology}` mechanism for this (some feasts specify their own),
# plus a `Rule Doxology=` mechanism a whole Common can set (e.g. the Common
# of the BVM's own `Doxology=Nat` — Commune/C10-C12Q.txt, live-checked
# 2026-09-03), which is why marian-saturday is keyed here by its temporal id
# even though it's not a "feast" in the sanctoral-propers-store sense; see
# hours/hymn-doxology.ts's getHymnDoxologyId for the kind-agnostic lookup.
# Otherwise empty until milestone 4's sanctoral propers store exists, same
# as prime-chapter-responsory-by-feast.yml.
byFeastId:
marian-saturday: hymn-doxology-nat