feat: Novus Ordo Ordinary Time in the cited corpus (#108) #483
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!483
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/108-no-ordinary-time-corpus"
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?
First slice of #108 (the NO general-calendar corpus): declare the Novus Ordo (editio typica 2002) as a whole peer edition and land its Ordinary Time temporal data, cited — the load-bearing whole-edition-temporale mechanism plus the one season the reform genuinely invents.
What lands
meta.yaml— declareroman-novus-ordo-2002with a newwhole: trueflag. A whole edition takes its temporal archetypes entire from its owntemporale.yamlrather than unioning the base 1962 archetypes onto it (the additive-octave model the 1954 diff uses). It still shares the cross-edition identity union (a saint kept from the traditional calendar is referenced by the same id — alignment-by-id for the v2.0 comparison tool).facts/editions/roman-novus-ordo-2002/temporale.yaml— theot-sunday/ot-feriaarchetypes (Dominica … per annum,Feria … Hebdomadae … per annum), cited via option A: a generic temporal day-label is an uncopyrightable descriptor, so it cites the norming reference (Normae universales 1969) rather than a PD text. Ranks/colour are facts, likewise cited.sources.yaml— registernu-1969(kind: reference).build.mjs— a whole edition's temporale is own-only; skip emitting an edition's empty shapes (a whole edition may be authored one half at a time — the sanctoral lands in a later slice).OrdinaryTime(#258) now resolves against the shipped corpus, not only the two-row fixture.Guarantees
identity/temporale.ndjson(+2 rows),sources.ndjson(+1),MANIFEST.json, and the new NO temporale file change.isBuilt=falsein the engine, so nothing is publicly resolvable until validation (#260).Verification
corpus verify OK — 33 files, reproducible; Node generator tests 55/55 (incl. a newbuild.test.mjslocking the whole-vs-diff temporale rule); PHPUnit 1075/1075 (incl. a new shipped-corpus OT test);phpcs/phpstanclean.Hebdomadae; symmetric empty-file handling) applied.Part of #108 · milestone v1.1.0 · #256.