{"repo":"NousResearch/hermes-agent","public_id":"29458","display_label":"Kanban respawn guard bugs and operator overrides","summary":"Multiple bugs and fixes related to the Kanban dispatcher's active_pr and recent_success respawn guards incorrectly blocking task dispatch, with no operator path to clear the guard. Members address guard logic for closed PRs, false triggers, and adding override/unguard mechanisms.","subsystem":"agent","counts":{"members":16,"open_issues":4,"open_issues_distinct":4,"open_prs":6,"closed_issues":1,"merged_prs":0,"attempt_prs":11},"landed_fix":null,"resolution":{"state":"unresolved","by":null},"freshness":{"state":"never_verified","last_verified_at":null,"is_stale":false},"grouping":{"backbone":"STRUCTURAL_PARTIAL","link_density":0.11800000000000001},"fix_edges":[],"members":[{"kind":"issue","number":29458,"title":"[Bug]: Kanban active_pr respawn guard has no operator clear path and ignores closed PRs","url":null,"state":"open"},{"kind":"issue","number":42053,"title":"[Bug]: Kanban `recent_success` respawn guard has no operator clear path — task permanently stuck in ready after re-comment","url":null,"state":"closed"},{"kind":"issue","number":49870,"title":"[Bug]: '→ ready' button on Done tasks triggers false diagnostic and respawn guard blocks dispatcher","url":null,"state":"open"},{"kind":"issue","number":62418,"title":"Kanban dispatcher's active_pr respawn guard blocks legitimate rework after unblock, no bypass short of manual claim+spawn","url":null,"state":"open"},{"kind":"issue","number":67249,"title":"active_pr respawn guard has no operator override and can be tripped by non-PR content in comments","url":null,"state":"open"},{"kind":"pr","number":29492,"title":"fix(kanban): check GitHub PR state before applying active_pr respawn guard","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#46204","number":46204},{"kind":"pr","value":"#29492","number":29492},{"kind":"pr","value":"#46204","number":46204}],"category":"partial_fix","implication":"needs_llm"},"merged":false},{"kind":"pr","number":42134,"title":"feat(kanban): add 'unguard' command to clear respawn guard for a task","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"77db9d6bf384c71e145c556286386887dd3e5a27","number":0},{"kind":"pr","value":"#42053","number":42053}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":46204,"title":"fix(kanban): let PR feedback unblock respawn guard","url":null,"state":"open","close_reason":{"refs":[{"kind":"pr","value":"#29458","number":29458}],"category":"uncategorized","implication":"needs_llm"},"merged":false},{"kind":"pr","number":49871,"title":"fix(kanban): '→ ready' button triggers false diagnostic and respawn guard blocks dispatch","url":null,"state":"open","close_reason":{"refs":[{"kind":"commit","value":"77db9d6bf","number":0}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":62424,"title":"fix(kanban): allow respawn after explicit unblock","url":null,"state":"open","close_reason":{"refs":[{"kind":"pr","value":"#46204","number":46204},{"kind":"pr","value":"#46204","number":46204},{"kind":"pr","value":"#62418","number":62418},{"kind":"pr","value":"#62393","number":62393}],"category":"duplicate_of","implication":"duplicate"},"merged":false},{"kind":"pr","number":65948,"title":"fix(kanban): only guard open pull requests","url":null,"state":"open","close_reason":{"refs":[{"kind":"pr","value":"#41","number":41},{"kind":"pr","value":"#42","number":42},{"kind":"pr","value":"#65952","number":65952},{"kind":"pr","value":"#46204","number":46204},{"kind":"pr","value":"#72555","number":72555}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":68198,"title":"fix(kanban): add operator override for the active-PR respawn guard (#67249)","url":null,"state":"closed","close_reason":{"category":"uncategorized","implication":"needs_llm"},"merged":false},{"kind":"pr","number":104861,"title":"fix(kanban): reset stale ready-age diagnostics","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#28703","number":28703},{"kind":"pr","value":"#49871","number":49871},{"kind":"pr","value":"#49870","number":49870}],"category":"duplicate_of","implication":"duplicate"},"merged":false},{"kind":"pr","number":111865,"title":"fix(kanban): attribute active PR guard to task","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#62418","number":62418},{"kind":"pr","value":"#111862","number":111862},{"kind":"pr","value":"#62418","number":62418},{"kind":"pr","value":"#109601","number":109601},{"kind":"pr","value":"#109601","number":109601},{"kind":"pr","value":"#109601","number":109601}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":136185,"title":"fix(kanban): an operator re-queue lifts active_pr, and a long hold notifies subscribers","url":null,"state":"open","close_reason":{"refs":[{"kind":"commit","value":"a62979dc36","number":0}],"category":"uncategorized","implication":"needs_llm"},"merged":false},{"kind":"pr","number":138302,"title":"fix(respawn_guard): release merged/closed PR cards (upstream #29458)","url":null,"state":"open","close_reason":{"category":"uncategorized","implication":"needs_llm"},"merged":false}],"trust":{"default_tier":"verified","includes_suggested":false}}