[Epic] DO-format resolver #99
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 project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Directorium/Core#99
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Add a resolver that maps a resolved day to Divinum-Officium-format references so text can be located per office. Done when a day yields the correct DO section keys for its hours.
Epic — child issues are tracked as sub-issues.
Design of record: docs/design/office-text-layer.md (approved 2026-07-17, PR #494). No engine code until Stage 0 (§9) lands.
Stage 3. Spec §2 (office-structure tree), §2.4 (part-path grammar sibling to ObservanceId), §4.3 (DO-format resolver — clean-room: DO section refs are facts/interop-alias, never ported). Re-scoped for v1.2: part-path minting for fixed-proper offices only; the feast/feria + common-vs-proper ACs move to Stage 6 (they need corpus data that lands there).
Status check — staying open by design, not by neglect.
The addressing layer is built:
OfficePartPathResolvermints part-paths deterministically from(office-root-id, hour, part-type[, ordinal])— Directorium's own edition-scoped identity, with any Divinum Officium section key kept only as an interop alias derived from it (§4.3). DO is never called at runtime and nothing is imported fromofficium.pl.But the design explicitly re-scoped this epic's children rather than completing them (
office-text-layer.md§9, §4.3):The blocker is data, not resolver code: #101 needs
commonOf/categoryon feast entries and the Commons themselves encoded as structure+text — neither exists.sanctorale.yamlentries carry onlyrank/colour/month/day. The two v1.2 pilots sidestep Commons entirely (a devotional cursus and the Office of the Dead have their own fixed propers), so the feast/feria and common-vs-proper ACs remain genuinely unexercised.