Add Ember-day mechanism (privileged feria, not a rank contest) + real content
Deploy / deploy (push) Successful in 1m17s
Deploy / deploy (push) Successful in 1m17s
Researched whether September/Advent Ember days belong in the
movable-feasts.ts table alongside Christ the King/Immaculate Heart of
Mary. Live-verified against the reference engine they don't: Ember days
are privileged ferias (a saint can still win outright against them), not
named feasts contesting the day by rank.
Two smaller pieces instead: calendar/temporal.ts's septemberEmberDayOffset
(Sunday nearest Sept 14, same "nearest" arithmetic adventStart already
used, factored into a shared nearestSunday helper) feeds a new
resolveTemporalCategory check giving those 3 dates privileged-feria-minor
(live-verified correct); calendar/ember-days.ts's applyEmberDay relabels
the day's own temporal id to the Ember day's own (so its real content is
found) when the feria itself wins, or adds a commemoration when a saint
does. Advent Ember days needed no precedence change -- Advent's own
season default already covers them.
Found and fixed a real bug along the way: matins.ts's nocturnReadingIds
only ever pulled a commemorated *sanctoral* id's own readings, never a
commemorated *temporal* one's -- so a commemorated Ember day (the common
case) would never have surfaced its own content. Same root cause as the
day.winner.id gap the IHM relocation fixed earlier, just hiding in the
commemorations loop instead.
Authored all 6 days' real collect + 3 Matins readings each, transcribed
directly from the reference engine (September: Tempora/093-{3,5,6}.txt;
Advent: Tempora/Adv3-{3,5,6}.txt, whose lessons are themselves a
cross-reference to the Annunciation's own Common, followed and
transcribed from there). Kept as 3 separate readings per day rather than
the usual combine-into-one default, since each carries its own
genuinely distinct proper responsory.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VZSAgRi4QE4XRTqVto93zA
This commit is contained in:
@@ -29,10 +29,20 @@
|
||||
# no longer classified via this table at all — see the offsetRanges
|
||||
# section below and calendar/octaves.ts.
|
||||
#
|
||||
# Known gap: Advent Ember days (Wed/Fri/Sat after Dec 13) and September
|
||||
# Ember days (Wed/Fri/Sat near the Exaltation of the Cross, Sept 14) are
|
||||
# NOT modeled here — both are fixed-calendar "nearest such-and-such a date"
|
||||
# rules, not a plain offset, and weren't worth guessing at without a source.
|
||||
# September Ember days (Wed/Fri/Sat nearest the Exaltation of the Cross,
|
||||
# Sept 14) are now modeled too, live-verified `privileged-feria-minor` —
|
||||
# see calendar/temporal.ts's septemberEmberDayOffset, called directly from
|
||||
# resolveTemporalCategory below (can't be expressed as a plain
|
||||
# offset/fixedDate entry in this table: the anchor is "nearest Sept 14,"
|
||||
# a fixed-calendar-date rule with its own year-dependent Sunday-finding
|
||||
# math, same shape as adventStart's "nearest Nov 30"). Advent Ember days
|
||||
# don't need any entry here at all — Advent's own `privileged-feria-minor`
|
||||
# season default below already covers them, no live evidence found that
|
||||
# they need a stronger tier (see calendar/temporal.ts's
|
||||
# adventEmberDayOffset, used only for their own content id, not
|
||||
# precedence). Both get their own distinct proper content
|
||||
# (collect/Matins readings) via calendar/ember-days.ts, separate from this
|
||||
# precedence-only table.
|
||||
# Lent's Ember days *are* modeled (clean Easter offsets, directly
|
||||
# verified). Pentecost's own Ember days share this same offset-based
|
||||
# fixability but currently fall to the plain `ordinary-feria` default
|
||||
|
||||
Reference in New Issue
Block a user