Repository navigation
Validate supported ASC MHL inventory chains - #57
Merged
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.
Check previously read ASC inventory files without validating their chain records, and a valid external extension made BitMatch's FAT completion record unusable. It now checks supported chain sequence, inventory coverage and C4 hashes, preserves the original FAT witness, and rejects evidence changed between discovery and the final file check. It never rewrites or extends a history.
The Check result distinguishes inventory-chain checks from file contents, directory structure and authenticity. Legacy inventories without a chain remain content-only. Rename/child-history semantics and directory hashes stay unsupported, and a self-consistent unanchored tail cannot prove that historical generations were never removed.
Validation includes real exFAT generation and extension with the pinned official ASC tool, a clearly labelled privacy-sanitized portable derivative, negative controls for chain corruption/replacement, and local engine/Mac/mobile gates. Original evidence and replacement directories are preserved. This does not establish the cause of either open user report.
Local results: engine XCTest 183 tests (20 expected skips), Swift Testing 211 tests across 36 suites; Mac 1,237 passed with 14 expected skips; iPad and iPhone simulators 74 tests each, zero skips or failures. Independent ASC reference corpus: 82 checks passed. New FAT extension fixture: all six reference validation groups passed. Mobile snapshot fixture corrections are being handled separately; these test counts do not claim an interactive hardware walkthrough.