Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

June 23-25, 2022 (Sacred Heart & Nativity of St. John the Baptist) #80

Open
bbloomf opened this issue Feb 26, 2021 · 6 comments · May be fixed by #81 or #84
Open

June 23-25, 2022 (Sacred Heart & Nativity of St. John the Baptist) #80

bbloomf opened this issue Feb 26, 2021 · 6 comments · May be fixed by #81 or #84
Labels

Comments

@bbloomf
Copy link

bbloomf commented Feb 26, 2021

June 24, 2022 presents an interesting case. It is a rare coincidence of the Nativity of St. John the Baptist and the Feast of the Sacred Heart. It says here that the Holy See has determined that on June 24, 2022 the Sacred Heart should be celebrated, and the Nativity of St. John the Baptist on the 23rd, unless St. John the Baptist is the patron of the diocese, nation, city, or religious community, in which case it is the feast of the Sacred Heart that gets moved to the 23rd.

However, even apart from this interesting instruction, the current behavior is wrong, in that it is giving the Feast of the Sacred Heart on both Friday, June 24, 2022 and Saturday, June 25, 2022.

@igneus
Copy link
Owner

igneus commented Mar 2, 2021

Thank you very much for letting me know, I will fix that in near future.

@igneus
Copy link
Owner

igneus commented Mar 2, 2021

At first I hesitated to believe that calendarium-romanum really generates two solemnities of the Sacred Heart for 2022, but unfortunately it's true. So here is the shameful result (formatted by calrom), ad perpetuam rei memoriam:

2021-03-02-012824_1920x1080_scrot

@igneus igneus added the bug label Mar 2, 2021
igneus added a commit that referenced this issue Mar 2, 2021
igneus added a commit that referenced this issue Mar 6, 2021
refs #80

Solemnities are the only rank of celebrations guaranteed to be
celebrated every year, but due to a bug in the transfer logic on some
years one solemnity gets lost and another one scheduled twice (both on
the original date and on the date to which it was ought to be
transferred)
igneus added a commit that referenced this issue Mar 6, 2021
... and the Sanctorale solemnity is transferred.

So far the behaviour in such cases was unspecified (not covered by
specs) and in fact the Temporale solemnity was being selected for
transfer, due to the way how Enumerable#sort_by behaves when comparing
two equal values (it preserves the original order).

The rule that in cases of colliding solemnities of equal rank the one
provided by the Temporale cycle must win is not explicitly pronounced in
the liturgical law, possibly because the liturgical law operates with a
set of celebration ranks with higher granularity than
calendarium-romanum (cf. GNLYC 59).
But the rule is in accord with general architecture of the reformed
Roman liturgical calendar (cf. GNLYC 50 a; SC 108)
and results of it's application mostly (if not always) match those
that would be produced if calendarium-romanum used a rank system
allocating a separate rank for every single subitem mentioned in the
Table of Liturgical Days.

Introduction of this rule also accidentally fixes the duplication and
loss of conflicting solemnities of equal rank (#80), but the fix is
not reliable, as it only works well for the current combination of
Transfers logic and celebration picking logic in
Calendar#celebrations_for.
igneus added a commit that referenced this issue Mar 6, 2021
The default implementation of solemnity transfers (now) works well only
due to a combination of compatible logic in Transfers and
Calendar#celebrations_for, both preferring temporale solemnities over
sanctorale ones if both meet on the same date with the same rank.
But if this consent between Calendar and Transfers is broken, it stops
working and the solemnity loss and duplication bug (#80) is back.
igneus added a commit that referenced this issue Mar 6, 2021
This makes the transfer logic completely encapsulated in Transfers and
celebration precedence logic in Calendar#celebrations_for doesn't
interfere with it anymore.
This is the ultimate fix to the solemnity loss and duplication bug (#80).
@igneus
Copy link
Owner

igneus commented Mar 6, 2021

The bug is fixed now. When temporale and sanctorale solemnity of exactly the same rank met on the same date, Calendar was scheduling the temporale one to both the original date and the transfer date and the sanctorale solemnity was lost. 5 more instances of the error would be encountered before 2100, one involving Corpus Christi, the rest Sacred Heart.

@igneus
Copy link
Owner

igneus commented Mar 6, 2021

the Holy See has determined that on June 24, 2022 the Sacred Heart should be celebrated, and the Nativity of St. John the Baptist on the 23rd, ...

This seems to be a small ad hoc exception from the general rules. Usually transfer is being made to the day following if available (and a special rule doesn't state otherwise) and Saturday 2022-06-25 certainly is available as transfer destination.

Some sort of support for this should really be added to calendarium-romanum, but so far I'm inclined to think that it should be rather a general facility allowing to change a celebration's date for a specified year rather than a change to the solemnity transfer logic. A list of officially announced non-standard celebration dates will be packaged in the gem and it will be possible to build custom lists, should similar exceptions be introduced on national or diocesan level.

@igneus
Copy link
Owner

igneus commented Jun 25, 2022

The very same solemnity occurrence will take place in 2033 and 2044, later 2057 and 2068 with Sts. Peter and Paul.

It seems that the ad hoc solution took care to leave unharmed the memorial of Immaculate Heart of Mary. If that assumption is correct, we can expect that the same solution (in case of occurrence of Sacred Heart with another solemnity transfer that solemnity to the day before) will be repeated also for the future cases, or even formally defined as a new calendar rule.

@igneus
Copy link
Owner

igneus commented Jul 8, 2022

It may be useful to note explicitly that the bit

... Ubi vero S. Ioannes Baptista patronus sit nationis vel dioecesis vel civitatis aut communitatis religiosae, sollemnitas Nativitatis S. Ioannis Baptistae die 24 iunii, feria VI, celebretur; sollemnitas autem Sacratissimi Cordis Iesu ad diem 23 iunii, feriam V transferatur, usque ad horam Nonam inclusive

goes against the Table of Liturgical Days, which always gives precedence to solemnities of the General Roman Calendar over proper solemnities, as important they may be.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
2 participants