Skip to content

fix(proofs): hold mutation campaign ownership - #434

Merged
P4suta merged 1 commit into
mainfrom
fix/mutation-campaign-ownership
Oct 25, 2026
Merged

P4suta merged 1 commit into
mainfrom
fix/mutation-campaign-ownership

Conversation

@P4suta

@P4suta P4suta commented Oct 25, 2026

Copy link
Copy Markdown
Owner

Why

Mutation workers used a temporary directory outside the staged source tree, leaving the active campaign without a common owner lease.

Changes

Hold the recognized scratch owner lock before copying source and through both synchronous mutation phases.
Place source and worker temporary directories under the leased parent, and set temporary-directory variables only on mutation child commands.
Release the lease before removing the campaign tree on Windows.
Keep mutation concurrency, jobserver use, test threads, timeouts, assertions, and retries unchanged.

Validation

The original ancestor-lock regression failed before the change.
The focused mutation runner regressions passed.
A bounded Linux fixture ran cargo-mutants 27.1.0 and checked the common ancestor lease from every real worker copy.
The control missed all five intentional assertion-free mutants, as the fixture requires.
The normal project gate passed its non-Clippy stages.
Strict workspace Clippy passed after explicit-clone corrections in the tests and integration with the current main branch.
The generated ADR index and document checks passed.
The complete native production mutation campaign remains unrun.
The historical lock holder and executable provenance remain unresolved in #195.

Closes #430.

@coderabbitai ignore

@P4suta
P4suta marked this pull request as ready for review October 25, 2026 01:56
@P4suta
P4suta merged commit 12b9ccd into main Oct 25, 2026
6 checks passed
@P4suta
P4suta deleted the fix/mutation-campaign-ownership branch October 25, 2026 01:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(proofs): hold mutation campaign temporary ownership

1 participant