source_completion.py now claims the shared update lock (hermes_cli.update_lock)
and exposes PM's git (hermes_cli._subprocess_compat); the transition fixture
copied only source_completion.py into the fake NEW tree, so every test driving
the real completion child died with ModuleNotFoundError.
Copy both modules next to it and give the fake hermes_constants.py the
get_process_hermes_home the lock's marker path needs.