The pre-handoff teardown tree-kills only the backends the Desktop owns (backendConnectionState + backendPool). The memory plugin's hindsight daemon is spawned DETACHED off venv\Scripts\pythonw.exe, so it survives the teardown, keeps venv files mapped, and either dead-ends the venv-blocker scan with no in-app remedy or (pre-#74805 shim-only gate) raced the updater into a half-updated venv. Add a narrowly-scoped reap: kill only processes whose exe lives under venv\Scripts (ordinal case-insensitive prefix — no PowerShell -like wildcard hazards) AND whose cmdline references hindsight_api.main. External holders (user terminals, unrelated scripts) are never killed — scanVenvBlockers still reports them and the hand-off aborts, per existing design. Selection logic is a pure DI'd module with unit tests. Salvaged from PR #75477 (scoped per review: the narrow daemon kill; the PR's generic every-exe kill was rejected as over-broad, its updateInFlight half was superseded by #75778/#73822, and its generic lock-probe half by the #74805 release gate + #99724 scanner classification).
2 lines
12 B
Plaintext
2 lines
12 B
Plaintext
xy952666680
|