Commit Graph

15 Commits

Author SHA1 Message Date
will a6e4bb15b1 Author real proper Matins/Vespers content for the Nativity of St. John the Baptist
Deploy / deploy (push) Successful in 1m30s
nativity-of-st-john-the-baptist.yml's `common` field (common-of-an-apostle)
was the same mistaken placeholder as the Beheading's, but this feast
needed a different fix: the reference engine assigns it no Commune at
all -- every [Rule] line in Sancti/06-24.txt and SanctiM/06-24.txt points
to proper text, never a Commune category -- so there's no better-fitting
id to swap in either.

Authored the real proper content that was still falling through to the
apostle Common, live-verified against the local Divinum Officium CGI
instance (Monastic Tridentinum 1617):

- Matins invitatory antiphon ("Regem Præcursóris Dóminum")
- Matins hymn ("Antra desérti téneris," with the Monastic doxology
  substitution already used by this feast's own Lauds/Vespers hymns)
- Full Matins Nocturn 1-3 psalmody + nocturn versicles (Nocturn 1/2 reuse
  St. Lawrence's own shared psalm-number pool per "Psalmi Dominica";
  Nocturn 3 reuses St. Lawrence's own canticle scripture files verbatim,
  since the citations are identical)
- Vespers psalmody (only 4 psalm slots at this Monastic rank, not 5 as a
  naive reading of the raw Ant Vespera list would suggest)
- Nocturn 2/3 responsories on the existing nocturn-readings file

`common: common-of-an-apostle` is left in place as a fully inert
placeholder (a non-optional field with no better id available) with an
updated comment explaining why.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WvnBMq7HGfXRyMsVLu2v4D
2026-08-29 06:24:33 -04:00
will 908f7c320d Author Matins Common-of-a-Widow psalmody (secular-sourced), alias Several-Women-Martyrs
Closes the last 2 of 20 Matins psalmody-override Common categories. The
Monastic-1617 track alone was a genuine dead end here -- no real saint
in the Monastic corpus ever invokes this Common, so there was no live
Monastic rendering to verify a hand-resolution against. Resolved per
explicit user authorization to source secular-track content directly,
consistent with this project's existing blended-source design: combined
a direct read of CommuneM/C7.txt's own psalm-substitution rule with one
live secular query (version=Tridentine - 1906) against St. Bridget of
Sweden to supply the actual antiphon text.

Nocturn 1/2 end up near-identical to common-of-a-virgin-martyr.yml (one
antiphon substituted, since Virgin-Martyr's own text literally calls her
a Virgin) -- too close to alias, not close enough to merge, same
reasoning as common-of-a-confessor vs. common-of-a-confessor-bishop.
Nocturn 3 is genuinely Widow-specific (Parable of the Pearl of Great
Price); its English has no source counterpart and is self-translated,
marked draft-quality.

common-of-several-women-martyrs aliased here: its own Monastic template
whole-file-inherits the same base with no genuine Matins-nocturn
override anywhere in the traced redirect chain.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PhysogLP9eCeKS7JEwRi6y
2026-08-28 05:40:43 -04:00
will 09cf0c1aa0 Alias Virgin/Confessor-Doctor/Confessor-Pope to existing Matins Common schemes
Read the reference engine's CommuneM/*.txt templates directly (C6a,
C4a, C4b), rather than trial-and-error live queries, to confirm each
whole-file-inherits its parent Common's Matins nocturn psalmody with no
override. Live-verified byte-identical against St. Scholastica (Virgin
-> Virgin-Martyr) and St. Ambrose (Confessor-Doctor -> Confessor-Bishop);
Confessor-Pope -> Confessor-Bishop aliased on the source redirect chain
alone, since none of vu's three Pope-Confessor saints exist on the
Monastic-1617 calendar at all (matching the convention their own files
already use for every other hour).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PhysogLP9eCeKS7JEwRi6y
2026-08-28 05:20:13 -04:00
will 9e0c1b3eb1 Author St. Scholastica's proper Matins psalmody
Her psalm numbers and all three nocturn versicles match Common-of-a-
Virgin(-Martyr) exactly, but her page is headed "ex Proprio Sanctorum"
and her antiphons genuinely narrate her own rainstorm-miracle episode --
real proper content, not Common text, so she gets her own saint-level
file rather than being left to the Common fallback.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PhysogLP9eCeKS7JEwRi6y
2026-08-28 05:20:06 -04:00
will fd5ab0781e Author proper Matins psalmody for the 5 angel feasts
Common-of-an-Angel doesn't exist in the reference engine -- every angel
feast has genuine proper Matins content of its own, so these are
saint-level overrides, not a Common category. Transcribed directly from
the reference engine's source files (Sancti/05-08 etc.) after a live-CGI
attempt mis-extracted a mid-nocturn antiphon change.

