Phase 3: Missing models
- FileTreeSnapshot (path→hash mapping)
- FileTreeComparer (compare two snapshots)
- FileTreeDiffer (generate diff for PatchMiddleware)
- StorageManager async wrappers
Phase 4: Integration cleanup
- Bootstrap uses ResolveExtension to inject BinaryDiffer
- DiffMode (Serial/Parallel) wired into pipeline
Part of GeneralUpdate v2 refactoring plan.
Phase 3: Missing models
Phase 4: Integration cleanup
Part of GeneralUpdate v2 refactoring plan.