LJ
Thanks, this was a real gap. I confirmed in the code that the saved state recorded the cursor but not the notebook/tag scope that produced it, so widening the scope would miss unchanged notes, and narrowing it would leave stale ones. I've pushed a fix to the PR the scope is now stored with the cursor, and any change triggers a full resync that reconciles removals only after the complete listing succeeds. I added tests for widening, narrowing, failure during the listing, and unchanged scope. Appreciate the careful read.