23683c3353
The Windows installer runs each -Stage NAME in its own powershell.exe under Hermes-Setup.exe. Test-Python records a detected fallback (e.g. 3.12 when 3.11 is absent) via an in-memory $script:PythonVersion = $fallbackVer mutation, which dies with the python stage's process. The fresh venv stage starts with $PythonVersion back at its "3.11" default, so it logged "Creating virtual environment with Python 3.11..." and ran uv venv venv --python 3.11, failing with exit 2 on machines that only had the fallback installed. Add a cross-process-safe Resolve-AvailablePythonVersion helper (preferring the requested version, then the shared $PythonFallbackVersions list, probed via uv python find) and call it at the top of Install-Venv before creating the venv. Test-Python's fallback loop now iterates the same shared constant so detection and venv creation can't drift.