Keep a short litany + Our Father at Compline on a Double, don't omit
Deploy / deploy (push) Successful in 1m28s

compline-preces.yml was already the secular Tridentine 1906/1910 text
word-for-word (verified live against both tracks), so no text change
was needed there. The actual gap: both Monastic and secular tracks drop
Compline's Preces to nothing on a Double-or-higher, unlike Vespers/Lauds
which fall back to a short form. Per explicit request, this is now a
deliberate vu-specific deviation from both tracks: on a Double, Compline
substitutes the same short Kyrie/Pater-Noster litany Vespers already
falls back to on Sundays/feasts, instead of showing nothing.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AHXJAWVAabCKX1JgmDh4Rn
This commit is contained in:
2026-08-29 05:29:56 -04:00
parent 943aead9ae
commit a2d082e608
5 changed files with 71 additions and 12 deletions
+9 -3
View File
@@ -34,9 +34,15 @@ export type HourPart =
// `label`, when given, is shown as a heading (e.g. "Preces", "Pretiosa") —
// omitted for parts that are just connective tissue around a reading
// (a blessing, a closing dialogue) that don't read as their own section.
// `omitOnDouble` drops the whole part on a Double-or-higher feast (real
// Preces are suppressed above a certain rank) — see calendar/
// isDoubleOrHigher for how far that's actually wired up today.
// `omitOnDouble` marks a part that's suppressed above a certain rank on
// real Double-or-higher feasts (see calendar/isDoubleOrHigher) — its own
// resolver decides what (if anything) replaces it. Compline's own
// 'preces' part is the only current user: it substitutes the short
// Kyrie/Pater litany (see hours/compline.ts's 'preces' case) rather than
// dropping to nothing, a deliberate vu-specific choice (real practice, in
// both Monastic and secular tracks, drops Compline's Preces to nothing
// on a Double, with no substitute) — the flag still means "not the full
// text here," just not "nothing here."
| { kind: 'preces'; textRef: PropersRef; label?: string; omitOnDouble?: true }
| { kind: 'psalm'; psalmNumber: number; verses?: string; antiphonRef?: PropersRef }
| { kind: 'canticle'; canticleId: string; textRef: PropersRef; antiphonRef?: PropersRef }