{"repo":"NousResearch/hermes-agent","public_id":"97905","display_label":"Cron next_run_at wrong offset from foreign timezone","summary":"These members address a bug where cron job fire times are computed using another process's timezone, causing incorrect offsets to be persisted into each profile's jobs.json. The fix involves re-resolving the timezone per profile in the multiplex ticker and introducing a profile-keyed atomic timezone cache.","subsystem":null,"counts":{"members":3,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":1},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":99496,"merged_at":"2026-08-31T16:58:41+00:00"},"resolution":{"state":"resolved","by":"pr-99496"},"freshness":{"state":"verified","last_verified_at":"2026-08-31T16:58:41+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.6666666666666666},"fix_edges":[{"issue_number":97905,"pr_number":99496,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-08-31T16:58:41+00:00"}],"members":[{"kind":"issue","number":97905,"title":"Cron: `next_run_at` computed under a foreign process's timezone persists wrong-offset fire times into profile jobs.json","url":null,"state":"closed"},{"kind":"pr","number":97961,"title":"fix(cron): re-resolve hermes_time per profile in multiplex ticker","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#92489","number":92489},{"kind":"pr","value":"#97491","number":97491}],"category":"volume_quota","implication":"active"},"merged":false},{"kind":"pr","number":99496,"title":"fix(cron): profile-keyed atomic timezone cache stops wrong-offset next_run_at persistence (salvage #92489)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["hermes_time.py","tests/cron/test_cron_next_run_profile_timezone.py","tests/test_timezone.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}