#308 / #307 W1a — WINDOWS GATE HANDOFF PR: https://github.com/BigscreenVR/spt-bs-core/pull/226 Head: c9e8051140bb060d22fde12424d44316bfc1b7f4 Base: 289e3cdfe39a8a4e91f5ea7d4b436f11a50b191e Branch: fix/308-registry-process-lock Tree: .worktrees/308-registry-process-lock One commit, 15 files, +566/-199. Space-spelled Co-authored by: todlando verified from raw commit body. Native Windows evidence: - pool-claim/build 0. - red inventory 0; exactly 1 selected two-process cell. - red nextest 100; independent worker witness: another process reported HELD but its sentinel was unlocked. - fixed serving.rs restored byte-exact SHA256 a586a3839ec5d5c62794fdac695cfa2c2bc8549cef730069041067e0c33e1d90. - capture-player fixture build 0; green inventory 0. - green nextest 0, 44/44 passed, 55.298s: 26 store serving units, 13 daemon servehost units incl fail-closed, 3 two-process regressions, attachment and cross-node webserve composites. 1637 tests outside selection skipped, not claimed covered. - docs generator 0; first native docs check 0. - traceable-reqs 0.4.1 version 0 and check 0; 923/923 complete, zero findings. - pool-release 0. Proof boundary: runtime tested e6e9a8cad719f1ce61c396bae119c1539110bd08. Final c9e80511 differs only by docs-site/src/changelog.md (+9 generated lines). Every final tracked file byte-matches the successful trace input; all runtime/test/build files match the Windows-tested commit. final-provenance.json records hashes. Rig-only docs guard stop: xtask gen also normalized CLI reference CRLF to LF without semantic change. docs-final wrapper exited1 before check; generator itself exited0. Normalized equality to HEAD and the original raw hash were proved, original bytes restored, and docs-check then ran the first actual native check (0). No generator rerun or hidden product red. Validation ran hermetically with private SPT_HOME/temp, jobs2, own target, ci-windows profile, golden's three knobs and no nextest retries. Hertz's separate hertz-307-evidence lane was authorized concurrent CPU contention. No driver-forced test termination; abrupt-holder exit is an intentional regression arm. Earlier session-owned incomplete analyzer termination is separately recorded in own-analyzer-stop.json and is not test evidence. Target retirement: released, outbound Get-Item -Force classified real directory, project-wide inbound reparse sweep found none aimed at own target, own-target process census empty. Only target/ removed; source/proofs unchanged. Apparent target bytes 14,662,965,076. Free before171,543,400,448 -> after185,208,098,816 (+13,664,698,368 observed; shared-drive sample, not a lease). Preserved pool helper: windows-validation/xtask-e6e9a8ca.exe, 6,996,480 bytes, SHA256 e59d3422081ae7406c90075cb145b958b379069e111646d7e8afe28828f9006a. Use only pool verbs from the next lane's OWN cwd; compiled-in docs-generator root remains this old tree. Both broker and brain must run the fixed implementation. No assembly edit or merge. Doyle owns independent gate. Next authorized queue: #310, then #49/#267 RCA-first discriminator/remedy, then #309.