If a source supports change memory and issues change events for resource changes and inventory creation, and each change event has a unique sequential ID (á la commit hash in Git), then a destination can easily check if it is in sync by comparing it local event id (from its last sync request) with the most recent remote event id.