{"repo":"NousResearch/hermes-agent","public_id":"107692","display_label":"Profile secret isolation fixes in desktop cron","summary":"These issues and PRs address credential leakage between profiles in the desktop cron/ticker environment, where one profile's secrets could incorrectly bleed into another profile's process environment. Fixes span OCR API key resolution and cron launch-profile secret scoping.","subsystem":"agent","counts":{"members":4,"open_issues":0,"open_issues_distinct":0,"open_prs":1,"closed_issues":1,"merged_prs":1,"attempt_prs":2},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":111187,"merged_at":"2026-09-15T05:33:40+00:00"},"resolution":{"state":"resolved","by":"pr-111187"},"freshness":{"state":"verified","last_verified_at":"2026-09-15T05:33:40+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.5},"fix_edges":[{"issue_number":107692,"pr_number":111187,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-15T05:33:40+00:00"}],"members":[{"kind":"issue","number":107692,"title":"Desktop cron ticker copies a secondary profile's .env into the shared process environment (credential variant of #102769)","url":null,"state":"closed"},{"kind":"pr","number":107695,"title":"fix(cron): desktop ticker no longer copies a secondary profile's .env into the shared process env","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"f5f88d5058","number":0},{"kind":"commit","value":"b9271bcb34","number":0}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":107777,"title":"fix(tools): hosted OCR resolves FIRECRAWL_API_KEY through the profile secret scope","url":null,"state":"open","close_reason":{"category":"silent_close","implication":"active"},"merged":false},{"kind":"pr","number":111187,"title":"Routed cron fires in the desktop backend run under multiplex semantics, so launch-profile secrets never reach another profile's child (#107692, salvage #107695)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["agent/secret_scope.py","cron/scheduler.py","cron/scheduler_provider.py","cron/scheduler_script.py","hermes_cli/env_loader.py","hermes_cli/plugins.py","tests/cron/test_cron_multiplex_desktop_ticker_scope.py","tests/cron/test_cron_no_agent.py","tests/cron/test_restart_safe_worker.py","tools/environments/local.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}