Add Preces (Kyrie/Pater Noster + short litany) to Terce, Sext, and None
Deploy / deploy (push) Successful in 1m19s

Real Monastic 1617 has no Preces at the Little Hours, and that was
previously documented as intentional. Per this project's "not a
reconstruction" design, Prime was recently given Preces in the secular
Tridentine form as a deliberate deviation from Monastic — do the same
here: the reference engine's ferial minor-hour Preces (Kyrie, Pater
Noster, then "Domine Deus virtutum, converte nos..." V/R pairs) is
authored as a single shared common id and wired into all three hours
after the chapter. By explicit choice this is said every day regardless
of rank, mirroring Prime's own "every ferial day" simplification, rather
than importing the reference engine's Sunday/feast form, whose sourcing
(a V/R block reused from Compline) looks like a data quirk rather than
genuine minor-hour content.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PXySSbbUh1EhdN1RnAoCaP
This commit is contained in:
2026-08-25 12:30:16 -04:00
parent f08507adfc
commit 13ffce00bf
5 changed files with 74 additions and 2 deletions
+8
View File
@@ -72,6 +72,14 @@ describe.each(LITTLE_HOURS)('resolveOrdo(%s, ...)', (hourId) => {
expect(prayer && prayer.kind === 'prayer' ? prayer.text.text.en : undefined).toContain('Let us pray.');
});
it('resolves a shared Preces (Kyrie/Pater Noster + short litany) after the chapter, identical across all three hours', () => {
const ordo = resolveOrdo(hourId, TUESDAY);
const preces = ordo.parts.find((p) => p.kind === 'preces' && p.label === 'Preces');
expect(preces && preces.kind === 'preces' ? preces.text.status.en : undefined).toBe('verified');
expect(preces && preces.kind === 'preces' ? preces.text.text.en : undefined).toContain('Lord, have mercy.');
expect(preces && preces.kind === 'preces' ? preces.text.text.en : undefined).toContain('Our Father');
});
it('ends with the shared Little Hour conclusion, identical across all three hours', () => {
const ordo = resolveOrdo(hourId, TUESDAY);
const conclusion = ordo.parts.find((p) => p.kind === 'preces' && p.label === 'Conclusion');