Repository navigation
Verify WOF savings and add thorough analysis - #15
Open
TheKillerMax wants to merge 1 commit into
Open
TheKillerMax wants to merge 1 commit into
TheKillerMax wants to merge 1 commit into
Conversation
Retain compression only when measured allocation savings meet policy. Protect file identity and scope, fix cancellation and cache persistence, and add explicit Windows/NTFS integration coverage.
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.
Why
The generic compression sample can reject files that the selected WOF codec
would compress, while a favourable estimate does not prove that a real
transformation saved useful disk space. The current workflow also needs
stronger handling of stale analyses, file identity, failed decompression and
operation outcomes before doing more exhaustive work.
Changes
eligible, uncached file; keep Sampled as the backwards-compatible default
and preserve LZX as the existing default codec.
configured percentage and saves at least one NTFS cluster. Verify the backing
state and logical length; attempt restoration below the threshold and report
measurement or restoration failures explicitly.
a guarded normal file view. Protect file identity, exact canonical path,
hardlinks and incompatible attributes; coordinate cooperating Compactor
instances through a per-identity mutex.
negative results, keyed by protected file metadata, codec, analysis mode,
threshold and cluster size. Preserve pending cache entries across I/O errors.
DirectStorage preflight cancellable and independent of compression
exclusions. Stop scheduling when the UI closes and try each original
decompression candidate at most once per run.
fix progress/viewer state and keep a persistent report with separate changed,
below-threshold, skipped and failed counts.
crossbeam channel and utility dependencies, support real MinGW cross-builds
and add documentation plus explicit Windows/NTFS test gates.
Validation completed during preparation
on Linux through a standalone harness.
cargo fmt --all -- --check, JavaScript syntax andgit diff --check.cargo check --locked --offline --target x86_64-pc-windows-gnu --tests.cargo test --workspace --no-run --locked --offline --target x86_64-pc-windows-gnu:all workspace test executables compiled and linked with GCC/MinGW.
archive and reproduces the delivered source tree byte for byte.
Required before merging
cargo test --release --locked --target x86_64-pc-windows-msvc -- --ignored --test-threads=1.docs/TESTING.md.The included CI and release workflows execute the automated Windows gates.
The Windows x64 workflow run
for this PR is awaiting approval from a repository maintainer. GitHub has
not started any jobs, so the MSVC build and native WOF/NTFS tests remain pending.
Cross-build success and the portable UI adapter do not establish native WOF
or MSHTML behaviour.
Behaviour and tradeoffs
LZX + Thorough offers maximum candidate coverage with that codec; it does
not introduce a fifth WOF format, try all codecs in sequence, or promise a
fixed savings improvement. It can require substantially more CPU time and
writes. Existing compressed files are preserved. Restoring a low-benefit file
requires free space; its preflight is a snapshot rather than a reservation.
DirectStorage detection remains a documented heuristic.
See
docs/compression-policy.mdfor the precise retention and protectioncontract and its Microsoft API references. The package version remains
0.11.5; changes are recorded underUnreleased.Source baseline
Prepared against
wefalltomorrow/Compactor:masterat1f415a2b043740e900484411337779a6c173cfb5(v0.11.5). The current upstream Git tree matches the supplied source archive exactly. The published commit tree was verified against the complete locally validated source tree before opening this PR.