FIELD NOTES · ACCEPTANCE EXERCISES

An updated calendar booking needs the same event identity

A revised .ics file can create a second appointment instead of updating the first if the event identity changes. Agree the UID and revision policy before adding calendar downloads. The acceptance question concerns identity across exports; it is separate from resolving the appointment’s timezone or available seats.

Who should use this acceptance brief

Consultants and event businesses offering calendar exports. Use this as a scoped website handover task. Where real system evidence is required, teaching examples are not a substitute.

Source-bound platform fact

iCalendar defines UID for persistent component identity and SEQUENCE for revision information. Actual import/update behaviour still depends on the calendar client and delivery workflow. RFC5545: iCalendar · Checked 16 October 2026.

Filled teaching example

Synthetic example, not a client case. Finite inputs, expected decisions and counterexamples follow; no live integration is claimed.

On narrow screens, scroll to read the complete table.

Input / caseCheck basisExpected decision
UID=A seq1 → UID=A seq2same identity, newer revisionupdate candidate
UID=A → UID=Bdifferent identitynew-event risk
UID=A seq2 → seq1older revisionstale review

Run the acceptance exercise

  1. Assign a stable synthetic event ID and approve how revisions increase.
  2. Export original, changed and cancellation cases in a permitted test workflow.
  3. Import into the supported clients and record whether one event was updated or another created.

Interpret the result and retain evidence

The finite function compares identity and sequence only; it does not generate a valid complete ICS file or perform calendaring transport. A correct comparison does not guarantee a client merges manual imports. Keep the actual calendar application/version, imported files and observed event count in the handover.

Limits before implementation

Excludes timezone rules, invitation security, recurring-event exceptions and live bookings. No calendar access or invitation is requested.

Replay the finite example

Save both files in one folder and run with Node22.13 or newer. The example sends no network requests and changes no account or site. Filled inputs and expected outputs · Inspectable functions

node decision-check.mjs calendar-export-event-identity.json