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>
This commit is contained in:
2026-08-18 06:52:08 -04:00
parent 9ba09964ea
commit 0a8bcef859
6 changed files with 127 additions and 66 deletions
@@ -9,19 +9,23 @@
# this same Common-of-a-Martyr file -- the two categories share one
# scheme, not two.
#
# This file is documentation/reference content only, not yet wired into
# `hours/matins-psalmody-overrides.ts`'s resolution -- per this project's
# "stay on the ferial fallback until proper antiphon text is authored
# per-saint" decision (2026-08), a saint with no entry under
# matins-psalmody-overrides/saints/ still falls all the way back to the
# plain ferial weekday table, never to this generic Common text. Recorded
# here so the next Common-of-a-Martyr(-Bishop) saint's own proper file
# doesn't have to re-derive/re-verify these same shared psalm numbers and
# versicles from scratch, and as the reference point for what "differs
# from Common" means when authoring one (see
# `aliases` registers `common-of-a-martyr-bishop` under this same scheme
# per the redirect confirmed above, rather than duplicating this file --
# checked all 3 Duplex+ Common-of-a-Martyr-Bishop saints on the calendar
# (Ignatius, Callistus I, Boniface of Mainz) and none has a proper
# antiphon of his own, so this alias is how each of them gets real
# psalmody at all (`hours/matins-psalmody-overrides.ts`'s tiered
# lookup falls through proper -> Common -> ferial; this is their Common
# tier).
#
# Recorded so the next Common-of-a-Martyr(-Bishop) saint's own proper
# file doesn't have to re-derive/re-verify these same shared psalm
# numbers and versicles from scratch, and as the reference point for
# what "differs from Common" means when authoring one (see
# matins-psalmody-overrides/saints/st-lawrence.yml's own note on its one
# genuine deviation, Ps 16 vs this file's Ps 64 in Nocturn 2).
id: common-of-a-martyr
aliases: [common-of-a-martyr-bishop]
nocturn1:
groups:
- psalms: [1]
@@ -10,11 +10,6 @@
# pattern already established for Common-of-a-Martyr (see that category
# file's own doc comment).
#
# Reference/documentation content only, not wired into
# `hours/matins-psalmody-overrides.ts`'s resolution -- see
# common-of-a-martyr.yml's own doc comment for why (the "stay on the
# ferial fallback until proper antiphon text is authored per-saint"
# decision, 2026-08).
id: common-of-an-apostle
nocturn1:
groups: