# Guard gauntlet

Source: https://lemon.cy/glossary/guard-gauntlet/  
Publisher: Lemon.cy (Red Tribe Media Ltd, Limassol, Cyprus)  
Updated: 2026-09-10 · Verified against production: 2026-09-10

**Short answer:** The ordered set of checks every iCal event passes through before it can create, change or cancel a booking: presence refresh, status determination, duration skips, the reshape family, consolidation, then the update or create branch. Each guard exists because of a specific production incident.

The gauntlet is what turns a lossy feed into a safe schedule. Order matters: promotion of synthetic rows runs before the duplicate guards, the merged-widen check runs before the 30-night owner-closure skip, and the missing-booking engine runs only after the event loop and only if the feed had any events at all. Lemon documents every guard with the incident that produced it, and a regression test replays that incident's feed so the guard cannot be quietly removed.

The practical consequence for a host is that a Booking.com or Airbnb event never reaches a cleaner's phone on the strength of one fetch. It has to be present, plausible in length, not a reshape of something already tracked, not a duplicate across feeds, and not inside a hold before a job exists; and it has to be absent through a full confirmation window, outside the imminent window, before a job is cancelled.

## Related

- [Reshape](https://lemon.cy/glossary/reshape/)
- [Merged block](https://lemon.cy/glossary/merged-block/)
- [Bulk-disappearance guard](https://lemon.cy/glossary/bulk-disappearance-guard/)
- [When should cleaning software cancel a job because a booking vanished from the calendar?](https://lemon.cy/learn/when-should-cleaning-software-auto-cancel-a-job-from-ical/)
