One existing-key lookup, one resolve per distinct recording, and one
multi-row insert-or-ignore per batch instead of per-listen queries.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
runSync snapshots and diffs source records, applies new records and
never-edited fields, files pending changed/conflict/removed/merged
events, de-duplicates plays across sources and ingests listens.
listChanges/resolveChange drive the Changes inbox.
Co-Authored-By: Claude Opus 5.5 <[email protected]>