[Epic] DO-format resolver #99

Open
opened 2026-07-01 00:53:57 +00:00 by manlycucumber · 2 comments
manlycucumber commented 2026-07-01 00:53:57 +00:00 (Migrated from github.com)

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.

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).

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: OfficePartPathResolver mints 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 from officium.pl.

But the design explicitly re-scoped this epic's children rather than completing them (office-text-layer.md §9, §4.3):

#100/#102 are re-scoped to fixed-proper part-path minting only, and those specific ACs move to Stage 6. #100/#102 are NOT nominally "complete" at Stage 3 with their central ACs untested.

The blocker is data, not resolver code: #101 needs commonOf/category on feast entries and the Commons themselves encoded as structure+text — neither exists. sanctorale.yaml entries carry only rank/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.

Status check — **staying open by design, not by neglect.** The addressing layer is built: `OfficePartPathResolver` mints 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 from `officium.pl`. But the design explicitly re-scoped this epic's children rather than completing them (`office-text-layer.md` §9, §4.3): > #100/#102 are re-scoped to **fixed-proper part-path minting only**, and those specific ACs move to Stage 6. #100/#102 are NOT nominally "complete" at Stage 3 with their central ACs untested. The blocker is data, not resolver code: **#101 needs `commonOf`/`category` on feast entries and the Commons themselves encoded as structure+text — neither exists.** `sanctorale.yaml` entries carry only `rank/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.
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Directorium/Core#99
No description provided.