will
747a078580
Deploy / deploy (push) Successful in 49s
calendar: model Our Lady's Saturday as a real occurrence outcome
...
On a free Saturday (nothing privileged already claims it, no active
octave), the day's own identity is now "Our Lady's Saturday" rather
than an anonymous ordinary-feria -- mirrors privileged-feria-minor
exactly, per direct instruction: Semiduplex-or-higher still wins
outright (Marian Saturday doesn't apply at all); below that (Simplex,
and Vigil, both under semiduplex on the FeastClass scale) loses and is
commemorated instead. Layered additively after decideOccurrence, same
shape as applyOctaves -- never touches decideOccurrence's own rules.
Needed a real winner identity (not just the plain temporal feria id)
so day-label/antiphon/collect sourcing can recognize it -- added a
temporal-feasts record purely for that, and taught getDayLabel to
check it for any named temporal winner (a small, free improvement for
Christmas/Pentecost's own labels too, previously unhandled).
hours: build the duplex-majus+ Lauds psalmody override (per-feast)
lauds-psalmody no longer unconditionally uses the plain weekday
default: a duplex-majus-or-higher sanctoral winner, or Our Lady's
Saturday (unconditional, no rank threshold -- it isn't competing with
the weekday default the way a saint is), now substitutes its own
proper psalm groups/antiphons/canticle. Per-feast, not per-Common, per
direct instruction, even though most duplex-majus+ saints across the
year don't have one authored yet and fall back to the plain weekday
default until they do.
Content for the worked example (St. Lawrence's own day) surfaced a
real bug while sourcing it: st-lawrence-antiphon.yml had been read
from the Roman/secular rite's own [Ant 1], not Monastic 1617's actual
Benedictus antiphon for that day -- corrected from a fresh live query.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com >
2026-08-11 14:02:55 -04:00
..
2026-08-11 06:18:12 -04:00
2026-08-10 17:25:56 -04:00
2026-08-10 17:25:56 -04:00
2026-08-10 21:11:56 -04:00
2026-08-09 20:03:53 -04:00
2026-08-11 11:45:08 -04:00
2026-08-10 15:33:29 -04:00
2026-08-10 15:33:29 -04:00
2026-08-10 15:26:16 -04:00
2026-08-10 15:26:16 -04:00
2026-08-09 20:03:53 -04:00
2026-08-09 20:03:53 -04:00
2026-08-10 17:37:27 -04:00
2026-08-10 17:37:27 -04:00
2026-08-10 05:27:40 -04:00
2026-08-10 05:27:40 -04:00
2026-08-10 05:27:40 -04:00
2026-08-10 05:27:40 -04:00
2026-08-10 05:27:40 -04:00
2026-08-10 05:27:40 -04:00
2026-08-10 05:27:40 -04:00
2026-08-10 05:27:40 -04:00
2026-08-10 05:27:40 -04:00
2026-08-10 05:27:40 -04:00
2026-08-10 05:27:40 -04:00
2026-08-10 05:27:40 -04:00
2026-08-10 15:26:16 -04:00
2026-08-10 15:26:16 -04:00
2026-08-10 21:11:56 -04:00
2026-08-10 21:11:56 -04:00
2026-08-10 21:11:56 -04:00
2026-08-10 21:11:56 -04:00
2026-08-10 15:38:11 -04:00
2026-08-11 06:34:45 -04:00
2026-08-11 06:34:45 -04:00
2026-08-09 20:03:53 -04:00
2026-08-09 20:03:53 -04:00
2026-08-09 20:03:53 -04:00
2026-08-09 20:03:53 -04:00
2026-08-09 20:03:53 -04:00
2026-08-09 20:03:53 -04:00
2026-08-09 20:03:53 -04:00
2026-08-09 20:03:53 -04:00
2026-08-09 20:03:53 -04:00
2026-08-11 06:34:45 -04:00
2026-08-11 11:45:08 -04:00
2026-08-11 11:45:08 -04:00
2026-08-11 11:45:08 -04:00
2026-08-11 11:45:08 -04:00
2026-08-11 11:45:08 -04:00
2026-08-11 11:45:08 -04:00
2026-08-11 11:45:08 -04:00
2026-08-11 11:57:57 -04:00
2026-08-11 11:45:08 -04:00
2026-08-11 11:45:08 -04:00
2026-08-11 11:45:08 -04:00
2026-08-11 11:45:08 -04:00
2026-08-11 11:45:08 -04:00
2026-08-11 11:45:08 -04:00
2026-08-11 11:45:08 -04:00
2026-08-11 11:45:08 -04:00
2026-08-11 11:45:08 -04:00
2026-08-11 11:45:08 -04:00
2026-08-11 11:45:08 -04:00
2026-08-11 11:45:08 -04:00
2026-08-11 11:45:08 -04:00
2026-08-11 11:45:08 -04:00
2026-08-11 11:45:08 -04:00
2026-08-11 11:45:08 -04:00
2026-08-11 11:45:08 -04:00
2026-08-11 11:45:08 -04:00
2026-08-11 11:45:08 -04:00
2026-08-11 11:45:08 -04:00
2026-08-11 11:45:08 -04:00
2026-08-11 11:45:08 -04:00
2026-08-11 11:45:08 -04:00
2026-08-10 05:27:40 -04:00
2026-08-10 13:51:08 -04:00
2026-08-10 05:27:40 -04:00
2026-08-10 05:27:40 -04:00
2026-08-10 05:27:40 -04:00
2026-08-10 05:27:40 -04:00
2026-08-10 05:27:40 -04:00
2026-08-09 20:03:53 -04:00
2026-08-10 21:20:44 -04:00
2026-08-10 21:20:44 -04:00
2026-08-10 17:37:27 -04:00
2026-08-10 17:37:27 -04:00
2026-08-10 13:51:08 -04:00
2026-08-10 13:50:49 -04:00
2026-08-10 05:27:40 -04:00
2026-08-10 05:27:40 -04:00
2026-08-10 05:27:40 -04:00
2026-08-10 05:27:40 -04:00
2026-08-09 20:03:53 -04:00
2026-08-09 20:03:53 -04:00
2026-08-09 20:03:53 -04:00
2026-08-09 20:03:53 -04:00
2026-08-09 20:03:53 -04:00
2026-08-09 20:03:53 -04:00
2026-08-09 20:03:53 -04:00
2026-08-09 20:03:53 -04:00
2026-08-09 20:03:53 -04:00
2026-08-09 20:03:53 -04:00
2026-08-09 20:03:53 -04:00
2026-08-09 20:03:53 -04:00
2026-08-09 20:03:53 -04:00
2026-08-09 20:03:53 -04:00
2026-08-09 20:03:53 -04:00
2026-08-09 20:03:53 -04:00
2026-08-09 20:03:53 -04:00
2026-08-09 20:03:53 -04:00
2026-08-09 20:03:53 -04:00
2026-08-09 20:03:53 -04:00
2026-08-10 13:51:08 -04:00
2026-08-10 13:50:49 -04:00
2026-08-10 18:38:50 -04:00
2026-08-10 17:37:27 -04:00
2026-08-10 17:37:27 -04:00
2026-08-11 06:07:51 -04:00
2026-08-10 21:20:44 -04:00
2026-08-10 21:20:44 -04:00
2026-08-10 21:11:56 -04:00
2026-08-10 15:26:16 -04:00
2026-08-10 17:37:27 -04:00
2026-08-10 17:37:27 -04:00
2026-08-10 17:37:27 -04:00
2026-08-10 17:37:27 -04:00
2026-08-10 17:37:27 -04:00
2026-08-10 18:38:50 -04:00
2026-08-10 17:25:56 -04:00
2026-08-10 17:37:27 -04:00
2026-08-10 17:37:27 -04:00
2026-08-10 17:25:56 -04:00
2026-08-10 17:25:56 -04:00
2026-08-10 17:37:27 -04:00
2026-08-10 18:38:50 -04:00
2026-08-11 06:07:51 -04:00
2026-08-10 18:38:50 -04:00
2026-08-10 17:14:12 -04:00
2026-08-10 15:26:16 -04:00
2026-08-10 17:37:27 -04:00
2026-08-10 15:33:29 -04:00
2026-08-10 15:26:16 -04:00
2026-08-10 15:26:16 -04:00
2026-08-11 06:18:12 -04:00
2026-08-11 06:18:12 -04:00
2026-08-10 18:38:50 -04:00
2026-08-10 17:37:27 -04:00
2026-08-10 18:38:50 -04:00
2026-08-10 15:33:29 -04:00
2026-08-10 17:25:56 -04:00
2026-08-10 21:11:56 -04:00
2026-08-10 17:37:27 -04:00
2026-08-10 21:11:56 -04:00
2026-08-10 17:37:27 -04:00
2026-08-10 21:11:56 -04:00
2026-08-11 06:34:45 -04:00
2026-08-10 17:25:56 -04:00
2026-08-11 06:07:51 -04:00
2026-08-11 06:18:12 -04:00
2026-08-11 06:18:12 -04:00
2026-08-11 06:18:12 -04:00
2026-08-11 06:18:12 -04:00
2026-08-11 06:34:45 -04:00
2026-08-10 21:11:56 -04:00
2026-08-10 15:33:29 -04:00
2026-08-10 17:25:56 -04:00
2026-08-10 15:38:11 -04:00
2026-08-11 06:07:51 -04:00
2026-08-10 17:14:12 -04:00
2026-08-10 17:14:12 -04:00
2026-08-10 15:38:11 -04:00
2026-08-10 15:26:16 -04:00
2026-08-10 18:38:50 -04:00
2026-08-10 21:20:44 -04:00
2026-08-11 06:34:45 -04:00
2026-08-11 06:34:45 -04:00
2026-08-10 17:25:56 -04:00
2026-08-10 17:25:56 -04:00
2026-08-10 15:26:16 -04:00
2026-08-10 17:25:56 -04:00
2026-08-10 15:38:11 -04:00
2026-08-10 15:38:11 -04:00
2026-08-11 14:02:55 -04:00
2026-08-10 21:11:56 -04:00
2026-08-10 17:14:12 -04:00
2026-08-10 17:37:27 -04:00
2026-08-10 21:11:56 -04:00
2026-08-10 15:38:11 -04:00
2026-08-11 06:34:45 -04:00
2026-08-11 06:07:51 -04:00
2026-08-10 15:26:16 -04:00
2026-08-10 18:38:50 -04:00
2026-08-10 17:14:12 -04:00
2026-08-11 06:18:12 -04:00
2026-08-11 06:18:12 -04:00
2026-08-10 18:38:50 -04:00
2026-08-10 18:38:50 -04:00
2026-08-10 21:20:44 -04:00
2026-08-10 15:33:29 -04:00
2026-08-10 17:25:56 -04:00
2026-08-11 06:34:45 -04:00
2026-08-10 15:26:16 -04:00
2026-08-10 17:37:27 -04:00
2026-08-10 21:11:56 -04:00
2026-08-10 21:11:56 -04:00
2026-08-10 17:25:56 -04:00
2026-08-10 17:14:12 -04:00
2026-08-10 17:14:12 -04:00
2026-08-10 15:33:29 -04:00
2026-08-11 06:18:12 -04:00
2026-08-10 17:25:56 -04:00
2026-08-11 06:34:45 -04:00
2026-08-11 06:34:45 -04:00
2026-08-11 06:34:45 -04:00
2026-08-11 06:34:45 -04:00
2026-08-10 15:38:11 -04:00
2026-08-11 06:34:45 -04:00
2026-08-10 17:25:56 -04:00
2026-08-10 17:25:56 -04:00
2026-08-10 15:33:29 -04:00
2026-08-10 17:14:12 -04:00
2026-08-10 17:37:27 -04:00
2026-08-10 21:11:56 -04:00
2026-08-10 13:51:08 -04:00
2026-08-10 13:50:49 -04:00
2026-08-11 06:07:51 -04:00
2026-08-11 06:07:51 -04:00