{"repo":"NousResearch/hermes-agent","public_id":"120823","display_label":"Profile updates incorrectly overwrite user cron jobs","summary":"These items address a bug where profile installation or update operations replace or delete cron job configurations instead of merging them, causing user-defined and runtime cron jobs to be lost. The work involves changing the merge strategy for distributed cron job data.","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":121264,"merged_at":"2026-09-24T10:07:01+00:00"},"resolution":{"state":"unresolved","by":null},"freshness":{"state":"verified","last_verified_at":"2026-09-24T10:07:01+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.5},"fix_edges":[{"issue_number":120823,"pr_number":121264,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-24T10:07:01+00:00"}],"members":[{"kind":"issue","number":120823,"title":"[Bug]: profile update deletes the user's own cron jobs, and profile install leaves shipped jobs running","url":null,"state":"closed"},{"kind":"pr","number":120824,"title":"fix(profiles): merge cron/jobs.json per job so update keeps the installer's jobs","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"68ca2c8564","number":0},{"kind":"commit","value":"b0aefcce70","number":0},{"kind":"pr","value":"#120823","number":120823},{"kind":"pr","value":"#121264","number":121264},{"kind":"pr","value":"#120910","number":120910}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":120910,"title":"fix(profiles): merge distributed cron jobs without replacing runtime state","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"99b7078921","number":0},{"kind":"commit","value":"06c3062e36","number":0},{"kind":"commit","value":"68ca2c8564","number":0},{"kind":"commit","value":"5ae39093ad","number":0},{"kind":"commit","value":"a49f13d762","number":0},{"kind":"commit","value":"d9a6a13c86","number":0},{"kind":"commit","value":"f17b78f0e3","number":0},{"kind":"commit","value":"b0aefcce70","number":0},{"kind":"pr","value":"#121264","number":121264}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":121264,"title":"hermes profile update merges shipped cron jobs instead of replacing the store (#120823, salvage #120910)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["cron/job_definition.py","hermes_cli/profile_distribution.py","tests/hermes_cli/test_profile_distribution.py","website/docs/user-guide/profile-distributions.md"]}],"trust":{"default_tier":"verified","includes_suggested":false}}