St. Michael needed his own file: the psalmody-override lookup keys off
the day's resolved winner id, not the `propers` field, and his own
Matins antiphons/lessons turn out to genuinely differ from Apparition's
despite his calendar file's "word-for-word identical" claim (true only
of the collect).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PhysogLP9eCeKS7JEwRi6y
2026-08-27 22:23:24 -04:00
will b7c722078d Alias Several-Confessors/Evangelist to existing Matins Common schemes
Live-verified byte-identical against Ss. John of God and Camillus de
Lellis (Several Confessors -> Common-of-a-Confessor) and St. Luke
(Evangelist -> Common-of-an-Apostle) -- genuine full redirects, matching
the reference engine's own votive-index adjacency (C1/C1a, C5/C5c).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PhysogLP9eCeKS7JEwRi6y
2026-08-27 22:09:13 -04:00
will 3142506bd0 Author Matins Common-of-a-Holy-Woman psalmody
Live-verified against St. Anne (2026-07-26): Nocturns 1/2 and Nocturn
3's canticles/versicle match Common-of-a-Virgin-Martyr exactly, but the
Nocturn 3 antiphon itself differs (pearl-of-great-price vs. bridegroom
imagery), so it gets its own file rather than an alias.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PhysogLP9eCeKS7JEwRi6y
2026-08-27 22:09:08 -04:00
will a003d01ed0 Alias Abbot/Confessor-not-Bishop/Apostles-plural to existing Matins Common schemes
Live-verified byte-identical psalms, antiphons, and versicles against
St. Maurus/St. Gall (Abbot), St. Francis of Assisi/St. Jerome
(Confessor-not-Bishop), and the Octave of Ss. Peter and Paul
(Apostles-plural) — genuine full redirects, not new content. Swaps the
matins.test.ts ferial-fallback proof off St. Anthony Abbot (no longer
unauthored) onto St. Monica (Widow, still unauthored).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PhysogLP9eCeKS7JEwRi6y
2026-08-27 21:48:02 -04:00
will a85f113097 Author Matins Common-of-Virgin-Martyr/BVM/Dedication psalmody
Live-verified against Divinum Officium (Monastic Tridentinum 1617) via
clean representative saints with no proper content of their own:
St. Justina (Virgin-Martyr), Our Lady of the Snows (BVM), and the
Dedication of the Lateran Basilica.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PhysogLP9eCeKS7JEwRi6y
2026-08-27 21:47:56 -04:00
will e82f3ac018 Author Common-of-Several-Martyrs Matins psalmody, largest remaining category
Live-verified against Ss. Fabian and Sebastian's clean date (2029-01-20,
Monastic Tridentinum 1617). Genuinely distinct psalm scheme from
common-of-a-martyr (single martyr), not a duplicate. Adds Wisdom 3:1-6
to the scripture store for Nocturn 3's canticles. Swaps the matins.test.ts
ferial-fallback proof to St. Anthony Abbot now that Fabian/Sebastian
resolve through this new category instead.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VpKT73TSqRNnE2CSD8GpUY
2026-08-25 06:41:18 -04:00
will b944f18433 Author Common-of-a-Confessor(-Bishop) Matins psalmody overrides
Live-verified against Divinum Officium's Monastic Tridentinum 1617 CGI
instance: St. Francis of Paola (2030-04-02, "vide C5") for the plain
Confessor scheme, St. Basil the Great (2035-06-14) for the Bishop
scheme. The two turned out word-for-word identical in psalm numbers
and antiphon text across all three nocturns, differing only in their
three nocturn-closing versicles -- kept as separate full files since
the mechanism has no partial-override support.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-18 07:09:43 -04:00
will 0a8bcef859 Wire the Matins psalmody-override category tier into real resolution
Deploy / deploy (push) Successful in 1m5s
getMatinsPsalmodyOverride is now a genuine 3-tier lookup: proper
(saints/) -> Common (categories/, joined via the winner's own
SaintRecord.common) -> the plain ferial fallback, reversing the earlier
"category files are documentation-only" decision now that two
categories are trusted. Category files gain an `aliases` field;
common-of-a-martyr.yml lists common-of-a-martyr-bishop, since the
reference engine's own Matins psalmody redirects that Common outright
to plain Martyr — so its three Duplex+ saints (Ignatius, Callistus,
Boniface, none with proper text of his own) get real Common-tier
content with no new authoring.

