{"repo":"NousResearch/hermes-agent","public_id":"69396","display_label":"Cron job workdir leaking into global process state","summary":"A bug where cron job workdir configuration is applied via os.chdir() to the entire process, causing it to leak into concurrent gateway sessions. Multiple fix approaches are represented, scoping workdir to subprocesses or isolated sessions instead.","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":70989},"resolution":{"state":"resolved","by":"pr-70989"},"freshness":{"state":"verified","last_verified_at":"2026-07-24T22:55:39+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.3333333333333333},"fix_edges":[{"issue_number":69396,"pr_number":70989,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true}],"members":[{"kind":"issue","number":69396,"title":"[Bug]: cron job `workdir` is applied as global process cwd and leaks into gateway sessions created during the run","url":null,"state":"closed"},{"kind":"pr","number":69557,"title":"fix(gateway): isolate gateway session cwd from concurrent cron job workdir overrides","url":null,"state":"closed","close_reason":{"category":"silent_close","implication":"active"},"merged":false},{"kind":"pr","number":69813,"title":"fix(cron): scope workdir to subprocess instead of os.chdir() global process","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#69396","number":69396},{"kind":"pr","value":"#70989","number":70989}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":70548,"title":"fix(cron): scope cron job workdir to own session instead of process-global cwd (#69396)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#70915","number":70915},{"kind":"pr","value":"#70989","number":70989}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":70915,"title":"fix(cron): scope cron job workdir to own session instead of process-global cwd (#69396)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#70989","number":70989},{"kind":"pr","value":"#69396","number":69396}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":70989,"title":"fix(cron): scope cron job workdir to its own session instead of process-global cwd","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["cron/scheduler.py","tests/cron/test_scheduler.py","tests/cron/test_script_claim_heartbeat.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}