pm-runtime/generations/<uuid> trees were never collected: a kill -9 during staging orphaned a venv permanently and every input change left the old runtime behind. `hermes pm gc` now sweeps them under .prepare.lock with the same lease model as application generations: entry points (worker.py, launch.py) pin their own runtime, prepare_runtime marks new generations lease-managed, and the collector removes unpublished stages outright, superseded generations only once no worker holds a lease, and never a pre-lease generation.
17 lines
445 B
Python
17 lines
445 B
Python
"""CLI entry after the isolated interpreter has been selected."""
|
|
from pathlib import Path
|
|
import sys
|
|
|
|
import truststore
|
|
|
|
# PM's import closure constructs HTTPS clients; install platform trust first.
|
|
truststore.inject_into_ssl()
|
|
sys.path.insert(0, str(Path(__file__).resolve().parents[1]))
|
|
|
|
from pm.cli import main
|
|
from pm.runtime import lease_current_runtime
|
|
|
|
if __name__ == "__main__":
|
|
lease_current_runtime()
|
|
raise SystemExit(main())
|