docs(05): finalize plan 05-07 (D-13 boundary) + add patterns doc

This commit is contained in:
Lucas Berger
2026-06-09 20:34:15 -04:00
parent 36fb929a40
commit ddc84f1ffc
3 changed files with 766 additions and 0 deletions
@@ -21,6 +21,7 @@ must_haves:
- "The actor (the member whose sync detected/wrote the change) is never notified of their own change (D-03)"
- "calendar_events.title is populated from VEVENT SUMMARY during sync so reminder + change copy show a readable title (NOTIF-01 dependency closed)"
- "syncCalendar exposes detected changes via a callback consumed by both the poller (external changes) and the outbox resync (this-member writes)"
- "D-13: event-change detection reads only from the MariaDB cache / poller / outbox — no tsdav or direct Fastmail I/O in eventChangeDispatcher (broker stays the sole Fastmail boundary, carried from Phase 3 D-12)"
artifacts:
- path: "apps/api/src/lib/eventChangeDispatcher.ts"
provides: "dispatchEventChange(change, actorUserId) — builds copy, fans out to non-actor members"