89556c63ac
Follow-up to the salvaged #81201 commits: - Short-circuit _uses_hermes_python_environment when the child IS the running interpreter (path or realpath match). The default strict-mode path no longer spawns a probe subprocess at all, and a flaky probe of sys.executable can never drop the hermes root from PYTHONPATH (protects the test_repo_root_modules_are_importable invariant). The realpath leg also covers uv-style venvs whose bin/python resolves to the same binary. - Stop caching failed probes: _python_environment_prefix now uses a success-only dict cache instead of lru_cache, so one transient timeout under load no longer sticks for the process lifetime. - Deduplicate the subprocess probe scaffolding shared with _is_usable_python into _probe_python(). - Log once when the hermes root is omitted so import-behavior changes are diagnosable from user reports. - Tests: fail the composition tests loudly if execute_code never reaches Popen (was vacuously passing on exceptions); assert the staging dir is literally first in PYTHONPATH (was truthiness only); add guards for probe-failure retry and the no-probe short-circuit.