Repository navigation
Conversation
This was referenced Oct 15, 2026
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.
Full fsck could report a protocol-v2 repository clean even when reachable Crab or Git LFS pointer payloads were missing or corrupt. Git connectivity discarded the scanned pointer inventory; valid catalog objects alone did not prove ordered whole-file bytes matched each reachable pointer.
Retain the authenticated temporary Git database in the checker and reuse the existing
crab-read::capsule_protocol::verify_installed_dependenciesverifier during the data phase. Reachable Crab pointers must have catalog coverage, matching size and exact reconstructed Blake3 bytes; LFS objects must match their SHA-256 identity and size at origin. Existing bounded physical checks and final source/root/browse stability checks remain. The database is reused across phases and removed when its checker drops. Update the fsck guide with these verification boundaries.Stacked on #594. No format, dependency, configuration or lockfile changes. The advisor plan and both excluded large-file audit reports are absent.
Validation:
--versionpass on committed headbe0bda09cd7, with no source drift.Evidence map:
crab/src/main.rscapsule fsck dispatch ->crab/src/cmd/fsck.rs::run_fsck->StoreCheckerGit/data phases.crab-readowns reachable-pointer scanning and origin verification, callingverify_catalog_file_recipeandLfsObjectStore::verify_origin.70a9a78c5a6.Is this the best fix? Reusing the existing integrity verifier keeps whole-file/LFS policy in one owner and closes reachable-pointer coverage without another reconstruction path. Physical catalog checking still rereads some bodies; reducing that maintenance cost requires shared API and consumer proof. Normal lookup and push paths are unchanged.
Remaining gates: the final combined 10 GiB matrix, lifecycle coverage and representative S3 latency. Active phase cancellation is unchanged. The parent stack also has the separately recorded rusqlite source-policy inventory mismatch awaiting explicit approval. This draft is not ready to merge.
Native RustFS qualification on exact PR head
be0bda09cd7: