Two things went wrong when the Ruthenian set was overlaid on the packaged
menologion. Every day listed each saint twice, once in each set's wording,
because the overlay only ever appended. And MCI writes the festal cycle
inline as though it were a commemoration -- 'Post-festive Day of the
Exaltation' -- so it crowded out the saint that makes the day, which is the
problem the structured cycle field existed to solve.
A set can now declare mode=replace in a reserved _meta key, which the fetcher
writes because a published calendar of saints is a complete calendar, not a
few additions. Rank and cycle still come from the common set, since a
published list carries neither and the fasting rules need the rank. A set
without the key still appends, now without duplicating.
The MCI parser turns the inline markers into the cycle field instead of
leaving them in the list.
Feasts, seasons and the fast for twenty-three jurisdictions, derived from
the paschalion and the fixed calendar so it needs no network and cannot go
stale.
The three things calendar code usually conflates are kept apart: the
paschalion that gives Pascha, the menologion the fixed feasts are read on,
and the fasting rule that is kept. Almost every Orthodox Church keeps the
Julian Paschalion; what divides them is the menologion, so one file of
commemorations indexed by ecclesiastical date serves old and new calendars
alike.
Six fasting levels rather than three, because the difference between
xerophagy and wine-and-oil is the difference the books actually make. Level
and obligation are carried separately: the Orthodox rule reports everything
as customary, and Ruthenian particular law reports both how a day is kept
and the far smaller minimum that binds.
The menologion covers all 366 days and is dedicated to the public domain.
Sets published by someone else are fetched, never redistributed.