scripture: add a dedicated non-Psalm scripture store, migrate pure-scripture readings
Deploy / deploy (push) Successful in 46s

Adds src/scripture/ (types.ts, index.ts), a verse-addressable store mirroring
psalter/index.ts's own pattern exactly -- getScriptureVerses(book, chapter,
range) -- for non-Psalm scripture (Wisdom, Canticles, Ezekiel, Acts, Joel,
etc.). Kept as its own module, not folded into the Psalter, per 2026-08
discussion ("the psalms kind of work differently even if the logic is the
same, they do need their own store").

Octave readings can now declare `passages: [{ book, chapter, verses }]`
instead of embedding text -- each entry becomes its own paragraph, letting a
reading built from several verse ranges keep its original paragraph breaks.
getOctaveReading resolves either shape (embedded text or passages) into the
same OctaveReadingText callers already expect, so nothing downstream needs
to know which was used. Scope, per discussion: only readings that are
Scripture start to finish get this treatment -- prose that merely quotes a
verse or two (most of the patristic sermons pulled so far) keeps its
quotations embedded inline, as before.

Migrates the 9 already-committed octave readings that are pure Scripture
(Wisdom 4:7-20, Canticles 1 and 8, seven different Ezekiel excerpts across
All Saints' octave -- one of which, day 7, genuinely spans two chapters --
and Acts 19/Joel 2 for Pentecost's octave) to the new passages notation,
verified to resolve to character-identical text as before.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-11 10:06:10 -04:00
parent 589c4be0d7
commit 49bd7f7858
30 changed files with 1003 additions and 284 deletions
@@ -1,31 +1,13 @@
# Verified against Divinum Officium (Monastic Tridentinum 1617), live
# prayMatutinum query (2025-11-8). Matins reading for day 8 of All Saints' own
# octave -- collapsed into one continuous reading per project convention. A
# continuous reading from the book of Ezechiel, read straight through across
# the whole octave (a different excerpt each day), not repeated -- confirmed
# via each day's own Invitatory (the same distinctive All Saints antiphon
# every day, Nov 2 included, so this app's own exclusion of All Souls' Day as
# a different liturgical genre doesn't conflict with this octave's real Matins
# content). The source's own English translation is used as-is, including gaps
# in its own punctuation (some older "oct"/"bmv"-suffixed variant files drop
# question marks entirely in places) -- not corrected here, since guessing
# where they belong isn't the same class of fix as an isolated single-
# character typo.
# prayMatutinum query (2025-11-08). Matins reading for day 8 of All Saints'
# own octave -- a direct Scripture reading (Ezekiel 19:1-14), resolved from
# data/scripture/ezek-19.yml.
id: all-saints-octave-day-8
source: "De Ezechiéle Prophéta"
text:
la: |
De Ezechiéle Prophéta Ezek 19:1-7 1 Et tu assúme planctum super príncipes Israël, 2 Et dices: Quare mater tua leǽna inter leónes cubávit? in médio leunculórum enutrívit cátulos suos? 3 Et edúxit unum de leúnculis suis, et leo factus est: et dídicit cápere prædam, hominémque comédere. 4 Et audiérunt de eo gentes: et non absque vulnéribus suis cepérunt eum, et adduxérunt eum in caténis in terram Ægýpti. 5 Quæ cum vidísset quóniam infirmáta est, et périit exspectátio ejus, tulit unum de leúnculis suis, leónem constítuit eum, 6 Qui incedébat inter leónes, et factus est leo: et dídicit prædam cápere et hómines devoráre, 7 Dídicit víduas fácere, et civitátes eórum in desértum addúcere: et desoláta est terra et plenitúdo ejus a voce rugítus illíus.
Ezek 19:8-11 8 Et convenérunt advérsus eum gentes úndique de provínciis, et expandérunt super eum rete suum, in vulnéribus eárum captus est, 9 Et misérunt eum in cáveam, in caténis adduxérunt eum ad regem Babylónis, miserúntque eum in cárcerem, ne audirétur vox ejus ultra super montes Israël. 10 Mater tua quasi vínea in sánguine tuo super aquam plantáta est; fructus ejus et frondes ejus crevérunt ex aquis multis, 11 Et factæ sunt ei virgæ sólidæ in sceptra dominántium, et exaltáta est statúra ejus inter frondes, et vidit altitúdinem suam in multitúdine pálmitum suórum.
Ezek 19:12-14 12 Et evúlsa est in ira, in terrámque projécta, et ventus urens siccávit fructum ejus; marcuérunt et arefáctæ sunt virgæ róboris ejus, ignis comédit eam; 13 Et nunc transplantáta est in desértum, in terra ínvia et sitiénti, 14 Et egréssus est ignis de virga ramórum ejus, qui fructum ejus comédit, et non fuit in ea virga fortis, sceptrum dominántium. Planctus est, et erit in planctum.
en: |
Lesson from the book of Ezekiel Ezek 19:1-7 1 Moreover take thou up a lamentation for the princes of Israel, 2 And say: Why did thy mother the lioness lie down among the lions, and bring up her whelps in the midst of young lions? 3 And she brought out one of her whelps, and he became a lion: and he learned to catch the prey, and to devour men. 4 And the nations heard of him, and took him, but not without receiving wounds: and they brought him in chains into the land of Egypt. 5 But she seeing herself weakened, and that her hope was lost, took one of her young lions, and set him up for a lion. 6 And he went up and down among the lions, and became a lion: and he learned to catch the prey, and to devour men. 7 He learned to make widows, and to lay waste their cities: and the land became desolate, and the fulness thereof by the noise of his roaring.
Ezek 19:8-11 8 And the nations came together against him on every side out of the provinces, and they spread their net over him, in their wounds he was taken. 9 And they put him into a cage, they brought him in chains to the king of Babylon: and they cast him into prison, that his voice should no more be heard upon the mountains of Israel. 10 Thy mother is like a vine in thy blood planted by the water: her fruit and her branches have grown out of many waters. 11 And she hath strong rods to make sceptres for them that bear rule, and her stature was exalted among the branches: and she saw her height in the multitude of her branches.
Ezek 19:12-14 12 But she was plucked up in wrath, and cast on the ground, and the burning wind dried up her fruit: her strong rods are withered, and dried up: the fire hath devoured her. 13 And now she is transplanted into the desert, in a land not passable, and dry. 14 And a fire is gone out from a rod of her branches, which hath devoured her fruit: so that she now hath no strong rod, to be a sceptre of rulers. This is a lamentation, and it shall be for a lamentation.
passages:
- { book: ezek, chapter: 19, verses: "1-7" }
- { book: ezek, chapter: 19, verses: "8-11" }
- { book: ezek, chapter: 19, verses: "12-14" }
responsory:
la: |
℟. Vidi Dóminum sedéntem super sólium excélsum et elevátum, et plena erat omnis terra majestáte ejus: * Et ea, quæ sub ipso erant, replébant templum. ℣. Séraphim stabant super illud: sex alæ uni, et sex alæ álteri. ℟. Et ea, quæ sub ipso erant, replébant templum.