feat: map sanctoral vigils and attach them to their feast (#27) #343

Merged
manlycucumber merged 1 commit from feature/27-sanctoral-vigils into develop 2026-07-02 02:25:51 +00:00
manlycucumber commented 2026-07-02 02:24:53 +00:00 (Migrated from github.com)

Closes #27. Epic #23, issue 4/6.

What

Seeds the four sanctoral vigils that survive the 1960 reform, each kept on
the day before its feast, violet, and linked to it via vigilOfId:

Vigil Date Class Of feast
St John the Baptist 23 Jun II 24 Jun
Ss Peter & Paul 28 Jun II 29 Jun
St Lawrence 9 Aug III 10 Aug
Assumption 14 Aug II 15 Aug
  • Rank is per-vigil — St Lawrence's is the one III-class vigil. St Lawrence's
    feast (10 Aug, II, red) is seeded alongside its vigil.
  • Every other historical vigil was suppressed in 1960 → simply absent from the
    data → never emitted.
  • SanctoralObservance now carries vigilOfId through from the entry, so the
    realized office exposes its parent link for the resolver's vigil boundary (#29).

Correctness

Adversarially verified against the 1962 Missal (Divinum Officium source data):
the set is complete, ranks/colour confirmed (II/II/III/II, violet), and all
four Latin titles match — no corrections needed.

Verification

composer lint · composer analyse (PHPStan L6, no errors) · composer test
(387 tests, 16,541 assertions — +5). Commits signed + DCO.

Closes #27. Epic #23, issue 4/6. ## What Seeds the **four sanctoral vigils that survive the 1960 reform**, each kept on the day before its feast, violet, and linked to it via `vigilOfId`: | Vigil | Date | Class | Of feast | |------|------|------|------| | St John the Baptist | 23 Jun | II | 24 Jun | | Ss Peter & Paul | 28 Jun | II | 29 Jun | | St Lawrence | 9 Aug | **III** | 10 Aug | | Assumption | 14 Aug | II | 15 Aug | - Rank is **per-vigil** — St Lawrence's is the one III-class vigil. St Lawrence's feast (10 Aug, II, red) is seeded alongside its vigil. - Every other historical vigil was suppressed in 1960 → simply absent from the data → never emitted. - `SanctoralObservance` now carries `vigilOfId` through from the entry, so the realized office exposes its parent link for the resolver's vigil boundary (#29). ## Correctness Adversarially verified against the 1962 Missal (Divinum Officium source data): the set is **complete**, ranks/colour confirmed (II/II/III/II, violet), and all four Latin titles match — no corrections needed. ## Verification `composer lint` · `composer analyse` (PHPStan L6, no errors) · `composer test` (387 tests, 16,541 assertions — +5). Commits signed + DCO.
Sign in to join this conversation.
No reviewers
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!343
No description provided.