Formalizing Implicit Property Dependencies in RFC 5545: Toward Safe Property-Level Calendar Synchronization
Authors/Creators
Description
RFC 5545 (iCalendar) defines inter-property interaction rules in prose scattered across hundreds of pages of MUST/SHOULD language in six RFCs. No published, standalone representation of these rules exists in a form suitable for machine consumption.
We extract these rules into a formal dependency graph for VEVENT components, expressed as a YAML/JSON specification with 27 properties and 20 edges spanning six edge types. We classify properties into five merge safety categories—safe, dependent, scheduling, immutable, and always-update—that determine whether concurrent edits can be combined without user intervention. We document 25 bugs across 17 calendar projects spanning 8 programming languages where violations of property dependencies are the root cause. The EXDATE type- must-match-DTSTART rule alone accounts for 7+ separate bugs across independent implementations; the RRULE–DTSTART interaction has bugs dating back 13 years. The graph and merge safety classification are published as language-agnostic YAML and JSON artifacts at https://github.com/iCalDAV/ical-dependency-graph.
Files
Formalizing Implicit Property Dependencies in RFC 5545.pdf
Additional details
Dates
- Created
-
2026-03-28
Software
- Repository URL
- https://github.com/iCalDAV/ical-dependency-graph
- Development Status
- Active