Hermes Agent Deep Cuts: The Secret Scope That Fails Closed Between Profiles
`get_secret('ANTHROPIC_API_KEY')` raised `UnscopedSecretError` when I called it the way the multiplexing gateway does outside a per-turn scope. That exception is not a bug; it is the whole security model for a process serving dozens of profiles at once. Verified live on v0.20.4: the `_SECRET_SCOPE` ContextVar in agent/secret_scope.py, the `set_secret_scope`/`get_secret` fail-closed resolution order (global-env allowlist → scope → raise-or-fall-through), the `_MULTIPLEX_ACTIVE` flag that changes a scope miss from an `os.environ` fall-through into a silent `default`, the `_GLOBAL_ENV_EXACT` frozenset and `_GLOBAL_ENV_PREFIXES` that keep `API_SERVER_KEY` a secret but exempt `API_SERVER_HOST`, the `build_profile_secret_scope` loader that parses `.env` into an isolated dict without mutating `os.environ`, and the copy-pasted `except UnscopedSecretError: os.environ.get(...)` "Slack pattern" that ~15 platform adapters carry and the repo's own AGENTS.md warns against reintroducing.