feat: author the full 1962 General Roman Calendar sanctoral (#41) #417
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!417
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/41-corpus-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?
Closes #41.
Expands the cited CC0 corpus from the 21-entry seed slice to the full fixed-date 1962 General Roman Calendar and reads it into the engine, retiring the inline seed.
What
Citation/CitationSet— the PHP counterpart of the corpuscitesmarkers (the value object deferred from #44, landing with its first consumer).Corpus— a cached reader overdata/corpus(manifest, NDJSON shapes, version stamp). The engine only reads the corpus; it never regenerates it.CorpusSanctoralData implements SanctoralData— joins the identity/attribute/placement shapes by id and rebuilds eachSanctoralEntrywith itsCitationSet; wired as the default inDayResolver::for1962()andSanctoralCalendar::forYear().tools/generator/facts/sanctorale.yaml— the full cited calendar: 297 entries (11 class I, 29 II, 174 III, 83 commemorations) + the 4 surviving vigils; regenerated intodata/corpus.tests/Fixture/SeedSanctoralData— now the controlled fixture the mechanics/precedence tests inject.SanctoralDecemberReferenceTest— the spot-check: a hand-authored December reference confirmed against the corpus.Safety
CorpusSanctoralDataTest).Authoring & accuracy
Authored and cross-verified month by month, then reconciled: slug collisions and same-day/same-name re-slugs of seed anchors removed; St Irenaeus kept on his 1960 date (Jul 3); suppressed 1955/1960 feasts excluded; movable feasts of the Lord resolved temporally or deferred (noted in
KNOWN-LIMITATIONS). Confidence: cross-verified first authoritative dataset — multi-oracle re-proving is Epic #45.Verification
Local gate: PSR-12 clean, PHPStan
[OK], 597 tests / 31,538 assertions green; corpusnpm run verifyreproducible over 6 files.