async fn run_connectors(
config: &Config,
connectors: &[&dyn Connector],
full: bool,
dry_run: bool,
since: Option<String>,
until: Option<String>,
limit: Option<usize>,
progress: Option<&dyn SyncProgressReporter>,
) -> Result<()>Expand description
Core sync engine: scans connectors sequentially, ingests items.
Scans are run sequentially since connectors hold references. Each connector’s items flow through the standard checkpoint → filter → upsert → chunk → embed pipeline.