feat: order co-occurring sanctoral feasts by rank (#25) #341
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!341
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/25-sanctoral-rank-sort"
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 #25. Epic #23, issue 2/6.
What
SanctoralCalendarnow orders co-occurring offices on a date highest rankfirst (ascending
RankClassordinal — class I is ordinal 1), tie-broken bythe canonical
ObservanceIdstring. That key is fixed and edition-invariant, sothe ordering is deterministic and reproducible run to run (the validation
oracle depends on it). Documented in code and in
docs/design/sanctoral-overlay-model.md.This is a pre-sort of the day's candidates; deciding which office is actually
celebrated, commemorated, or displaced is the resolver's work (#29).
Verification
composer lint(clean) ·composer analyse(PHPStan L6, no errors) ·composer test(368 tests, 16,485 assertions — +5 sort tests covering two andthree offices on one date, the id tiebreak, rank dominance, and reproducibility).
Commits signed + DCO.