hours: build Terce, Sext, and None
Deploy / deploy (push) Successful in 39s

Three separate resolver files (terce.ts/sext.ts/none.ts), not a shared
little-hour module — they're structurally identical but kept independent
by choice. Ordo verified against Divinum Officium (Monastic Tridentinum
1617): opening versicle, self-contained hymn, one antiphon framing three
psalms (no closing repeat, unlike Prime), a capitulum with its own
embedded short versicle/response, the day's own collect, and a closing
identical across all three hours.

Also fills in psalter-distribution.yml's previously-missing Sunday/
Monday/Tuesday psalm entries (Ps 118 sections for Sunday/Monday; Tuesday
turns out to share Wednesday/Thursday's native gradual-psalm set, not a
distinct one). Friday/Saturday's antiphons are derived from each day's
first psalm rather than reusing the native gradual antiphons, since
those two days already use a redistributed, non-native psalm set.

hours/types.ts gains a 'day-collect' part kind — the first ordo to use
the day's own Proper collect rather than a fixed text.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-10 13:51:08 -04:00
parent 7a932b40be
commit 813d173f5c
20 changed files with 526 additions and 29 deletions
+2 -1
View File
@@ -108,9 +108,10 @@ function resolvePart(part: HourPart, date: string, day: LiturgicalDay): Resolved
{ kind: 'preces', text: resolveCommon('lesson-close') },
];
}
// Not used by Prime — Compline-only.
// Not used by Prime — Compline-only, or Little-Hours-only.
case 'nunc-dimittis':
case 'marian-antiphon':
case 'day-collect':
throw new Error(`Prime's ordo doesn't support a '${part.kind}' part`);
}
}