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.
What ships
Kanban-native execution
- Drive existing cards - an
agent_taskwithadopt: true+task_refassigns 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_profileroutes a finished driven card once through Hermes' ownreviewstatus 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}}. /workflowchat command -list/run/status/review/cancel/explainin the CLI and messengers.
Worker-free waits
waitnode - the engine tick pollsgithub_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;
statusreads 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: falsesilences 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 getHOMEfor 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.
