{"repo":"NousResearch/hermes-agent","public_id":"114446","display_label":"Stale file writer entries persist after task completion","summary":"A bug where finished tasks (cron runs or subagents) remain recorded as concurrent sibling writers in file state, because forget_task() does not clear last-writer entries. Multiple fix attempts address purging stale writers and adding TTL expiry.","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":114862,"merged_at":"2026-09-18T17:10:42+00:00"},"resolution":{"state":"resolved","by":"pr-114862"},"freshness":{"state":"verified","last_verified_at":"2026-09-18T17:10:42+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.5},"fix_edges":[{"issue_number":114446,"pr_number":114862,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-18T17:10:42+00:00"}],"members":[{"kind":"issue","number":114446,"title":"file_state: stale _last_writer entries report a finished predecessor as a concurrent sibling; forget_task() never clears them","url":null,"state":"closed"},{"kind":"pr","number":114448,"title":"fix(tools): forget_task clears last-writer entries; stale writers expire","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#114470","number":114470}],"category":"duplicate_of","implication":"duplicate"},"merged":false},{"kind":"pr","number":114470,"title":"fix(file_state): purge stale writer claims in forget_task and add writer TTL (#114446)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"783f854b0fb2","number":0},{"kind":"pr","value":"#114862","number":114862},{"kind":"pr","value":"#114446","number":114446},{"kind":"pr","value":"#114470","number":114470}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":114862,"title":"fix(file-state): a finished cron run or subagent is no longer reported as a concurrent sibling writer (#114446, salvage #114470)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["agent/client_lifecycle.py","contributors/emails/[redacted:email]","tests/tools/test_file_state_registry.py","tools/file_state.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}