feat: SSPX particular-calendar conformance gate (#80) #445
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!445
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/80-sspx-conformance-gate"
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 the v0.2 SSPX overlay milestone (epic #75): flips the #49 SSPX oracle from a base-engine divergence tracker into the SSPX particular-calendar conformance gate. The overlay content itself shipped in #76 (St Pius X + Seven Sorrows of Sep 15 to first class); this wires the #78 selector into the harness and proves conformance. Refs #80.
What changed
SspxOracleresolves under the SSPX overlay now (CalendarCatalog::resolver('sspx')), not the bare base engine — exactly the production path a consumer gets by selecting the SSPX calendar.testOverlayModelsEverySspxParticular: every FSSPX-tagged (particular:true) day the ordo publishes must match the engine under the overlay. A newly-published Society proper feast, or a broken overlay, fails it — naming the days.sspx-particularrows: St Pius X and the Seven Sorrows (Sep 15) conform across all three fixture years.The residual (all
particular:false, tracked)corroborates-base-ranksspx-diverges-from-baseSanctoralDataoverlay) and the Vigil of the Assumption (III upstream vs a II-class vigil under the 1960 Code of Rubrics n. 91 — a feed artifact, not conformed to, cf. the didacus/ubaldus precedent)sspx-divergent-otherNothing is silently dropped: the two SSPX divergences we don't model are documented in the fixture README, the oracle docblock, and
facts/overlays/sspx.yaml, and remain guarded in the baseline for drift.Verification
lint+analyseclean ·validation23 green (SSPX conformance + residual-baseline + well-formed) ·introibo-core704 green (1 pre-existing skip). Baseline re-frozen withphp bin/freeze-sspx-baseline.php. Commit SSH-signed + DCO.