NousResearch/hermes-agent
kanban unblock multi-word reason argparse bug
Cluster 30897 · hermes cli. Data as of
Nothing open on GitHub. Fix merged in #34411 on 29 May 2026. Check it covers your case.
The short answer
0open issues
0open PRs
3items grouped
- Known?
- Yes. 3 related items grouped here, 1 issue already closed.
- Fix event
- A fix was merged to main in PR #34411. Check it covers your case. No release data is tracked.
- Tracker
- The maintainers' tracker marks this
resolved, deciding PR #34411. That is separate from the fix event. - Still open
- Nothing open on GitHub.
A bug where argparse rejected multi-word reasons for the kanban unblock command, and a fix adding a --reason flag to unblock for symmetry with block.
Open issues0
Open PRs0
Fixes on record
-
#34411 fix(kanban): add --reason flag to unblock for symmetry with block (#30897)
files:
hermes_cli/kanban.py,scripts/release.pyShow the diff
-
hermes_cli/kanban.py@@ -548,6 +548,11 @@ def build_parser(parent_subparsers: argparse._SubParsersAction) -> argparse.Argu help="Additional task ids to schedule with the same reason (bulk mode)") p_unblock = sub.add_parser("unblock", help="Return one or more blocked/scheduled tasks to ready") + p_unblock.add_argument( + "--reason", + default=None, + help="Optional reason/note — recorded as a comment before unblocking. Quote multi-word reasons.", + ) p_unblock.add_argument("task_ids", nargs="+") p_promote = sub.add_parser( @@ -1978,14 +1983,20 @@ def _cmd_unblock(args: argparse.Namespace) -> int: if not ids: print("at least one task_id is required", file=sys.stderr) return 1 + reason = getattr(args, "reason", None) + if reason is not None: + reason = reason.strip() or None + author = _profile_author() if reason else None failed: list[str] = [] with kb.connect_closing() as conn: for tid in ids: + if reason: + kb.add_comment(conn, tid, author, f"UNBLOCK: {reason}") if not kb.unblock_task(conn, tid): failed.append(tid) print(f"cannot unblock {tid} (not blocked/scheduled?)", file=sys.stderr) else: - print(f"Unblocked {tid}") + print(f"Unblocked {tid}" + (f": {reason}" if reason else "")) return 0 if not failed else 1 -
scripts/release.py@@ -59,6 +59,7 @@ "[redacted:email]": "wangpuv", "[email protected]": "ticketclosed-wontfix", "[redacted:email]": "victorGPT", + "[email protected]": "julio-cloudvisor", # teknium (multiple emails) "[redacted:email]": "teknium1", "[redacted:email]": "kenyonxu",
-
1 PR closed without merging
From the close comments: done elsewhere 1
-
#30915 fix(kanban): argparse rejects multi-word reasons for unblock (fixes #30897) · done elsewhere →
ae6817f,#30897,#34411
Closed issues · 1
- Closed#30897[Bug]: hermes kanban unblock <id> <reason...> argparse fails on multi-word reasons (works for block)
How this cluster was grouped
-
Link evidence (
structural links throughout): every member is connected by structural evidence: shared changed files, or a closing/superseded reference. -
Pairwise link density
0.67: the share of item pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36.1.00means every pair is linked.
Pick up a Lab task
Check whether a fix covers the open issues here, with your own agent. Bring back evidence for maintainers.
Open the LabAt a glance
- Subsystem
- hermes cli
- Merged PRs
- #34411
- Closed issues
- 1
- Attempts
- 1 PR closed without merging
- Fix link checked
- 29 May 2026