{"repo":"NousResearch/hermes-agent","public_id":"112592","display_label":"Prevent atomic writers from recreating deleted profiles","summary":"These issues and pull requests address a bug where atomic write operations (such as late cache saves) would recreate a named profile's home directory after it had been deleted. Multiple fix attempts and related changes are grouped here.","subsystem":null,"counts":{"members":6,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":4},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":112653},"resolution":{"state":"resolved","by":"pr-112653"},"freshness":{"state":"verified","last_verified_at":"2026-09-16T07:32:16+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.4},"fix_edges":[{"issue_number":111926,"pr_number":112653,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":112592,"pr_number":112653,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true}],"members":[{"kind":"issue","number":112592,"title":"Atomic writers re-create a deleted named profile home (late cache save after hermes profile delete)","url":null,"state":"closed"},{"kind":"pr","number":112594,"title":"fix: prevent deleted profiles from being recreated by atomic writes","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"9085ef967c","number":0},{"kind":"pr","value":"#112653","number":112653}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":112596,"title":"fix(profiles): atomic writers no longer re-create a deleted named profile home","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"9085ef967c","number":0},{"kind":"pr","value":"#112653","number":112653}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":112597,"title":"fix(utils): atomic writers refuse to resurrect a deleted named profile home","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"9085ef967c","number":0},{"kind":"pr","value":"#112653","number":112653},{"kind":"pr","value":"#112594","number":112594},{"kind":"pr","value":"#112601","number":112601},{"kind":"pr","value":"#112596","number":112596}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":112601,"title":"fix(utils): atomic writers and their callers refuse to resurrect a deleted named profile home","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"9085ef967c","number":0},{"kind":"pr","value":"#112653","number":112653}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":112653,"title":"Profile rename migrates session/routing identity; deleted profiles are not re-created by atomic writers (#111926, #112592; salvage #111927 #112594 #112601 #112596)","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["agent/models_dev.py","agent/secret_sources/_cache.py","cli.py","gateway/control_socket.py","gateway/lifecycle_ledger.py","gateway/run.py","gateway/run_profile_reconcile.py","gateway/session.py","gateway/shutdown_flush.py","hermes_cli/auth.py","hermes_cli/auth_oauth_grants.py","hermes_cli/install_identity.py","hermes_cli/local_runtime/supervisor.py","hermes_cli/models.py","hermes_cli/personality.py","hermes_cli/plugin_catalog.py","hermes_cli/process_identity.py","hermes_cli/profile_cmd.py","hermes_cli/profile_identity.py","hermes_cli/profiles.py","hermes_cli/subcommands/profile.py","hermes_cli/terminal_breadcrumbs.py","hermes_cli/web_routers/memory_providers.py","hermes_state_gateway.py","plugins/memory/honcho/cli.py","plugins/memory/openviking/__init__.py","plugins/memory/openviking/_setup.py","plugins/platforms/feishu/adapter.py","plugins/platforms/google_chat/oauth.py","skills/autonomous-ai-agents/hermes-agent/references/cli-reference.md","tests/gateway/test_control_socket.py","tests/gateway/test_rekey_profile_routing.py","tests/hermes_cli/test_deleted_profile_tombstone.py","tests/hermes_cli/test_profiles.py","tests/hermes_state/test_rekey_profile_state.py","tests/test_utils_atomic_writers_deleted_profile.py","tools/bot_relay.py","tools/mcp_oauth.py","tools/memory_tool_store.py","tools/process_registry_results.py","tools/registry.py","tools/skill_manager_tool.py","tools/skills_sync.py","utils.py","website/docs/reference/profile-commands.md","website/docs/user-guide/profiles.md"]}],"trust":{"default_tier":"verified","includes_suggested":false}}