feat: Novus Ordo Ordinary Time engine + edition-selected temporal cycle (#258) #480
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!480
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/258-ordinary-time"
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?
Builds the Ordinary-Form Ordinary Time temporal engine (#258) and makes the resolver's temporal fill edition-selected, without moving the frozen 1962/1954/1955 corpus.
What lands
OrdinaryTimefiller — the two green blocks under one 1–34 week series. Block I counts forward from the Baptism of the Lord (its own week is 1; the first minted Sunday is the Second, since the Baptism occupies the first-Sunday slot); Block II counts backward from Christ the King (always the 34th Sunday, = the Sunday before Advent I). So the last Sunday before Advent is always the 34th and a 33-week year omits exactly one week (the week after Block I). Minted from the edition'sot-sunday/ot-feriatemporal archetypes; reuses the sharedPaschalSkeletonunchanged — the Easter arithmetic is edition-invariant, so the NO needs no new anchors and noPaschalSkeletonglobal is touched.TemporalCycle/YearTemporalCyclestrategy.DayResolver::resolveYearnow sources its fillers and Triduum window from a cycle keyed off theRubricSystem(next torulesFor).TraditionalTemporalCyclereproduces the historic filler list exactly (1962/1954/1955 byte-identical);NovusOrdoTemporalCyclecarriesOrdinaryTime.AnchorFamily::ORDINARY_TIME(additive) so OT slugs parse;TemporalCalendar::addDaysmade signed (byte-identical for the forward-only traditional callers).Safety / scope
corpus verify OK — 32 files(corpus untouched — no generator/facts change).isBuilt=falseand is refused at the public boundary; the filler is exercised by its own tests against a minimal temporal fixture corpus.temporal-skeleton.yamlgenerator addition (OT expresses its seasons in the filler, needs no new offsets) and the remaining NO season fillers (Advent / Christmas Time / Lent / Holy Week / Easter Time) with their cited archetypes — that slice confronts the born-cited / public-domain naming gate holistically. Full oracle sweep is #260. Recorded indocs/design/novus-ordo-calendar-model.md(Implementation sequencing).Verification
[OK]), 1055 PHPUnit tests, Node generator tests, corpus verify.maxBlockI+1— and the resume week cross-checked against USCCB/romcal for 2023–2027 (2024→wk 7 continuous; 2025→wk 10, week 9 omitted). No bugs found.