tests/hours/matins.test.ts's old ferial-fallback proof (St. Ignatius)
is rewritten as a Common-tier proof; a fresh ferial-fallback proof
(St. John Bosco, an unauthored Confessor category) replaces it.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-18 06:52:08 -04:00
will 9ba09964ea Author Common-of-a-Martyr/Apostle categories and St. Andrew's proper Matins psalmody
Deploy / deploy (push) Successful in 1m6s
Two categories live-verified: common-of-a-martyr (from St. Ignatius of
Antioch, whose own office is entirely Common — also confirms
Common-of-a-Martyr-Bishop redirects to this same scheme, and that none
of its 3 Duplex+ saints has a proper antiphon of his own) and
common-of-an-apostle (from St. Bartholomew). St. Andrew authored as the
second saint-level proof, sharing the apostle category's psalm numbers
in every slot with his own proper antiphon text.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-18 06:43:00 -04:00
will 2bac28d36c Refactor Matins psalmody overrides to category-keyed data
Split the store into categories/*.yml (generic Common-category psalm-
number/versicle/canticle scheme) and saints/*.yml (per-saint proper
antiphon overrides, unchanged shape) per the mechanism's own flagged
next step. St. Lawrence's file moves into saints/ with a category
cross-reference; resolution behavior (per-saint lookup, ferial
fallback when unauthored) is unchanged.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-18 06:42:48 -04:00
will 3e58f2258d Add Matins psalmody overrides for a Duplex+ weekday feast
matins.ts's three-nocturn gate correctly governed nocturn count
(Sunday, or Duplex+) but wrongly reused the literal Sunday psalmody as
content for every three-nocturn day, including a weekday feast. Live-
verified (Monastic Tridentinum 1617) that a Duplex+ weekday feast has
its own genuinely different psalmody -- confirmed per-Common-category,
not per-saint, by cross-checking St. Lawrence against St. Ignatius of
Antioch (a different Martyr sub-category, nearly identical psalm
numbers, different antiphons).

New mechanism (matins-psalmody-overrides.ts, mirroring the Lauds one
but keyed per-category) with St. Lawrence authored as the live-verified
proof; falls back to the plain ferial weekday table, redistributed into
3 nocturns, for every other Duplex+ id until its own category's content
is authored. Also generalizes the canticle shape to support a citation
spanning multiple scripture chapters under one heading (Lawrence's own
Nocturn 3), and adds the new Sirach/Jeremiah chapters his canticles cite.
2026-08-18 06:11:52 -04:00