feat: full 1954 Divino Afflatu sanctoral dataset (#64) #452
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!452
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/64-1954-sanctoral"
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?
Completes the fixed-date sanctoral for the 1954 (Divino Afflatu) edition — the data counterpart to the #67 precedence engine. Closes #64.
What landed
Data (
tools/generator/facts/sanctorale.yaml)roman-divino-afflatublock with their pre-1955 double-scheme grade; 3 date-overrides restore the feasts the reform moved (Ss. Philip & James → May 1, St Irenaeus → Jun 28, the Curé of Ars → Aug 9).notInBaseEditionentries (Finding of the Holy Cross, St John before the Latin Gate, the Apparition of St Michael, St Peter in Chains, the ancient simplex martyrs).ordo-1954. The 1962 corpus and golden fixture (1583–2200) are byte-identical.Engine (
src/Precedence/Rubrics1954Precedence.php)tierOfclassifies a 1954 observance by its native grade, not the 1962COMMEMORATION_ONLYkind — a saint the 1960 reform reduced to a bare commemoration was usually still a simplex+ office that IS the day on a free feria (the burndown's largest correction). Only a genuinecommemoratiograde floors.isGreaterFeriadrops therank ≤ 2fallback (greater ferias are exactly the Advent/Lent/Passiontide, Ember, and Rogation days).Generator — a
vigilOf/octaveOfco-placement referential-integrity gate (checkCoPlacement); on now that the full sanctoral lands.Validation
Authored from the Divinum Officium Divino-Afflatu Sancti data + full-year DO engine output as the witness, cited to
ordo-1954, then validated day-by-day against the DO DA-1954 engine across 1954 and 1956 at zero grade discrepancies on every day both engines celebrate a fixed sanctoral feast. Locked in CI byDivinoAfflatuResolutionTest(no DO needed).isBuiltstays false — deliberately#64 completes the fixed sanctoral, but the pre-1955 calendar has components beyond it that remain deferred (privileged temporal octaves, moveable feasts, the Office of the Dead / All Souls, sanctoral octave days, the Saturday Office of Our Lady) — every residual DO diff traces to one of these. Documented in
docs/design/rubric-system-model.md(Seam 6b); follow-ups filed on #64.Gates
composer lint·phpstan(L6, no errors) ·composer test(780 pass, 1 skipped = optional DO live oracle) · generatorverify(reproducible) +test(24).