fix(console): use lossless catalog file identities - #244
Merged
Conversation
📝 WalkthroughWalkthroughConsole configuration discovery now uses BigInt filesystem identities for trusted path validation, opened-file checks, post-read checks, and deduplication. Tests cover precision-collision identities and Windows-specific diagnostic output. ChangesConfiguration identity validation
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related PRs
Poem
Caution Pre-merge checks failedPlease resolve all errors before merging. Addressing warnings is optional.
❌ Failed checks (1 error)
✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
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.
Closes #242.
Root cause: Windows Node Number dev/ino values can collapse distinct files. The Console catalog used that lossy representation for its verified-entry checks and dedupe set, omitting a valid configuration.
This repair uses BigInt file identities for canonical-directory checks, opened-handle and after-read checks, and catalog deduplication. The normal Stats snapshot remains only for the existing migration-source fingerprint. No ACL, no-follow, bounded-read, or audit guarantee is removed.
TDD: a deterministic regression proves two adjacent BigInt file IDs have equal Number projections but remain distinct under the catalog identity helper. The Windows regression now accepts both Number diagnostic outcomes while requiring BigInt non-duplication and both trusted configurations.
Local validation: focused Console dashboard test, OAuth and Console suite, lint, typecheck, and diff check passed.
Summary by CodeRabbit