# NousResearch/hermes-agent · Kanban worker liveness and progress separation fixes

## Open now

- 1 issue, 2 PRs open on GitHub.
- #100971: Kanban worker heartbeat refreshes on any activity, so a looping worker never goes stale — only max_runtime_seconds ends it
- PR #101014: fix(kanban): reclaim looping workers that stay live without progress
- PR #134830: fix(kanban): separate worker liveness from progress; bound runtime by estimate

These items address a flaw where worker heartbeats refresh on any activity, preventing stale detection of looping workers that make no real progress. The work involves separating liveness signals from progress tracking and bounding worker runtime by estimates.

## TL;DR

- 3 member(s): 1 open issue(s), 0 closed issue(s), 2 open PR(s), 0 merged PR(s), 0 PR(s) closed without merging.
- No fix has been merged to main; one or more PRs were attempted (see below).
- **Recommended:** review the prior/competing PR(s) below. A fix was attempted but not merged; your case may extend or revive that work.

## Maintainer resolution verdict

- Internal-tracker verdict over this cluster's issue members: `unresolved`. This is distinct from the fix status above. Weigh it yourself.

## How this cluster was grouped

- Link evidence (`STRUCTURAL_SPANNING`): every member is connected by structural evidence: shared changed files, or a closing/superseded reference.
- Pairwise link density `0.67`: the share of member pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36. `1.00` means every pair is linked.

## Open related issues

- #100971: Kanban worker heartbeat refreshes on any activity, so a looping worker never goes stale — only max_runtime_seconds ends it

## Prior & competing PRs

- **#101014: fix(kanban): reclaim looping workers that stay live without progress**. open
  - maintainer direction: category `silent_close`; implication `active`
  - files: `agent/prompt_builder.py`, `agent/tool_executor.py`, `hermes_cli/config_defaults.py`, `hermes_cli/kanban_db.py`, `tests/agent/test_tool_executor_checkpoint_paths.py`, `tests/hermes_cli/test_kanban_db.py`, `tests/tools/test_kanban_tools.py`, `tools/kanban_tools.py`, `website/docs/user-guide/features/kanban.md`, `website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/user-guide/features/kanban.md`
- **#134830: fix(kanban): separate worker liveness from progress; bound runtime by estimate**. open
  - maintainer direction: category `silent_close`; implication `active`
  - files: `agent/prompt_builder.py`, `agent/tool_executor.py`, `cli-config.yaml.example`, `hermes_cli/kanban_artifacts.py`, `hermes_cli/kanban_db.py`, `hermes_cli/kanban_db_connect.py`, `hermes_cli/kanban_db_dispatch.py`, `hermes_cli/kanban_diagnostics.py`, `hermes_cli/kanban_progress.py`, `hermes_cli/kanban_runtime_budget.py`, `plugins/kanban/dashboard/plugin_api.py`, `tests/hermes_cli/test_kanban_runtime_budget.py`, `tests/hermes_cli/test_kanban_worker_progress.py`, `tools/kanban_tools.py`, `tools/kanban_tools_schemas.py`, `website/docs/user-guide/features/kanban.md`

## Fix status

- No merged fix on record.
- Subsystem: `cron`
