Printable idea sheet
inbound_snapshot_events
reqlan rq/indexer/cache-reuse.rq:143
Katz 0.133
Host → LSP inbound snapshots are event-driven and incremental.
Push only when the ideas index is ready ( catalog update, ready-edge, visible-editor change, or window focus ).
While Syncing or not ready, do not push an empty batch that clears the language-server last-good map;
set a deferred flag and flush on the next ready event.
The language client often starts before the index — registration must ensure-open / defer, not skip forever.
Each notification is a per-document merge for visible editors; URIs not in the batch stay as last-good until replaced or the document closes.
After a single-file enqueue reaches ready, notify catalog so consumers get a ready-state event
( mid-sync catalog notifies alone are not enough ).
Coalesce concurrent push work so catalog spam drains to one ready pass.
Related: unify_inbound_indexes,
lazy_features_after_outbound,
inbound_inlay_index_performance.
- implementation
- inbound-snapshot-schedule.ts, inbound-snapshot-push.ts, register-inbound-sqlite-sync.ts, workspace-index.ts, reqlan-inbound-snapshot.ts
- status
- done
- tests
- inbound-snapshot-push.test.ts, inbound-snapshot-store.test.ts, workspace-index.test.ts:enqueueIndex notifies catalog when ready
Interactive page: inbound_snapshot_events