{"repo":"NousResearch/hermes-agent","public_id":"100489","display_label":"Cron ticker profile isolation and multiplexing fixes","summary":"These items address bugs in the cron ticker where secondary profiles were not properly isolated, causing jobs to run under the wrong profile or bot. Fixes span profile scope retention across threads, gateway skipping, and fail-closed satellite delivery.","subsystem":null,"counts":{"members":4,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":2},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":101245,"merged_at":"2026-09-02T13:27:25+00:00"},"resolution":{"state":"resolved","by":"pr-101245"},"freshness":{"state":"verified","last_verified_at":"2026-09-02T13:27:25+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.5},"fix_edges":[{"issue_number":74878,"pr_number":101245,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-02T13:27:25+00:00"},{"issue_number":86519,"pr_number":101245,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-02T13:27:25+00:00"},{"issue_number":100489,"pr_number":101245,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-02T13:27:25+00:00"},{"issue_number":101113,"pr_number":101245,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-02T13:27:25+00:00"}],"members":[{"kind":"issue","number":100489,"title":"Desktop multiplex cron ticker delivers secondary-profile jobs with the default profile's bot","url":null,"state":"closed"},{"kind":"pr","number":100509,"title":"fix(cron): skip running secondary gateways in desktop cron ticker (#100489)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"f8f4d056f512b3f6b3403fb0c99c029c85b2fb2f","number":0},{"kind":"pr","value":"#100509","number":100509},{"kind":"pr","value":"#67418","number":67418},{"kind":"pr","value":"#100522","number":100522},{"kind":"pr","value":"#100489","number":100489}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":100522,"title":"fix(cron): keep the profile scope across the delivery worker thread","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"62a4599f89d","number":0},{"kind":"pr","value":"#100489","number":100489}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":101245,"title":"fix(cron): multiplex ticks isolate per profile, fire the bound port, deliver satellites fail-closed (#74878 #100489 #101113 #86519, salvage #70747 #84755 #96944)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["cron/notepad.py","cron/scheduler.py","cron/scheduler_provider.py","cron/suggestions.py","hermes_cli/web_server.py","tests/cron/test_cron_multiplex_desktop_ticker_scope.py","tests/cron/test_cron_multiplex_shared_route_delivery.py","tests/cron/test_notepad.py","tests/cron/test_scheduler_provider.py","tests/cron/test_suggestions.py","tests/hermes_cli/test_cron_fire_dashboard.py","website/docs/user-guide/multi-profile-gateways.md"]}],"trust":{"default_tier":"verified","includes_suggested":false}}