planDeferredReinject locks pending by kept-window only; defer path in index uses it while immediate keeps registered filter at compact time.
Co-authored-by: Cursor <cursoragent@cursor.com>
RPC E2E with debug shows registered present at session_compact but planned=[]
because kept still contains the skill block; registered=[] still drops skills
absent from kept. Sync file readSettings avoids RPC hook deadlock on
SettingsManager/isProjectTrusted.
Co-authored-by: Cursor <cursoragent@cursor.com>