feat(config): add install-method stamping + Docker detection (#27843)

* feat(config): add install-method stamping + Docker detection

Dockerfile stamps "docker", install.sh stamps "git", and cmd_postinstall
stamps "pip" into ~/.hermes/.install_method. detect_install_method() reads
the stamp first, then falls back to managed-system / container / .git
heuristics. Adds Docker upgrade guidance.

Tracking: #27826

* fix(stamp): move Docker stamp to entrypoint, install.sh stamp after print_success

The Dockerfile stamp was overwritten by the VOLUME overlay at container
start. Moving it to entrypoint.sh ensures it persists. The install.sh
stamp now writes after print_success so it only lands on full success.
This commit is contained in:
Siddharth Balyan 2026-05-18 16:34:10 +05:30 committed by GitHub
parent f2fdb9a178
commit 6f5ec929a1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 74 additions and 7 deletions

View file

@ -1735,8 +1735,11 @@ def cmd_setup(args):
def cmd_postinstall(args):
"""One-shot bootstrap for pip users: install non-Python deps + run setup."""
from hermes_cli.config import stamp_install_method
from hermes_cli.dep_ensure import ensure_dependency
stamp_install_method("pip")
print("⚕ Hermes post-install bootstrap")
print()