{"repo":"NousResearch/hermes-agent","public_id":"108865","display_label":"Multiplexed profile memory scoping and retain shaping fix","summary":"A bug caused hindsight retain shaping to fall back to os.environ after the scoped read, making secondary multiplexed profiles use the wrong tags and source. These members address ensuring memory plugin identity, secret hydration, and retain shaping resolve through the correct profile scope.","subsystem":null,"counts":{"members":3,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":1},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":110286,"merged_at":"2026-09-13T21:41:27+00:00"},"resolution":{"state":"resolved","by":"pr-110286"},"freshness":{"state":"verified","last_verified_at":"2026-09-13T21:41:27+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.6666666666666666},"fix_edges":[{"issue_number":108310,"pr_number":110286,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-13T21:41:27+00:00"},{"issue_number":108441,"pr_number":110286,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-13T21:41:27+00:00"},{"issue_number":108865,"pr_number":110286,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-13T21:41:27+00:00"},{"issue_number":108993,"pr_number":110286,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-13T21:41:27+00:00"},{"issue_number":110032,"pr_number":110286,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-13T21:41:27+00:00"}],"members":[{"kind":"issue","number":108865,"title":"[Bug]: Hindsight retain shaping is re-read from os.environ after the scoped read, so a multiplexed secondary profile retains with the default profile's tags and source","url":null,"state":"closed"},{"kind":"pr","number":108866,"title":"fix(memory/hindsight): resolve retain shaping through the profile scope, never os.environ","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"62a56f441cdc","number":0},{"kind":"commit","value":"a48dde5316e2","number":0},{"kind":"commit","value":"2bade5daa785","number":0},{"kind":"commit","value":"444dcca65086","number":0},{"kind":"pr","value":"#110286","number":110286},{"kind":"pr","value":"#108865","number":108865}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":110286,"title":"Multiplexed secondary profiles keep their own memory-plugin identity, secret hydration and browser/computer-use backends (#108865 #108993 #108441 #108310 #110032)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["hermes_cli/env_loader.py","plugins/memory/byterover/__init__.py","plugins/memory/hindsight/__init__.py","tests/agent/test_env_loader_secret_sources.py","tests/plugins/memory/test_byterover_multiplex_child_env.py","tests/plugins/memory/test_multiplex_memory_identity_scope.py","tests/tools/test_browser_computer_use_profile_cache_keys.py","tests/tools/test_browser_use_cli.py","tools/browser_use_cli.py","tools/computer_use/tool.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}