feat: 1954 edition foundation — multi-edition generator + legacy rank scheme (#64) #447
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!447
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/64-1954-foundation"
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?
Lays the groundwork for the Divino Afflatu (1954) engine (Epic #63). The pre-1955 rank vocabulary (
duplex/semiduplex/simplex) is a different scheme from 1962's numeric I–IV classes, so a legacy edition can't inherit 1962's numeric rank — each grade must be authored and carried explicitly. This PR establishes how a legacy edition is authored, generated, and carried before the octave/vigil/precedence work (#65/#66/#67) builds on it.Why this is the foundation (sequencing note)
A 5-agent code-mapping pass showed the design doc had assumed
LegacyRankwas already wired — it wasn't (only the value object existed). And the generator was single-edition. Both are prerequisites for octaves/vigils/precedence, so they come first.Generator (Node, build-time only)
meta.editionsdeclares additional editions, each authored as a diff from abase. A newtransformSanctoraleEditionmaterialises only the entries an edition carries into its own dir. The base (1962) pass is untouched — its corpus bytes are byte-identical (proven by the golden fixture +npm run verify).attributes.sanctoralegains an optionallegacyRanktoken — the author states both the native grade and its normalised numeric class, each cited.ordo-1954(St. Lawrence Press pre-1955 Ordo Recitandi) registered as the 1954 oracle.Engine (PHP runtime)
CorpusSanctoralDatareadslegacyRankand threads it throughSanctoralEntry→SanctoralObservance(both trailing-optional — 1962 unaffected), preserved across the rerank overlay op, ready forRubrics1954Precedence(#67) to order the fine grades the four classes collapse.Data
Guarantees / gates
corpus verifyOK (16 files, deterministic + fresh).LegacyRankEditionTest).Not in this PR (follows)
octaves.ndjson+ sanctoral-octave materialisation (#65, safer split — see updated design doc Seam 4).Rubrics1954Precedence+ turn-on + oracle validation (#67); full 1954 dataset burndown.Part of Epic #63.