Repository navigation
Fix Windows input identity and private cache protection for 0.2.0 - #44
Merged
Merged
Conversation
wangjohn
marked this pull request as ready for review
October 5, 2026 07:03
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.
What changed
Prepare Windows release readiness for 0.2.0. Canonical relative document IDs, case-sensitive component ordering and drive-aware home privacy restore portable corpus behavior while preserving Linux/macOS ordering. Cache descriptions close SQLite connections and escape URI characters correctly.
Native cache ACLs restrict owned directories/database/sidecars to the current user, SYSTEM and Administrators. Verification reads numeric SIDs/access masks from native ACEs, checks directory inheritance, and refuses unsupported/denied ACLs, reparse points, linked ancestors and hard-linked cache files. Caller parents and unrelated existing children are preserved. Protection failure adds CACHE_UNAVAILABLE while measurement continues.
Select PERSIST journaling before auto_vacuum initialization writes. This prevents SQLITE_IOERR_DELETE when Windows cannot delete a journal another live PERSIST connection holds; cold/warm builds and shared-process caches retain their contract.
No statistical algorithms, calibration, report version8.1, package version0.2.0, runtime dependencies, benchmark margins/allowances or deferred WP1/WP10 changes.
Baseline and review dispositions
Original actual-main Windows baseline cbae129:14 failed,825 passed,46 skipped. No baseline failure was exempted from current modified scope.
Independent repair pass1 additionally fixed SDDL alias rejection, ignored deny ACEs/noninheriting parent acceptance, hard-link and linked-ancestor guards, journal deletion and POSIX ordering compatibility. Meaningful portable/native regressions retained. Fresh reviewer2 independently verified all prior dispositions, then repaired W2-THREAD-01: close now stops and joins failed cache writers too, so protection/read/write failure cannot orphan an idle daemon or retain its connection. Three meaningful failure-lifetime regressions failed unfixed and passed fixed. Fresh independent reviewer3 assessed the complete current diff, verified every prior disposition with independent probes and exact current native CI, and found no supported new defect. Source remained unchanged; final independent verification is complete.
Actual validation
Current head
96ce2727e6056efb81b650782818f3e9a6677610, actual target/merge-basecbae1295c757e22c20369aaf2b192f8d3fa1f225.65e67f9of this head into the recorded base. Required full Windows suite: 870 passed / 46 skipped. Native platform regressions: 206 passed plus both snapshots. Python 3.11–3.14, macOS modes, no-syntax, package and enforcing benchmark jobs passed.Fresh independent pass3 is complete with no source changes or unresolved supported finding. The worker made no formal approval, merge or publication; root retains guarded merge and publication authority. Prior failed native and local attempts remain in factual review reports.