Repository navigation
fix: retry Windows lock scans during owner handoff - #180
Merged
Merged
Conversation
smiggleworth
marked this pull request as ready for review
October 10, 2026 04:08
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.
On Windows, a contender scanning a lock while its previous owner removes it can receive
EPERMfromscandirand fail before generating output. The repeated four-writer generator probe reproduced the native error on the merged unique-owner lock protocol. Retry that specific scan failure within the existing ten-second acquisition deadline; persistent denial retains its native cause and owner record. Other filesystem errors propagate.Validation: four deterministic file/directory transient and permanent-denial cases fail against immutable pre-fix source; 406 unit cases and all main release checks now pass locally. The repeated probe verifies 200 serialized publications, complete final bytes, all successful writers and no abandoned lock or stage after each batch. Packed TypeScript 6.0.3/7.0.2 checks retain two names, reject nine removed imports and 15 private paths. Templates, peer floor, production audit and all 22 unchanged performance gates are checked separately. The original PR/merge failure and diagnostic-head failure remain archived; no same-head retry or budget change.
Refs #159. No versions, dependencies, public surface, ownership protocol or publication-record changes. HTTPS response cleanup, the frozen candidate graph/site and maintainer review still gate release.