Short answer
What matters most
Set a freshness contract for each source: name its owner, how edits, deletions, and access changes are discovered, how long they may take to reach retrieval, and what the assistant does when a sync fails. Use a native connector or change feed if it meets that contract and exposes progress. Add custom sync only for a specific missing event or verification step. Until a critical change is confirmed, mark the source stale or withhold it from answers.
The answer can go stale before the file does
Imagine a support lead revises an escalation rule in a shared policy. The assistant still has yesterday's indexed copy, so an operator follows the retired rule. This hypothetical failure starts after the source is correct: the answer path has not caught up.
A change passes through detection, extraction, index updates, permission refresh, and sometimes an answer cache. The diagram follows those states. A notification or successful poll is only the start; call a source current after the required content and access state have been verified.
Define the freshness promise at the source boundary
Choose the allowed delay from the business decision. A connector that runs on a schedule may be enough for stable reference material; a frequently changing policy or access list may need a tighter update path. There is no useful freshness promise until someone owns the source and decides what happens during the gap.
For every source, record a stable document identity, the last confirmed change position or version, the last successful sync, and visible failures. Keep the source owner responsible for publishing changes and an operator responsible for replaying a failed sync. Define the maximum age that still permits an answer, then test it with the questions that depend on that source.
Incremental indexing depends on source change detection
Azure AI Search documents an internal high-water mark for incremental indexer runs. The source must expose change detection; Azure Storage uses its LastModified property, while some other sources need additional configuration. This describes Azure indexers, not every connector.
Microsoft Learn: Run or reset Azure AI Search indexers (checked October 22, 2026)Give deletions and access changes their own path
An edit should replace every chunk linked to the old source version. A deletion should remove those chunks and any cached answer that can still reveal them. If access is revoked, refresh the affected permissions or withhold the source until the system can prove the new access state. Use a stable source ID to find every derived record; matching only on a filename is not enough when names can change or repeat.
Google Drive's change feed is scoped to a user or shared drive. A removed entry can mean deletion, loss of access, or a move between corpora, and shared drives have their own change log. Treat that as a reason to reconcile source state before deciding whether content can remain available.
A change notification does not contain the changed file
Google Drive notifications indicate that new changes are available; the application still retrieves the change feed to learn the current file state. A notification should wake the sync process, not mark the index as refreshed.
Google for Developers: Retrieve changes in Google Drive (checked October 22, 2026)A removed entry can mean lost access
Google Drive documents separate user and shared-drive change logs. A removed entry can represent deletion, lost access, or a corpus move; the change entry alone does not distinguish those cases. This is a platform-specific example of why permission and deletion handling need explicit tests.
Google for Developers: Track changes for users and shared drives (checked October 22, 2026)Prove each change before calling it current
The table is a small release matrix for one source. In the hypothetical support-policy example, test a question whose answer changes after the rule is revised. Confirm the new wording appears, the retired answer no longer appears, and a user who lost access cannot retrieve the policy. A successful connector response alone does not prove any of those outcomes.
An index reset is not a deletion policy
Azure AI Search warns that a source can be physically deleted before a soft-delete signal is synchronized, leaving an orphaned search document. Its guidance says to keep the deletion marker until the index is updated or remove the orphan explicitly. The sequence depends on the selected source and indexer.
Microsoft Learn: Delete documents from an Azure AI Search index (checked October 22, 2026)On a small screen, scroll the table to read every column.
| Source change | Required sync behavior | Release proof |
|---|---|---|
| New or edited file | Replace every indexed chunk for the stable source ID. | A changed-answer query finds the new version and not the old one. |
| Deleted file | Remove its chunks, citations, and affected cached answers. | A query using an old-only phrase returns no deleted content. |
| Access revoked | Refresh permissions or withhold the source until they are current. | The revoked user receives no title, snippet, or answer from it. |
| Sync fails or stops | Show stale state, retry from a safe checkpoint, and offer a manual path. | A failed run cannot display a current status or hide the error. |
Use a native connector until you can name its gap
A platform connector is enough when it detects the changes your contract names, updates permissions and deletions, reports failures, and passes the matrix within the allowed delay. Custom engineering earns its place when a specific source event, cache invalidation, or verification step is missing. If a manual source refresh is sufficient for a low-change collection, keep that simpler path and make its owner and review date visible.
My knowledge-search case study describes source-backed search across a large company collection; it does not claim that this update workflow was part of that engagement. My AI engineering service covers connecting search to existing sources and systems. If an answer is stale today, start by identifying the source owner, the last confirmed change, and the old content still returned.