Skip to content

v0.2.0 - Kanban-native runs

Latest

Choose a tag to compare

@solaitken solaitken released this 15 Jun 11:54
3c189d7

Hermes Workflows v0.2.0 - Kanban-native runs

A workflow run is now Kanban-native and chat-interactive: a node drives the real board card instead of spawning a parallel one, the operator resolves a review gate by simply replying in chat, a wait node blocks on an external signal (a merged PR) with zero idle workers, and long autonomous runs can go quiet - all on top of editor and run-observability polish.

Hermes Workflows v0.2.0

What ships

Kanban-native execution

  • Drive existing cards - an agent_task with adopt: true + task_ref assigns and promotes one or more real board cards (literal id or a typed {{nodes.X.output.task_ids}} reference) instead of creating new ones, gating on every driven card and failing loud on a missing one.
  • Native review stage - an optional review_profile routes a finished driven card once through Hermes' own review status before the node settles.

Operator interaction

  • Resolve a gate from chat - replying in the run's origin chat with approved / rejected / needs_changes (plus an optional note) routes to the paused run and confirms back, instead of being swallowed by the gateway agent.
  • Operator note payload - a gate decision can carry a note, consumable downstream as {{nodes.<gate>.review_note}}.
  • /workflow chat command - list / run / status / review / cancel / explain in the CLI and messengers.

Worker-free waits

  • wait node - the engine tick polls github_pr_merged (gh pr view) with no Kanban card and no LLM worker; success on MERGED, failure on CLOSED, optional timeout. Retires the agent_task poll-loop stopgap.

Run health and lifecycle

  • Blocked underlying cards are surfaced with one operator notice instead of hanging silently; status reads live card state so it no longer lags the tick; hermes-workflows cancel <run_id> stops a run from the shell.

Notifications, editor, authoring

  • notifications.subscribe_cards: false silences per-card completion pings while keeping run-level notices; node-type icons on the canvas; the inspector opens read-only during a run; multiline spec strings round-trip as readable block scalars; script nodes always get HOME for credential CLIs.

Process wins

  • The work is the real board card, so a run reuses the native dispatcher, review, and notifier rather than a parallel mechanism.
  • The operator acts where they already are - chat or dashboard - and a long autonomous run costs zero idle workers and no notification noise.
  • Every new field is additive and validated; specs round-trip losslessly.

Notes

  • Instant GitHub-webhook resolution for the wait node and Telegram inline buttons for gates need upstream Hermes event-to-run wiring; they are declared and documented, not stubbed.
  • Host-gated firing aside, everything here works today via the engine tick, the CLI, and chat.