events: per-occurrence overrides / reschedule (RECURRENCE-ID) + 6 tests
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 41s
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 41s
ev-with-override re-times/re-sizes a single instance of a series (keyed by original start). ev-expand applies overrides after EXDATE/RDATE: agenda re-sorts, instance moved out of window is dropped (slot vacated), no-op for a non-occurring start. assoc for immutable event update. 254/254 green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -18,7 +18,7 @@ capacity rules, transactional booking, and a flow-driven notification dispatcher
|
||||
|
||||
## Status (rolling)
|
||||
|
||||
`bash lib/events/conformance.sh` → **248/248** (Phases 1-4 + ext: fed free/busy, waitlist, EXDATE/RDATE)
|
||||
`bash lib/events/conformance.sh` → **254/254** (Phases 1-4 + ext: fed free/busy, waitlist, EXDATE/RDATE, overrides)
|
||||
|
||||
## Ground rules
|
||||
|
||||
@@ -86,6 +86,13 @@ lib/events/api.sx ── (events/schedule) (events/book) (events/agenda) ──
|
||||
|
||||
## Progress log
|
||||
|
||||
- 2026-06-07 — Per-occurrence overrides / reschedule (RFC 5545 RECURRENCE-ID).
|
||||
`ev-with-override event orig-start new-start new-duration` adds an :overrides
|
||||
entry keyed by the occurrence's original start. `ev-expand` applies overrides
|
||||
after EXDATE/RDATE: a targeted instance is re-timed/re-sized and the agenda
|
||||
re-sorted; an instance moved out of the window is dropped (slot vacated);
|
||||
override of a non-occurring start is a no-op. Used `assoc` for immutable
|
||||
event update. +6 tests, 254/254 green.
|
||||
- 2026-06-07 — RRULE exceptions EXDATE/RDATE (extension). `ev-event-full`
|
||||
carries :exdate/:rdate (epoch-minute starts). Raw expansion renamed
|
||||
`ev-expand-base`; `ev-expand` now applies exceptions: RDATE adds explicit
|
||||
|
||||
Reference in New Issue
Block a user