Handles Synapse lane_paused responses by waiting and resuming indexing instead of failing or re-embedding finished work. Searches fall back to keyword search with the approved paused notice.
Releases build slots and locks while waiting; resumes from validated checkpoints and drops work for changed or deleted files.
Excludes pauses from failure breakers, reports paused with paused_until_ms, and rejects unknown pause fingerprints.
Adds fake-Synapse and fake-clock regressions; lazy checkpoints reduce median peak RSS by 17.6% on a 4,000-chunk corpus.
Confidence Score: 5/5
The PR appears safe to merge; no new actionable issues were found.
Summary
Adds support for Synapse’s lane_paused response. Indexing releases shared resources while waiting, then resumes saved work. Searches use keyword results and health reports the pause.
Indexing waits out Synapse pauses and resumes saved work.
Checkout view workers resume after pauses and route changes.
Semantic search gives keyword results while embedding is paused.
Diagram
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Synapse returns lane_paused] --> B[Save finished work]
B --> C[Release slots and locks]
C --> D{Root stays bound?}
D -->|Yes| E[Wait before retrying]
D -->|No| F[Park worker]
F --> G[Rebind wakes worker]
G --> E
E --> H[Recheck selected files]
H --> I[Resume indexing]
A --> J[Search uses keyword results]