For the complete documentation index, see llms.txt. This page is also available as Markdown.

Synchronization

Adapter reference for how CrossWatch reads/writes provider data during syncing.

Synchronization adapters are the “connectors” the orchestrator uses for syncing. Each adapter knows how to read a provider and how to write changes back.

Related: CW Orchestrator.

How to use this section

  1. Connect providers in Authentication.

  2. Create a pair and enable a feature.

  3. If a provider behaves oddly, open its adapter page below.

Start with one pair and one feature. Then expand once the first run is clean.

What adapters do

Adapters implement the same core flow:

  • Index: fetch a present-state snapshot (what exists now).

  • Normalize: turn provider rows into common items + stable IDs.

  • Apply: add/remove/update on the target side.

  • Stabilize: use local state to avoid repeats and flapping.

Feature semantics (how to think about “changes”)

  • Watchlist: set-like. Adds and removes are straightforward.

  • History: event-like. watched_at matters. Duplicates are common.

  • Ratings: numeric. Scale differences matter. Deletes can be destructive.

  • Playlists: ordered. Often provider-specific. Not widely supported yet.

Stability knobs (common patterns)

  • Snapshot caching to reduce API load.

  • Chunking + small pauses to avoid rate limits.

  • Shadow/unresolved files to prevent endless retries.

  • Activity/watermark logic for delta providers (example: SIMKL).

Adapter guides

Troubleshooting quick checks

  • Adds keep reappearing: provider didn’t “stick” the write. Check adapter state files.

  • Recent changes not syncing: reduce caching, or force a fresh read if supported.

  • 429 / 5xx errors: reduce chunk size, add delay, run less often.

  • Mismatches: add Metadata and prefer stable IDs.

Last updated

Was this helpful?