feat: resolve occurrence for second, third, and fourth class days (#32) #348

Merged
manlycucumber merged 1 commit from feature/32-occurrence-lower-classes into develop 2026-07-02 03:20:14 +00:00
manlycucumber commented 2026-07-02 03:18:29 +00:00 (Migrated from github.com)

Closes #32. Epic #29, issue 3/8.

What

The unified occurrenceOutcome() built in #31 already resolves the lower-class
pairings (one ordered comparison over the tier table). This issue verifies that
behaviour and pins the occurrence boundary it must honour:

  • a lower office impeded on a II/III/IV-class day is commemorated — a II-class
    Sunday over a II- or III-class feast; a Lenten feria over a third-class feast;
    a feria over a fourth-class commemoration;
  • n. 95: a second-class feast is never transferred — impeded by a first-class
    day it is omitted (a first-class day admits only privileged commemorations,
    n. 111a), not moved.

Tests + a design-record note; no production change (the method from #31 covers
these classes).

Verification

composer lint · composer analyse (PHPStan L6, no errors) · composer test
(440 tests, 30,263 assertions — +5). Commits signed + DCO.

Closes #32. Epic #29, issue 3/8. ## What The unified `occurrenceOutcome()` built in #31 already resolves the lower-class pairings (one ordered comparison over the tier table). This issue verifies that behaviour and pins the occurrence boundary it must honour: - a lower office impeded on a **II/III/IV-class day is commemorated** — a II-class Sunday over a II- or III-class feast; a Lenten feria over a third-class feast; a feria over a fourth-class commemoration; - **n. 95: a second-class feast is never transferred** — impeded by a first-class day it is *omitted* (a first-class day admits only privileged commemorations, n. 111a), not moved. Tests + a design-record note; no production change (the method from #31 covers these classes). ## Verification `composer lint` · `composer analyse` (PHPStan L6, no errors) · `composer test` (440 tests, 30,263 assertions — +5). Commits signed + DCO.
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!348
No description provided.