[Epic] Precedence & concurrence #29

Closed
opened 2026-07-01 00:51:23 +00:00 by manlycucumber · 1 comment
manlycucumber commented 2026-07-01 00:51:23 +00:00 (Migrated from github.com)

Build phase three: the ordered precedence table (~22 rules) plus the feast-transfer queue that resolves occurrence (two offices on one day) and concurrence (First/Second Vespers of adjacent days). Done when every conflict resolves to a single correct office with correct commemorations and transfers.

Epic — child issues are tracked as sub-issues.

Build phase three: the ordered precedence table (~22 rules) plus the feast-transfer queue that resolves occurrence (two offices on one day) and concurrence (First/Second Vespers of adjacent days). Done when every conflict resolves to a single correct office with correct commemorations and transfers. _Epic — child issues are tracked as sub-issues._
manlycucumber commented 2026-07-02 03:55:44 +00:00 (Migrated from github.com)

Epic complete — the precedence & concurrence resolver

All eight sub-issues merged (squash → develop):

  • #30 the n.91 precedence tier table (src/Precedence/) — PR #346
  • #31 occurrence outcomes, first class (transfer/commemorate/omit) — PR #347
  • #32 occurrence for II/III/IV classes — PR #348
  • #33 Sunday vs feast-of-the-Lord exclusion — PR #349
  • #34 the feast-transfer queue (+ the Annunciation's forced target) — PR #350
  • #35 Vespers concurrence — PR #351
  • #36 commemoration limits & ordering — PR #352
  • #37 the resolver: assembly + day() wiring — PR #353

day() now works end to end. The DayResolver composes the temporal
skeleton and the sanctoral overlay into one resolved LiturgicalDay for any date
— celebration, commemorations, displaced/transferred offices, tempora, and the
evening concurrence — via a deterministic whole-year forward sweep. All
edition-specific rules live behind PrecedenceRules (the #59 seam).

Verified end-to-end against a published 2025 traditional (1962) ordo (which
caught a real ordinary-feria-commemoration bug, now fixed). Core is at 472 tests
/ 30,329 assertions. Exhaustive multi-oracle re-proving is the validation-harness
epic (#45). Design record: docs/design/precedence-model.md.

## Epic complete — the precedence & concurrence resolver All eight sub-issues merged (squash → `develop`): - **#30** the n.91 precedence tier table (`src/Precedence/`) — PR #346 - **#31** occurrence outcomes, first class (transfer/commemorate/omit) — PR #347 - **#32** occurrence for II/III/IV classes — PR #348 - **#33** Sunday vs feast-of-the-Lord exclusion — PR #349 - **#34** the feast-transfer queue (+ the Annunciation's forced target) — PR #350 - **#35** Vespers concurrence — PR #351 - **#36** commemoration limits & ordering — PR #352 - **#37** the resolver: assembly + `day()` wiring — PR #353 **`day()` now works end to end.** The `DayResolver` composes the temporal skeleton and the sanctoral overlay into one resolved `LiturgicalDay` for any date — celebration, commemorations, displaced/transferred offices, tempora, and the evening concurrence — via a deterministic whole-year forward sweep. All edition-specific rules live behind `PrecedenceRules` (the #59 seam). Verified end-to-end against a published 2025 traditional (1962) ordo (which caught a real ordinary-feria-commemoration bug, now fixed). Core is at 472 tests / 30,329 assertions. Exhaustive multi-oracle re-proving is the validation-harness epic (#45). Design record: `docs/design/precedence-model.md`.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
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#29
No description provided.