hermes - 💡(How to fix) Fix Add first-class Kanban promote / force-claim CLI for todo→ready recovery [1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
NousResearch/hermes-agent#28822Fetched 2026-05-20 04:01:41
View on GitHub
Comments
0
Participants
1
Timeline
4
Reactions
0
Author
Participants
Timeline (top)
labeled ×4

Root Cause

This is especially useful for anti-respawn Kanban workflows:

  • Close an organizational parent.
  • Promote all children to visible ready state.
  • Keep only the current/active child assigned.
  • Park future sequential children as ready + unassigned so the dispatcher skips them.

Today this can require direct DB mutation, followed by dispatch --dry-run verification. A CLI command would preserve the same safety while keeping the operation inside Hermes' public/audited interface.

Fix Action

Fix / Workaround

  • Close an organizational parent.
  • Promote all children to visible ready state.
  • Keep only the current/active child assigned.
  • Park future sequential children as ready + unassigned so the dispatcher skips them.

Today this can require direct DB mutation, followed by dispatch --dry-run verification. A CLI command would preserve the same safety while keeping the operation inside Hermes' public/audited interface.

Code Example

UPDATE tasks
SET status='ready'
WHERE id IN (...)
  AND status='todo';

---

hermes kanban --board <board> promote <task_id>   --from todo   --to ready   --reason "parent organizational cleanup"

---

hermes kanban --board <board> claim <task_id> --force-if-parents-done
# or
hermes kanban --board <board> claim <task_id> --force-promote
RAW_BUFFERClick to expand / collapse

Problem

Hermes Kanban currently has a gap between the dependency engine and the public CLI: routine recovery/cleanup sometimes requires direct SQLite writes to promote a card from todo to ready.

Concrete local case:

  • An organizational parent was closed as done after its children had already been created.
  • The children remained todo because the parent transition was performed as a direct DB repair / terminal-state cleanup rather than through a public command path that fired promotion semantics.
  • To recover, the operator had to run a narrow SQL update like:
UPDATE tasks
SET status='ready'
WHERE id IN (...)
  AND status='todo';

That works, but it bypasses the normal CLI/audit surface and is too sharp for an operation that has become a repeated maintenance pattern.

Desired CLI

Add a first-class command for explicit, audited promotion, for example:

hermes kanban --board <board> promote <task_id>   --from todo   --to ready   --reason "parent organizational cleanup"

Alternative shape if it fits the existing model better:

hermes kanban --board <board> claim <task_id> --force-if-parents-done
# or
hermes kanban --board <board> claim <task_id> --force-promote

I slightly prefer promote because assignment/claiming and lifecycle promotion are separate concepts.

Expected behavior

  1. Refuse promotion when dependencies/parents are not satisfied, unless an explicit --force flag is provided.
  2. Emit a durable task_events entry, e.g. promoted_manual, including actor and reason.
  3. Do not implicitly assign the card. Promotion should allow the safe parking pattern: ready + unassigned.
  4. Support --json output for scripts and recovery tooling.
  5. Ideally support --dry-run so operators can inspect whether promotion would be allowed before mutating state.

Why this matters

This is especially useful for anti-respawn Kanban workflows:

  • Close an organizational parent.
  • Promote all children to visible ready state.
  • Keep only the current/active child assigned.
  • Park future sequential children as ready + unassigned so the dispatcher skips them.

Today this can require direct DB mutation, followed by dispatch --dry-run verification. A CLI command would preserve the same safety while keeping the operation inside Hermes' public/audited interface.

Acceptance criteria

  • todo -> ready recovery can be done without raw sqlite3 writes.
  • Normal dependency checks are preserved.
  • Force mode, if implemented, is explicit and audited.
  • Promotion does not imply assignment.
  • The command is documented in hermes kanban --help and returns machine-readable JSON.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

  1. Refuse promotion when dependencies/parents are not satisfied, unless an explicit --force flag is provided.
  2. Emit a durable task_events entry, e.g. promoted_manual, including actor and reason.
  3. Do not implicitly assign the card. Promotion should allow the safe parking pattern: ready + unassigned.
  4. Support --json output for scripts and recovery tooling.
  5. Ideally support --dry-run so operators can inspect whether promotion would be allowed before mutating state.

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

hermes - 💡(How to fix) Fix Add first-class Kanban promote / force-claim CLI for todo→ready recovery [1 participants]