Handle stale Metadata document identities safely - #109
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This change validates normal-file Metadata identities before Offline Scanner pair construction, preventing stale document IDs from reaching path-based mutation while allowing a consistent entry for the same logical path to proceed.
Why
A Metadata document can remain readable under its actual local document ID even when the active path service now derives a different ID from its recorded path. An ordinary path-based lookup then addresses another document, or no document at all. Historical renames or path-setting changes may create this state, but this change does not infer a particular origin from the mismatch.
Treating the enumerated stale document as an ordinary path entry can associate reflection, deletion, expired-history cleanup, or last-seen persistence with the wrong identity.
What changed
The change does not add batch repair, rename Vault storage, choose between case variants, coordinate devices, or alter Fast Setup and CLI completion policy. Existing Scanner pair results and the Boolean aggregate remain unchanged.
Verification