feat(office): seed the Little Office BVM per-annum Matins (Stage 4b) #507

Merged
manlycucumber merged 4 commits from feat/stage4b-lobvm-matins into develop 2026-07-20 05:09:26 +00:00

Stage 4b — Matins: the Little Office BVM is complete (all eight hours)

The last and largest hour, completing the office begun in #504 (Lauds), #505 (Little Hours), and #506 (Vespers + Compline).

What's in

  • Invitatory antiphon Ave, María, grátia plena: Dóminus tecum.
  • Hymn Quem terra, pontus, sídera (5 stanzas) — note the book's first line is sídera, not æthera.
  • The Sun/Mon/Thu nocturn: Ps 8, 18, 23, each under its antiphon (Benedícta tu · Sicut myrrha elécta · Ante torum), then the versicle.
  • The three lessons + three responsories from Ecclus. xxiv (In ómnibus réquiem quæsívi · Sancta et immaculáta virgínitas · Et sic in Sion firmáta sum · Béata es Virgo María · Quasi cedrus exaltáta sum · Felix namque es).

No engine change: invitatory/lesson/responsory were already in the closed part-type vocabulary and route through the proper-text store by textRef, exactly like antiphons.

Deferred (flagged, not defects)

The Venite Ps 94 (Open-Q #12 — its recension is Gallican-vs-Romanum and unconfirmed without a br-1961 witness, so only the invitatory antiphon is stored, not the psalm); the Absolution + three Blessings (would need absolution/blessing part types not in the vocabulary); the Te Deum (seasonal); the Tue/Fri and Wed/Sat nocturns + the weekday psalm selection (Matins psalms vary by weekday — the pilot stays day-independent by seeding one nocturn); the Advent + Te-Deum conditionals; lesson Tu autem endings + responsory repeat-collapse.

Fidelity

Latin read from the Commons verso page-scans and verified leaf-by-leaf at 2–5× magnification — zero transcription errors. Every book quirk kept as printed rather than normalized: the hymn prints Beáta (st.3) but Béata (st.4); Responsory I prints laúdibus; Responsory II Béata es; Lesson II heréditas (no æ, vs Sext's hæréditas); Ant 2's full form myrrha is un-accented (the intoned form's myrrhá is not used). English from the Wikisource proofread text; each leaf cites its printed page.

Validation

  • Generator: 102 tests green, verify OK (byte-reproducible; born-cited gate passes).
  • Workspace: composer check green (1247 tests / 145,850 assertions / 1 pre-existing skip); freeze accepted the move.
  • Corpus-driven digest move: goldenDigest 18c01c24 → 69c796aa, corpusVersion 1962-2026-07-19.5; engineVersion stays 0.5.0.

Both commits signed + verified. With this, all eight hours of the per-annum Little Office resolve into every 1962 day.

## Stage 4b — Matins: the Little Office BVM is complete (all eight hours) The last and largest hour, completing the office begun in [#504](https://git.conditor.dev/Directorium/Core/pulls/504) (Lauds), [#505](https://git.conditor.dev/Directorium/Core/pulls/505) (Little Hours), and [#506](https://git.conditor.dev/Directorium/Core/pulls/506) (Vespers + Compline). ### What's in - **Invitatory** antiphon *Ave, María, grátia plena: Dóminus tecum*. - **Hymn** *Quem terra, pontus, sídera* (5 stanzas) — note the book's first line is *sídera*, not *æthera*. - The **Sun/Mon/Thu nocturn**: Ps 8, 18, 23, each under its antiphon (*Benedícta tu · Sicut myrrha elécta · Ante torum*), then the versicle. - The **three lessons + three responsories** from Ecclus. xxiv (*In ómnibus réquiem quæsívi · Sancta et immaculáta virgínitas · Et sic in Sion firmáta sum · Béata es Virgo María · Quasi cedrus exaltáta sum · Felix namque es*). No engine change: `invitatory`/`lesson`/`responsory` were already in the closed part-type vocabulary and route through the proper-text store by `textRef`, exactly like antiphons. ### Deferred (flagged, not defects) The **Venite Ps 94** (Open-Q #12 — its recension is Gallican-vs-Romanum and unconfirmed without a br-1961 witness, so only the invitatory antiphon is stored, not the psalm); the **Absolution + three Blessings** (would need `absolution`/`blessing` part types not in the vocabulary); the **Te Deum** (seasonal); the **Tue/Fri and Wed/Sat nocturns** + the weekday psalm selection (Matins psalms vary by weekday — the pilot stays day-independent by seeding one nocturn); the Advent + Te-Deum conditionals; lesson *Tu autem* endings + responsory repeat-collapse. ### Fidelity Latin read from the Commons verso page-scans and **verified leaf-by-leaf at 2–5× magnification** — zero transcription errors. Every book quirk kept as printed rather than normalized: the hymn prints *Beáta* (st.3) but *Béata* (st.4); Responsory I prints *laúdibus*; Responsory II *Béata es*; Lesson II *heréditas* (no æ, vs Sext's *hæréditas*); Ant 2's full form *myrrha* is un-accented (the intoned form's *myrrhá* is not used). English from the Wikisource proofread text; each leaf cites its printed page. ### Validation - Generator: 102 tests green, `verify` OK (byte-reproducible; born-cited gate passes). - Workspace: `composer check` green (1247 tests / 145,850 assertions / 1 pre-existing skip); freeze accepted the move. - **Corpus-driven digest move**: goldenDigest `18c01c24 → 69c796aa`, corpusVersion `1962-2026-07-19.5`; engineVersion stays `0.5.0`. Both commits signed + verified. With this, all eight hours of the per-annum Little Office resolve into every 1962 day.
Complete the Little Office BVM with Matins, the last and largest hour: the invitatory
antiphon Ave Maria gratia plena Dominus tecum, the hymn Quem terra pontus sidera (5
stanzas), the Sunday/Monday/Thursday nocturn (Ps 8/18/23, each under its antiphon
Benedicta tu / Sicut myrrha electa / Ante torum), the versicle, and the three lessons +
responsories from Ecclesiasticus xxiv. The nocturn psalms reference the Stage-2 streams.

Uses only existing part types (invitatory/lesson/responsory were already in the closed
vocabulary; they route through the proper-text store by textRef, so no engine change).

Deferred + flagged: the Venite Ps 94 (Open-Q #12, recension unconfirmed w/o br-1961 — only
the invitatory antiphon is stored); the Absolution + Blessings (need new part types); the
Te Deum; the Tuesday/Friday and Wednesday/Saturday nocturns + weekday selection; Advent +
Te-Deum conditionals; lesson Tu-autem endings + responsory repeat collapse.

Latin transcribed from the Commons verso page-scans and verified leaf-by-leaf at
magnification (book quirks kept as printed: hymn 'Beata'/'Beata' st.3-4, 'laudibus',
'hereditas'); English from the Wikisource proofread text. Corpus-driven: corpusVersion
1962-2026-07-19.4 -> .5; golden re-freeze follows.
chore(golden): re-freeze the golden year for the Matins seed
Some checks failed
ci / validate (1962) (pull_request) Has been cancelled
ci / validate (novus-ordo-2002) (pull_request) Has been cancelled
ci / validate (overlays) (pull_request) Has been cancelled
ci / corpus-verify (pull_request) Has been cancelled
CodeQL / Analyze (actions) (pull_request) Has been cancelled
pr-title / lint (pull_request) Has been cancelled
ci / validate (1955) (pull_request) Has been cancelled
ci / check (7.4) (pull_request) Successful in 3m4s
ci / check (8.1) (pull_request) Successful in 2m43s
ci / check (8.2) (pull_request) Successful in 2m43s
ci / check (8.3) (pull_request) Successful in 2m44s
ci / validate (1954) (pull_request) Successful in 31s
project-status-rollup / rollup (pull_request) Has been skipped
db9471d0d9
Corpus-driven digest move completing all 8 hours: goldenDigest 18c01c24 -> 69c796aa,
corpusVersion .5; engineVersion stays 0.5.0. GoldenProvenanceLock: MANIFEST-delta.
fix(office): keep the printed period at the Matins responsory repeat-divisions
Some checks failed
ci / check (8.1) (pull_request) Has been cancelled
ci / check (8.2) (pull_request) Has been cancelled
ci / check (8.3) (pull_request) Has been cancelled
ci / validate (1954) (pull_request) Has been cancelled
ci / validate (1955) (pull_request) Has been cancelled
ci / validate (1962) (pull_request) Has been cancelled
ci / validate (novus-ordo-2002) (pull_request) Has been cancelled
ci / validate (overlays) (pull_request) Has been cancelled
ci / corpus-verify (pull_request) Has been cancelled
CodeQL / Analyze (actions) (pull_request) Has been cancelled
pr-title / lint (pull_request) Has been cancelled
ci / check (7.4) (pull_request) Has been cancelled
0d3c60e3b1
Adversarial review caught a normalization: the three Matins responsories collapsed the
book's printed period + repeat-asterisk + capital ('néscio. * Quia…') into a colon +
lowercase ('néscio: quia…'). That both diverges from the scan and is inconsistent with
this file's own convention (versicle collapses keep the printed period + capital). Restore
the printed period + capital in R.1/R.2/R.3, dropping only the ℣/℟ + repeat markers.
corpusVersion .5 -> .6; golden re-freeze follows.
chore(golden): re-freeze after the responsory repeat-division fix
All checks were successful
ci / check (7.4) (pull_request) Successful in 3m3s
ci / check (8.1) (pull_request) Successful in 2m50s
ci / check (8.2) (pull_request) Successful in 2m43s
ci / check (8.3) (pull_request) Successful in 2m47s
ci / validate (1954) (pull_request) Successful in 29s
ci / validate (1955) (pull_request) Successful in 29s
ci / validate (1962) (pull_request) Successful in 28s
ci / validate (novus-ordo-2002) (pull_request) Successful in 28s
ci / validate (overlays) (pull_request) Successful in 29s
ci / corpus-verify (pull_request) Successful in 12s
CodeQL / Analyze (actions) (pull_request) Has been skipped
pr-title / lint (pull_request) Successful in 1s
project-status-rollup / rollup (pull_request) Has been skipped
6c3ee8f1a6
corpusVersion .5 -> .6; engineVersion stays 0.5.0; corpus-driven.
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Directorium/Core!507
No description provided.