feat: place the special movable feasts (#22) #339
No reviewers
Labels
No labels
area: build
area: ci
area: compare
area: data
area: engine
area: model
area: provenance
area: rite
area: validation
backport
blocked
breaking
confirmed
dependencies
duplicate
epic
github_actions
invalid
needs-info
needs-triage
php
priority: high
priority: low
priority: medium
regression
type: bug
type: chore
type: correction
type: docs
type: enhancement
type: feature
type: fix
type: perf
type: refactor
type: security
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Directorium/Core!339
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/22-movable-feasts"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #22. Closes Epic #14 (the temporal cycle Factory — the whole Proper of Time).
The final piece: the six movable feasts of the Lord that are placed by a Sunday rule rather than filled as part of a block.
What's here
MovableFeasts—forYear($year)places six feasts, each a whiteFEASTon its own date (feasts()/on()).Scope & accuracy
Issue #22 is framed around the three civil-anchored feasts that need the dedicated Sunday-placement rules — including the edge case it calls out: when no Sunday falls in 2–5 January, the Holy Name is kept on 2 January (tested via 2023, whose 1 January is a Sunday). The three Easter-anchored feasts are trivial
PaschalSkeletonoffsets, included so the movable temporal cycle is complete.All six are feasts of the Lord →
temporale, under the anchor family that computes them. They overlay the temporal skeleton the block-fillers emit (Trinity occupies the first-Sunday-after-Pentecost slot); composing them by precedence/commemoration is the resolver's job (#29).Verified across a 1583–2200 sweep (proper weekdays and placement windows; 266 years exercise the Holy Name 2-Jan edge; six distinct dated observances). An adversarial review (with web verification of the 1962 dates, ranks, and Latin titles) raised no findings.
Gates
composer lint·composer analyse(PHPStan L6) ·composer test— 344 tests, 16421 assertions green.