mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-11-06 05:17:15 +00:00
The Bitwarden and 1Password disk caches (bws_cache.json, bws_cache.enc.json, op_cache.json) and the Photon sidecar runtime record (photon-sidecar.json) now live directly in the profile home instead of cache/ and runtime/. A sandbox that hides credential files by path can only hide them safely at the top of the home: the agent can rename a folder it writes, such as cache/ or runtime/, and read a hidden file below it at the new path. The first read moves a copy from the old path with a rename, so the file keeps its permissions. When both copies exist, Hermes removes the old one; when the move fails, Hermes keeps reading and writing the old copy, so only one copy is ever live. Clearing a cache or deleting the record removes both locations. SECRET_CACHE_STORES in hermes_cli/home_data_layout.py lists these stores at both locations, and every guard that keeps a list of credential stores uses it: PROFILE_CREDENTIAL_PATHS (profile export and distribution), the file tools' read and write denies, and the gateway's media-delivery deny. The 1Password cache was missing from all of them. The dashboard Files API blocks the new basenames, backups leave the top-level stores out, and the flat-install .gitignore ignores them. A new test takes each store's path from its writer and checks that every guard covers it at the current and the old location.