{"repo":"NousResearch/hermes-agent","public_id":"105690","display_label":"Cron manual run cancels next scheduled occurrence","summary":"These issues and pull requests concern a bug where triggering a cron job manually off its scheduled tick incorrectly stamps or overwrites the next scheduled occurrence, causing it to be silently cancelled. Multiple fixes and approaches to preserving the next occurrence after a manual run are represented.","subsystem":"cron","counts":{"members":5,"open_issues":0,"open_issues_distinct":0,"open_prs":1,"closed_issues":1,"merged_prs":1,"attempt_prs":3},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":106306,"merged_at":"2026-09-09T06:47:14+00:00"},"resolution":{"state":"unresolved","by":null},"freshness":{"state":"verified","last_verified_at":"2026-09-09T06:47:14+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.4},"fix_edges":[{"issue_number":105690,"pr_number":106306,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-09T06:47:14+00:00"}],"members":[{"kind":"issue","number":105690,"title":"cron: an off-tick manual run stamps the NEXT scheduled occurrence and silently cancels it","url":null,"state":"closed"},{"kind":"pr","number":105704,"title":"fix(cron): don't stamp the next occurrence on an off-tick manual run","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"a73b750391","number":0},{"kind":"pr","value":"#106306","number":106306}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":105939,"title":"fix(cron): preserve next occurrence after manual run","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#105948","number":105948}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":105956,"title":"fix(cron): require explicit manual run marker","url":null,"state":"open","close_reason":{"refs":[{"kind":"commit","value":"ead7e91dabf1e963796ec834b196984a2fa44ff4","number":0},{"kind":"pr","value":"#103097","number":103097}],"category":"duplicate_of","implication":"duplicate"},"merged":false},{"kind":"pr","number":106306,"title":"fix(cron): an off-tick \"run now\" no longer cancels the job's next scheduled run (#104790, #105690, #106166; salvage #105704)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["contributors/emails/12981632+philmossman@users.noreply.github.com","cron/jobs.py","cron/scheduler_provider.py","hermes_cli/web_server_cron.py","tests/cron/test_claim_job_for_fire.py","tests/cron/test_scheduler_provider.py","tests/hermes_cli/test_web_server_cron_profiles.py","tests/tools/test_cronjob_run_background.py","tests/tools/test_cronjob_run_immediate.py","tools/cronjob_tools.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}