{"repo":"NousResearch/hermes-agent","public_id":"111010","display_label":"Cron ticker thread resilience during startup failures","summary":"These issues and pull requests address a bug where the cron scheduler daemon thread silently dies during gateway startup, causing no jobs to fire. The work focuses on keeping or respawning the ticker thread through startup recovery and marker-write failures.","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":111079,"merged_at":"2026-09-14T23:14:35+00:00"},"resolution":{"state":"resolved","by":"pr-111079"},"freshness":{"state":"verified","last_verified_at":"2026-09-14T23:14:35+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.5},"fix_edges":[{"issue_number":110695,"pr_number":111079,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-14T23:14:35+00:00"},{"issue_number":110919,"pr_number":111079,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-14T23:14:35+00:00"},{"issue_number":111010,"pr_number":111079,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-14T23:14:35+00:00"}],"members":[{"kind":"issue","number":111010,"title":"[Bug]: Cron scheduler daemon thread silently dies on gateway startup — no jobs fire","url":null,"state":"closed"},{"kind":"pr","number":111034,"title":"fix(cron): keep the ticker thread alive through startup recovery and marker writes","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"23ef64081c","number":0},{"kind":"commit","value":"a8b7af8586957","number":0},{"kind":"pr","value":"#111079","number":111079}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":111079,"title":"Multiplex gateway: cron ticker survives startup and is respawned, Discord-thread Kanban subs deliver under profile_routes, secondary-profile skills dispatch (#111010, #110919, #110695; salvage #111034, #110928, #110698)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["cron/scheduler_provider.py","cron/scheduler_thread.py","gateway/kanban_watchers_notifier.py","gateway/run.py","hermes_cli/kanban.py","hermes_cli/kanban_db_notify.py","hermes_cli/kanban_parser.py","tests/cron/test_ticker_startup_survival.py","tests/gateway/test_kanban_routed_transport.py","tests/hermes_cli/test_kanban_notify.py","tests/tui_gateway/test_protocol.py","tui_gateway/methods_tools.py","website/docs/user-guide/features/kanban.md"]},{"kind":"pr","number":111182,"title":"Cron ticker thread survives startup recovery and marker-write failures (#111010, salvage #111034)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"8fce4baf8c","number":0},{"kind":"commit","value":"45b42202fa","number":0},{"kind":"pr","value":"#111034","number":111034}],"category":"superseded_by_pr","implication":"superseded"},"merged":false}],"trust":{"default_tier":"verified","includes_suggested":false}}