Lucas Berger
4f42b7535b
feat(11-03): reminderLeadMinutes schema + VALARM wiring in outbox worker (CAL-13/CAL-14)
- Add reminderLeadMinutes to eventFieldsSchema (ingress validation, T-11-06)
- Add reminderLeadMinutes to outboxPayloadSchema (drain re-validation, IN-03 defense-in-depth)
- Import extractValarms + computeAlertInstantUtc from vevent.ts
- UPDATE branch: hasExplicitReminder gate mirrors hasExplicitRecurrence (WR-01 pattern)
- absent field → extractValarms(rawVevent) preserved verbatim (CAL-14, D-08)
- explicit null → clear VALARM (no valarmsToPreserve, null passed to buildVeventString)
- explicit value + allDay → computeAlertInstantUtc at 9 AM local (D-04)
- explicit value + timed → passed through to buildTimedValarm via buildVeventString
- CREATE branch: always explicit picker value; compute allDayAlertInstantUtc when allDay