Revert ordinary-Sunday Semiduplex to transferring, per direct instruction
Deploy / deploy (push) Successful in 1m9s

Keeps Simplex commemorating in place, but a Semiduplex feast on an
ordinary Sunday goes back to transferring off to the next open day —
this app's own design choice, not a correction against a reference
engine. The transfer mechanism is already generic: this file's `decideOccurrence`
only signals "couldn't hold onto this candidate" for the day itself;
calendar/index.ts's resolveDay is what independently checks each
neighboring day's own native occurrence for an incoming transfer and
claims it — no separate lookback logic needed.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-18 11:56:15 -04:00
parent 79372fb274
commit 01667e7926
6 changed files with 71 additions and 85 deletions
+2 -11
View File
@@ -49,20 +49,11 @@ describe('January sanctoral pull (first pass)', () => {
// Jan 14, 2029 is the Second Sunday after Epiphany (ordinary, not
// privileged) — St. Felix (simplex) is commemorated per the ordinary-
// Sunday rule, matching the historical calendar exactly. St. Hilary of
// Poitiers (Semiduplex, also native to this date) is commemorated too
// -- live-verified (Divino Afflatu 1954) as the real, sole
// commemoration named there; this app's own generous-commemoration
// design (see CLAUDE.md) additionally keeps St. Felix rather than
// dropping him now that Hilary no longer needs the day to himself.
// Poitiers (Semiduplex, also native to this date) transfers off the
// Sunday instead, per direct instruction, so he doesn't appear here.
const day = resolveDay('2029-01-14');
expect(day.winner).toEqual({ kind: 'temporal', id: 'post-epiphany-2' });
expect(day.commemorations).toEqual([
{
kind: 'sanctoral',
id: 'st-hilary-of-poitiers',
name: 'St. Hilary of Poitiers, Bishop, Confessor and Doctor of the Church',
rank: 'semiduplex',
},
{ kind: 'sanctoral', id: 'st-felix-presbyter', name: 'St. Felix, Priest and Martyr', rank: 'simplex' },
]);
});