Implement Code of Rubrics n. 33 (omit II/III-class vigils on Sundays, I-class days, or when their feast is reduced) #441

Open
opened 2026-07-02 20:17:59 +00:00 by manlycucumber · 0 comments
manlycucumber commented 2026-07-02 20:17:59 +00:00 (Migrated from github.com)

The precedence engine does not implement Code of Rubrics (Rubricae 1960) n. 33:

A vigil of the II or III class is omitted entirely when it falls on any Sunday
or feast of the I class, or if the feast to which it is attached is transferred
or reduced to a commemoration.

"Omitted entirely" means no office and no commemoration.

Symptom (found during the #428 burndown, verified against Divinum Officium + both oracles)

The Vigil of St Lawrence (Aug 9, the one III-class vigil — correctly present in the corpus)
is mishandled in two ways:

Date Correct (DO + oracles) Engine Bug
2025-08-09 (Sat) Aug 10 falls on a Sunday → St Lawrence reduced to a commemoration → the vigil is omitted entirely → Office of the BVM on Saturday (IV) Vigil, III class vigil wrongly kept
2026-08-09 (Sun) XI Sunday after Pentecost, II — vigil omitted entirely, not even commemorated Sunday II (right celebration) but adds a spurious commemoration of the vigil vigil wrongly commemorated

The vigil itself is correct data — do not remove or downgrade it (it survives in the
1962 books, R.G. n. 32). This is purely the missing n. 33 omission rule.

Implementation notes

  • Add the n. 33 rule to src/Precedence/Rubrics1962Precedence.php (it implements the
    I-class-vigil no-commemoration rule at ~n. 30 but has no II/III-class vigil-omission rule);
    extend tools/generator/facts/precedence.yaml / the precedence tiers as needed.
  • Cite rg-1960:33. Add a precedence-level test (the existing SanctoralVigilTest only
    checks placement/attributes, not occurrence).

Once fixed, the two Aug-9 rows leave the missalemeum baseline (the 2026-08-09 overranked
row is a separate missalemeum role-inversion artifact and stays noted in the baseline).

Refs #428

The precedence engine does not implement **Code of Rubrics (Rubricae 1960) n. 33**: > A vigil of the II or III class is **omitted entirely** when it falls on any Sunday > or feast of the I class, **or if the feast to which it is attached is transferred > or reduced to a commemoration.** "Omitted entirely" means no office **and no commemoration**. ### Symptom (found during the #428 burndown, verified against Divinum Officium + both oracles) The Vigil of St Lawrence (Aug 9, the one III-class vigil — correctly present in the corpus) is mishandled in two ways: | Date | Correct (DO + oracles) | Engine | Bug | |---|---|---|---| | **2025-08-09 (Sat)** | Aug 10 falls on a Sunday → St Lawrence reduced to a commemoration → the vigil is **omitted entirely** → Office of the BVM on Saturday (IV) | Vigil, III class | vigil wrongly kept | | **2026-08-09 (Sun)** | XI Sunday after Pentecost, II — vigil **omitted entirely**, not even commemorated | Sunday II (right celebration) **but adds a spurious commemoration of the vigil** | vigil wrongly commemorated | The vigil itself is correct data — **do not** remove or downgrade it (it survives in the 1962 books, R.G. **n. 32**). This is purely the missing n. 33 omission rule. ### Implementation notes - Add the n. 33 rule to `src/Precedence/Rubrics1962Precedence.php` (it implements the I-class-vigil no-commemoration rule at ~n. 30 but has no II/III-class vigil-omission rule); extend `tools/generator/facts/precedence.yaml` / the precedence tiers as needed. - Cite `rg-1960:33`. Add a precedence-level test (the existing `SanctoralVigilTest` only checks placement/attributes, not occurrence). Once fixed, the two Aug-9 rows leave the missalemeum baseline (the 2026-08-09 `overranked` row is a separate missalemeum role-inversion artifact and stays noted in the baseline). Refs #428
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#441
No description provided.