feat: Novus Ordo precedence — the reformed Table of Liturgical Days (#257) #481
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!481
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/257-novus-ordo-precedence"
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?
Adds
NovusOrdoPrecedence, the Ordinary-Form precedence engine, beside the three traditional editions (#257). It reads the reformed Table of Liturgical Days (Normae universales 1969, n. 59) line by line — a lower line wins, like the traditional n. 91 table but flatter.What lands
commemorationLimit/commemorationClassLimitare 0,isPrivilegedCommemorationfalse, andtierOfnever returns a commemoration tier. When two celebrations occur the higher wins; the loser is transferred (an impeded Solemnity, reusingforcedTransferDate— e.g. the Annunciation out of Holy Week → Easter+8) or omitted. Never commemorated.officeOfTheDeadYieldsToSunday()is false, so 2 November (line 3) displaces a Sunday of Ordinary/Christmas Time (line 6) rather than yielding.PrecedenceRules::observesVespersConcurrence()(true for the three traditional editions, false for NO) gatesDayResolver::withConcurrence— the resolver skips a meaningless second-Vespers pass for the reformed Office. Byte-identical for the traditional editions (a top-of-method early return; golden fixture proves 1962/1954/1955 unchanged).tierOfmaps observances to the n.59 lines: Triduum feria (1); privileged temporal — Nativity/Epiphany/Ascension/Pentecost + Sundays of Advent/Lent/Easter (2); Solemnities + All Souls (3); Feasts of the Lord (5); Sundays of Christmas/Ordinary Time (6); Feasts of saints (7); Lenten weekdays (9); obligatory (10) / optional (12) memorials; other weekdays (13).rulesForgains aNOVUS_ORDO_2002case; the edition is stillisBuilt=falseand refused at the public boundary (the isBuilt gate fires beforerulesFor).Safety / scope
[OK]; 1962 golden byte-identical; corpus untouched (verify OK — 32 files).PrecedenceTable, tested here against a minimal Novus-Ordo fixture table; the real cited table + full-year oracle validation land with the general-calendar corpus (#108) and #260.