Published March 28, 2026 | Version 1.0

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

Files (325.0 kB)

Name Size
md5:b5f836deadeb83bc6873ff68a7dcc447
325.0 kB Preview Download

Additional details

Dates

Created
2026-03-28

Software