Retag 86 commemorations oca.org keeps; rank the calendar grid's saints - #234
Merged
Merged
Conversation
A new reverse screen, tools/oca/oca_vs_app.py, asks which of oca.org's 2,968 commemorations for 2026 the Slavic page lacks. #225 asked the opposite question and never looked this way. Of the 93 entries it found only on the Greek page, 90 were read individually and are the same saints under Greek transliterations (Eulogios/Eulogius, Neophytos/Neophytus, Vassianos/Bassian, Kalliniki/Callinica). The 86 rows behind them move from greek to common; greek goes from 630 to 544. oca.org entries matched on the Slavic page go from 822 to 914. Three are held back because the row names someone oca.org does not keep that day: 04-09 Raphael, Nicholas, Irene, & Olympias -- oca.org has no Olympias 04-20 Gregory & Anastasios, Patriarchs of Antioch -- oca.org's Anastasius that day is the Sinaite, not the patriarch 05-19 Theotima & Kyriake -- oca.org has no Kyriake The retag showed up a display problem. Day.minimal_saints, the three names on the calendar grid and in summary_title (and so in RSS and iCal), was a plain truncation of Day.saints. That list puts every day_native row before every additive one, and most storied saints are additive. So on 50 Slavic days a bare harvested name took a storied saint's slot: "Martyr Mertios" over Benedict Biscop on Jan 12, "Marinos the Martyr" over St Patrick on Mar 17. minimal_saints now keeps three by _display_priority, stable within each tier: 1. ranked (rank > 0 or high_rank) 2. with a story 3. the rest Across 2026 a retagged row now holds a slot on 34 Slavic and 21 Greek days, and on none of them is a ranked or storied saint left out. The Alexa skill will now speak the 86 names in both traditions, because _speech_worthy only mutes story-less rows tagged greek. That is about one extra name on each affected day, the same trade #225's retags made. calendarium/tests/data/january.json is regenerated: nine January days gain saints, and several summary_titles change under the new ranking. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019nQRjJpPqW89xqzAf1vsEX
The traditions keep this council on different days. oca.org lists "the Holy Fathers of the Sixth Ecumenical Council" on Jan 23 and has no council on Sep 14. antiochian.org puts it on Sep 14 in both harvested years. The app had only the Greek Sep 14 row, so Slavic readers never saw it. Retagging that row common would have put it on the wrong day for them. This is the Catherine pattern again: Nov 24 for Slavic readers, Nov 25 for Greek. This adds a slavic row on Jan 23 with oca.org's wording and no story. It links to the same Saint (pk 6846) as the Greek row, so the saint page lists both occasions. The other councils (First, Second, Third, Fifth, Seventh, and the Sunday of the first six) were checked and already match oca.org. A test pins all four combinations of tradition and date. calendarium/tests/data/january.json is regenerated for the extra Jan 23 name. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019nQRjJpPqW89xqzAf1vsEX
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Retag.
tools/oca/oca_vs_app.pyis new. It checks the reverse of #225: which of oca.org's 2,968 commemorations for 2026 the Slavic page lacks. 93 were found only on the Greek page. Reading them one at a time:greektocommon(greekgoes from 630 to 544).oca.org entries matched on the Slavic page go from 822 to 914.
Ordering fix.
Day.minimal_saints(the calendar grid,summary_title, RSS and iCal) was the first three names ofDay.saints. That list puts everyday_nativerow first, so the retag let bare harvested names displace storied saints on 50 Slavic days, e.g. "Martyr Mertios" over Benedict Biscop and "Marinos the Martyr" over St Patrick.minimal_saintsnow keeps three by_display_priority, stable within each tier:rank > 0orhigh_rank)Across 2026 a retagged row still holds a slot on 34 Slavic and 21 Greek days, and no ranked or storied saint is left out on any of them.
Sixth Ecumenical Council. The traditions keep this council on different days: Slavic on Jan 23 (oca.org), Greek on Sep 14 (antiochian.org). The app had only the Greek Sep 14 row, so Slavic readers never saw it. A new
slavicrow on Jan 23 (no story) links to the same Saint record, so the saint page lists both dates. The other councils already match oca.org.Alexa. The skill will now speak the 86 retagged names in both traditions:
_speech_worthyonly mutes story-less rows taggedgreek. That's roughly one extra name on each affected day, the same trade #225 made.Remaining gap
The screen also found about 1,485 oca.org commemorations with no counterpart in the app. 233 of them are icons. They're listed in
data/oca_raw/oca_vs_app-2026.tsvand are not addressed here.Test plan
_display_prioritytiers, and the Sixth Council appears on each tradition's own date onlyjanuary.jsonregenerated; the diff is the added saints plus re-ranked summariesoca_vs_app.pyre-run: the Greek-only bucket is down to the 3 held🤖 Generated with Claude Code
https://claude.ai/code/session_019nQRjJpPqW89xqzAf1vsEX