bc4ebcf3b0
The heal decision is extracted into should_heal_self_marker_refusal() so the contract is testable: heal ONLY on exit 2 + a marker naming this process. Five tests pin it — self-owned heals, foreign owner (real live sibling process) never heals, missing/garbage marker never heals, non-exit-2 never heals, and the full acquire -> refuse -> drop-claim -> retry-precondition lifecycle with a real UpdateMarkerGuard. windows-rust-e2e.yml mirrors the wine2e pattern: fires only on wine2e-rust/** pushes, runs the crate's cargo test --lib on windows-latest (the shipping platform). The permanent Linux lane stays authoritative for the unix-gated pipe-drain fixtures.