feat: fill the Holy Week and Paschal Triduum block (#19) #336

Merged
manlycucumber merged 1 commit from feature/19-holy-week into develop 2026-07-01 21:07:15 +00:00
manlycucumber commented 2026-07-01 21:06:12 +00:00 (Migrated from github.com)

Closes #19.

The third temporal block-filler — the summit of the liturgical year. Easter-anchored via PaschalSkeleton.

What's here

  • HolyWeekforYear($year) fills the seven days [Palm Sunday, Easter) (Easter−7 … Easter−1). Every day is first class and Passiontide (no sanctoral feast may displace it). Hands off from #18 at Palm Sunday; Easter Sunday opens Eastertide (#20).
  • Triduum markingtriduum() / isTriduum() mark Holy Thursday, Good Friday, and Holy Saturday (the Sacrum Triduum, the apex of the Table of Precedence) so the precedence engine (#29) can give them absolute priority.
  • Design doc gains the Holy Week section.

Accuracy (1955/1962 reform)

Principal colours: violet (Palm Sunday, Mon–Wed, Holy Saturday), white (Maundy Thursday), and black for Good Friday. The acceptance criterion's "red Good Friday" is the modern rite — the 1962 Good Friday is black (turning violet only for Communion), verified against multiple sources (Adoremus, 1962 propers). The within-day changes (red Palm procession, violet Good Friday Communion, violet→white Paschal Vigil) are a rubrics-layer concern, deferred and documented.

Latin titles verified: "Dominica II Passionis seu in Palmis", "Feria II/III/IV Majoris Hebdomadae", "Feria V in Cena Domini", "Feria VI in Passione et Morte Domini", "Sabbato Sancto". An adversarial liturgical review pass (with web verification) raised no findings.

Gates

Anchors match PaschalSkeleton; a 1583–2200 sweep confirms a 7-day block, every day first-class Passiontide, unique identities, and Good Friday black. composer lint · composer analyse (PHPStan L6) · composer test277 tests, 8075 assertions green.

Closes #19. The third temporal block-filler — the summit of the liturgical year. Easter-anchored via `PaschalSkeleton`. ## What's here - **`HolyWeek`** — `forYear($year)` fills the seven days `[Palm Sunday, Easter)` (Easter−7 … Easter−1). Every day is **first class** and **Passiontide** (no sanctoral feast may displace it). Hands off from #18 at Palm Sunday; Easter Sunday opens Eastertide (#20). - **Triduum marking** — `triduum()` / `isTriduum()` mark Holy Thursday, Good Friday, and Holy Saturday (the Sacrum Triduum, the apex of the Table of Precedence) so the precedence engine (#29) can give them absolute priority. - **Design doc** gains the Holy Week section. ## Accuracy (1955/1962 reform) Principal colours: violet (Palm Sunday, Mon–Wed, Holy Saturday), white (Maundy Thursday), and **black** for Good Friday. The acceptance criterion's "red Good Friday" is the *modern* rite — the 1962 Good Friday is black (turning violet only for Communion), verified against multiple sources ([Adoremus](https://adoremus.org/2021/03/holy-weeks-past-and-present/), [1962 propers](https://missalemeum.com/en/calendar/2042-04-04)). The within-day changes (red Palm procession, violet Good Friday Communion, violet→white Paschal Vigil) are a rubrics-layer concern, deferred and documented. Latin titles verified: *"Dominica II Passionis seu in Palmis"*, *"Feria II/III/IV Majoris Hebdomadae"*, *"Feria V in Cena Domini"*, *"Feria VI in Passione et Morte Domini"*, *"Sabbato Sancto"*. An adversarial liturgical review pass (with web verification) raised **no findings**. ## Gates Anchors match `PaschalSkeleton`; a 1583–2200 sweep confirms a 7-day block, every day first-class Passiontide, unique identities, and Good Friday black. `composer lint` · `composer analyse` (PHPStan L6) · `composer test` — **277 tests, 8075 assertions** green.
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Directorium/Core!336
No description provided.