{"repo":"NousResearch/hermes-agent","public_id":"75018","display_label":"PYTHONPATH venv pollution in subprocess environments","summary":"These items concern Hermes or Gateway venv environment variables (PYTHONPATH, VIRTUAL_ENV) leaking into child subprocesses or cron jobs that use different Python interpreters. The work involves selectively stripping these variables to prevent non-venv processes from being poisoned.","subsystem":"cron","counts":{"members":4,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":2,"attempt_prs":1},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":88182,"merged_at":"2026-08-17T06:26:05+00:00"},"resolution":{"state":"resolved","by":"pr-88182"},"freshness":{"state":"verified","last_verified_at":"2026-08-17T06:26:05+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.5},"fix_edges":[{"issue_number":74817,"pr_number":84500,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-08-12T12:12:35+00:00"},{"issue_number":74817,"pr_number":88182,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-08-17T06:26:05+00:00"},{"issue_number":75018,"pr_number":84500,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-08-12T12:12:35+00:00"},{"issue_number":75018,"pr_number":88182,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-08-17T06:26:05+00:00"}],"members":[{"kind":"issue","number":75018,"title":"Gateway exports PYTHONPATH/VIRTUAL_ENV to no_agent cron children, poisoning non-venv Python interpreters","url":null,"state":"closed"},{"kind":"pr","number":78917,"title":"fix(tools): selectively strip Hermes-venv PYTHONPATH from subprocesses (#74817)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"7a2ad9ae55","number":0},{"kind":"pr","value":"#88182","number":88182},{"kind":"pr","value":"#84500","number":84500},{"kind":"pr","value":"#61028","number":61028},{"kind":"pr","value":"#82581","number":82581}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":84500,"title":"fix(tools): isolate external project environments (salvage #81201)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["tests/tools/test_code_execution_modes.py","tools/code_execution_tool.py"]},{"kind":"pr","number":88182,"title":"fix(tools): selectively strip Hermes-venv PYTHONPATH from subprocess envs (#74817, #78917 salvage)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["contributors/emails/[redacted:email]","contributors/emails/mcjoys@users.noreply.github.com","tests/tools/test_local_env_blocklist.py","tools/code_execution_tool.py","tools/environments/local.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}