hermes-agent/tests/docker
ethernet 4a783b1c21 unify install provenance on a single code-scoped install-stamp.json
one artifact replaces three: install-stamp.json (code-scoped) subsumes
.hermes_build_info.json (same schema, different name) and .install_method
(derivable). git checkouts carry no stamp at all — .git plus location is
the fact.

detect_install_method() now delegates to runtime_tree.install_method():
  stamp distribution (docker/nix/desktop-app)
  -> .git at a managed install root => git
  -> .git anywhere else => source (new)
  -> unknown

the new 'source' method makes hermes update refuse random src checkouts
outright and point at git pull (replaces the --yes-overridable ask-first
guard). nixos dies as a method value; /nix/store sniffing and the
HERMES_MANAGED ladder step die with it. HERMES_MANAGED keeps exactly one
job: the NixOS module's declarative config-write guard.

lazy_deps drops install-method inference entirely: the read-only guard
now probes site-packages writability directly.

no backwards compat: nothing reads the legacy stamps anymore. stage2-hook
keeps deleting stale home-scoped .install_method markers left by old
images.
2026-08-10 11:21:49 -04:00
..
__init__.py
conftest.py
test_config_migration.py
test_container_restart.py
test_dashboard.py
test_docker_exec_privilege_drop.py
test_dump_build_sha.py
test_gateway_bootstrap_state.py
test_gateway_run_supervised.py
test_home_override_scripts.py
test_immutable_install.py
test_immutable_install_permissions.py
test_license_file_present.py
test_log_dir_seed.py
test_main_invocation.py
test_profile_gateway.py
test_puid_pgid_remap.py
test_s6_profile_gateway_integration.py
test_smoke.py
test_sqlite_runtime.py
test_stage2_browser_discovery.py
test_tini_compat_shim.py
test_toplevel_chown.py
test_tui_passthrough.py
test_tui_prebuilt_bundle.py
test_user_flag_guard.py
test_zombie_reaping.py