fix(kanban): type goal-loop blocks as transient - #71088
Conversation
4a4bbeb to
440f6be
Compare
|
I’m keeping this one narrow. #71088 only fixes propagation of |
…p-transient # Conflicts: # tests/hermes_cli/test_kanban_goal_mode.py
|
Thanks for keeping the salvage focused. The current-main goal loop calls Suggested changes
Automated hermes-sweeper review. |
SummaryTwo PRs address Issue #71050 by classifying both machine-generated goal-loop exits as transient and forwarding that kind through the CLI callback to Kanban. #71088 isolates this cause-level fix and adds focused behavior and propagation coverage; #71071 contains the same core change but also carries unrelated lifecycle, dashboard, and provider edits. Related pull requests
Duplicates#71071 and #71088 implement the same core transient-kind classification and CLI propagation. #71071 is superseded by #71088 and can remain closed. Suggested consolidationkeep open with a salvage path: retain #71088 as the focused implementation, address the stale block_fn contract documentation noted in its maintainer-bot review, and then let maintainers evaluate that narrow branch. Keep #71071 closed as superseded by #71088, consistent with its contributor author's explicit closure and authorship-preservation note. Complex graphflowchart LR
classDef open fill:#dbeafe,stroke:#1d4ed8,color:#1e3a8a
classDef merged fill:#dcfce7,stroke:#15803d,color:#14532d
classDef closed fill:#e5e7eb,stroke:#6b7280,color:#1f2937
classDef unverified fill:#f3f4f6,stroke:#9ca3af,color:#374151
classDef best stroke-width:3px,stroke:#b45309
classDef target stroke-width:3px,stroke:#4338ca
I71050(["issue #71050 (open)"])
subgraph Dup71071 ["PRs duplicating each other"]
P71071["PR #71071 (closed)"]
P71088["PR #71088 (open)"]
end
P71088 -->|best fix| I71050
class I71050 open
class P71071 closed
class P71088 open
class P71088 best
class P71088 target
click I71050 "https://github.com/NousResearch/hermes-agent/issues/71050"
click P71071 "https://github.com/NousResearch/hermes-agent/pull/71071"
click P71088 "https://github.com/NousResearch/hermes-agent/pull/71088"
Graph: solid arrow = fixes / best fix, dashed arrow = partial or unverified (see edge label); boxed group = PRs duplicating each other; amber border = best fix; indigo border = target; gray node = closed (state tag in the node label). Cross-PR triage: Reviewed 2 pull requests and 1 issue in this complex. Each diff was read against this issue; Assessment working set: 12 kB of PR diffs, 6 kB of issue/PR text, 2 kB of discussion (6 comments), 3 verify verdicts. verdicts reflect diff content, not PR titles. Part of an automated triage batch. |
|
Author-status audit — 2026-08-05: this PR is cleanly mergeable and its current-head CI completed successfully. The only remaining review item is documentation-only: in |
Summary
kindthrough the quiet goal-worker CLI callbackkind="transient"kanban_completeafter the finalize nudgekanban_db.block_taskThis changes classification only. It does not add a new retry policy, routing rule, schema, or configuration surface.
Contributor credit / relationship to #71071
This cleanly salvages the focused #71050 commit from @webtecnica and preserves their authorship in git history. PR #71071 currently carries an earlier unrelated parent commit; this branch isolates the reported bug and adds the missing end-to-end callback regression coverage.
Fixes #71050.
Verification
python -m pytest tests/hermes_cli/test_kanban_goal_mode.py tests/hermes_cli/test_kanban_block_kinds.py -q -o addopts=→ 28 passedpython -m ruff check cli.py hermes_cli/goals.py tests/hermes_cli/test_kanban_goal_mode.pypython -m py_compile cli.py hermes_cli/goals.py tests/hermes_cli/test_kanban_goal_mode.pygit diff --check upstream/main...HEAD