58b201dc23
Throughout Paschaltide (Eastertide/Ascensiontide/Pentecost), two things happen wherever they'd otherwise show: the ordinary 5-suffrage set (Cross/BVM/Joseph/Apostles/Peace) collapses into one alleluia-form "Suffragium Paschale" (Lauds and Vespers each have their own distinct antiphon here, unlike the ordinary suffrages, which share identical text at both hours), and the ferial-Preces litany drops entirely rather than being replaced. Live-verified against the reference source's own [Suffragium] macro directly, byte-identical between Monastic Tridentinum 1617 and Tridentine 1906. Exported isPaschaltide(season) from resolve-common.ts (wraps the pre-existing PASCHALTIDE_SEASONS set). resolveSuffrages gained a third hourId parameter to pick the right antiphon; the Preces omission is a small new check gated on the same isFerialOrVigil predicate that already selects the ferial litany form. Authored lauds-suffrage-paschale.yml and vespers-suffrage- paschale.yml -- English on the Vespers antiphon is this project's own translation (the reference engine leaves it untranslated) and marked draft; everything else verified. Closes the last item in TODO.md's "Mechanism gaps" priority tier. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AGjUyhUZJaSjiniEmnLdak