Keep Source Connectors Separate from Memory Decisions

A connector should transport authorized source changes into a stable application format. The memory layer should decide how those changes become searchable evidence or durable context. Separating those responsibilities makes it easier to replace a connector, change a memory service, and diagnose whether an answer failed because the source never arrived or because retrieval failed.
Define a source envelope
Give every imported item a source-system identifier, stable item ID, revision, content type, access scope, and observed timestamp. Preserve the source URL or another reference users can inspect. Include deletion and permission-change events in the contract, not only new content.
This envelope is an application design, not a universal connector API. Map each provider's capabilities explicitly. Some systems expose useful revision IDs; others require change detection. Record where freshness is uncertain rather than fabricating a revision guarantee.
Keep source facts distinct from memory policy
The connector can report that a document changed. It should not decide that every sentence is a permanent user preference. Extraction, deduplication, retention, and context eligibility belong in a separate policy stage with their own tests.
This boundary also protects against source-specific assumptions spreading through the application. A memory record should not become impossible to delete because one connector uses a page ID and another uses a path.
Track lag on both sides
Measure source-to-ingestion delay and ingestion-to-searchable delay separately. A successful connector sync does not prove the latest revision is already available to an answer. Carry status through the pipeline so support can identify the stalled stage.
For permission changes, define the application's required response time and test it. Do not assume a third-party connector mirrors every source ACL automatically. Where permission information is incomplete, restrict the import or enforce an additional application-side boundary.
Replace a provider with a replay test
Replay the same source revisions through the existing and proposed connectors. Compare content, identity, permissions, updates, and deletion events. Then run retrieval questions to ensure the replacement preserves useful evidence, not just payload shape.
Build a workspace-source permission matrix before expanding from one connector to a wider knowledge collection.
Use the custom-connector contract for retry and recovery cases. If you want to reduce connector work, check Supermemory's documented connectors and verify the specific source, authentication, and synchronization behavior your application needs.