Wire the Matins psalmody-override category tier into real resolution
Deploy / deploy (push) Successful in 1m5s
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:
+6
-4
@@ -315,10 +315,12 @@ export function resolveOrdo(date: string): ResolvedOrdo {
|
||||
parts.push({ kind: 'te-deum', text: resolveCommon('te-deum') });
|
||||
} else if (threeNocturns) {
|
||||
// A Duplex+ weekday feast — genuinely different psalmody from a real
|
||||
// Sunday's (see hours/matins-psalmody-overrides.ts's own doc
|
||||
// comment), not the same content reused. Uses that saint's own
|
||||
// Common-category override when authored, falling back to the plain
|
||||
// ferial weekday table (redistributed into 3 nocturns) otherwise.
|
||||
// Sunday's, not the same content reused. getMatinsPsalmodyOverride
|
||||
// itself does the proper -> Common -> (nothing) tiering; only the
|
||||
// final "nothing authored at all" tier — the plain ferial weekday
|
||||
// table, redistributed into 3 nocturns — lives here (see
|
||||
// hours/matins-psalmody-overrides.ts's own doc comment for the full
|
||||
// three-tier picture).
|
||||
const override = winner.kind === 'sanctoral' ? getMatinsPsalmodyOverride(winner.id) : undefined;
|
||||
if (override) {
|
||||
parts.push(...sundayPsalmNocturn(override.nocturn1, day));
|
||||
|
||||
Reference in New Issue
Block a user