FIELD NOTES · ACCEPTANCE EXERCISES

Move one recurring session without moving the series

A training provider moves one weekly consultation and expects the remaining sessions to stay put. A new event identifier can duplicate the appointment, while changing the master can move the whole series. Specify the original occurrence identity before commissioning calendar synchronisation.

Source-bound fact

RFC5545 uses RECURRENCE-ID to identify the original DTSTART of the instance being overridden. Official reference · Checked 17 October 2026.

Filled synthetic acceptance example

Synthetic teaching example, not a client case or a real-platform assessment. On narrow screens, scroll to read the complete table.

InputCheck basisExpected
UIDS17; original21Oct09:00; move to22Oct10:00recurrence identity remains21Oct09:00replace one occurrence
NewUID plus movedstartnot same series identityduplicate risk
RECURRENCE-ID set to moved22Oct10:00wrong original occurrencereject proposal

Supplier acceptance procedure

  1. Record the master UID, timezone/value type and original occurrence start before changing the displayed time.
  2. Test one moved occurrence and confirm neighbouring weeks retain their original times.
  3. Import into the actual supported calendar clients in an authorised test and compare identity, not only visible titles.

Interpret the output

The finite checker compares UID and original recurrence key. It is not a complete ICS parser or a claim that all calendar clients merge updates identically. The handover must include the affected occurrence, neighbours and the tested client/version.

Explicit limits

No actual invitations are sent. Timezone definitions, sequence ordering, cancellations, attendee responses and THISANDFUTURE ranges require separate validation.

Replay the finite teaching model

Save both files in one folder and use Node22 or newer. JSON contains inputs and expected results. The script processes synthetic data only, with no network, credentials, payment or paid API calls. Passing is not evidence that a real integration passed acceptance.

Filled inputs and expectations · Inspectable teaching script

node check.mjs recurring-session-exception-calendar-brief.json