calendar: split privileged-feria into two real precedence tiers
Deploy / deploy (push) Successful in 41s
Deploy / deploy (push) Successful in 41s
A plain Duplex saint was losing to any privileged feria (Ember days included) since the occurrence engine only let duplex-1-classis+ get even a commemoration there. Verified this was wrong: St. Gregory the Great, plain Duplex, outright wins against a Lenten Ember Saturday in the real Monastic 1617 engine. Splits TemporalCategory's single privileged-feria into privileged-feria (the lesser tier — Lent's Ember days, verified — now behaves like an ordinary Sunday: Duplex+ wins outright) and privileged-feria-major (Ash Wednesday, Holy Week, the Easter Octave, verified via St. Mark only ever being commemorated there, never winning — behaves like privileged- Sunday). Everywhere else the old single category was ambiguous (Pentecost's own Ember days/Vigil/Octave, the Vigil of Christmas) defaults to the stricter major tier pending verification. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -48,12 +48,14 @@ function applyIncomingTransfer(
|
||||
winner: DayWinner,
|
||||
commemorations: Commemoration[],
|
||||
): DayWinner {
|
||||
if (temporalCategory === 'privileged-feria') {
|
||||
// Deferred: a transfer landing on a privileged feria (the concrete
|
||||
// case is Holy Week, right after Palm Sunday) needs its own
|
||||
// Easter-date-keyed lookup table, the same way the reference engine
|
||||
// handles it — not modeled yet. The transfer is simply not delivered
|
||||
// here rather than guessed at.
|
||||
if (temporalCategory === 'privileged-feria-major') {
|
||||
// Deferred: a transfer landing on one of these (the concrete case is
|
||||
// Holy Week, right after Palm Sunday) needs its own Easter-date-keyed
|
||||
// lookup table, the same way the reference engine handles it — not
|
||||
// modeled yet. The transfer is simply not delivered here rather than
|
||||
// guessed at. The lesser privileged-feria tier doesn't need this —
|
||||
// ordinary collision/transfer logic is fine there, same as any
|
||||
// ordinary-sunday landing.
|
||||
return winner;
|
||||
}
|
||||
if (winner.kind === 'temporal') {
|
||||
|
||||
Reference in New Issue
Block a user