hermes-agent/skills
Teknium 0cd7d54b00
feat(kanban): goal_mode cards run workers in a /goal loop (#35710)
* feat(kanban): goal_mode cards run workers in a /goal loop

A goal_mode card wraps its dispatched worker in the Ralph-style goal
loop behind /goal: after each turn an auxiliary judge checks the
worker's response against the card title+body, and if not done the
worker keeps going in the SAME session until the judge agrees, the
worker terminates the task itself, or the turn budget runs out (which
blocks the card for human review — never a silent exit).

- kanban_db: goal_mode + goal_max_turns columns (additive migration),
  Task fields, create_task params, INSERT wiring, created-event payload.
- kanban_tools: goal_mode/goal_max_turns on the kanban_create tool so
  orchestrators can opt cards in when fanning out.
- kanban CLI: --goal / --goal-max-turns on 'kanban create'.
- dashboard API: goal_mode/goal_max_turns on the create endpoint
  (auto-surfaced back via asdict).
- _default_spawn: sets HERMES_KANBAN_GOAL_MODE / _GOAL_MAX_TURNS only
  when the card opts in.
- goals.run_kanban_goal_loop: standalone, callback-injected loop engine
  (no SessionDB persistence; ephemeral worker). cli.py quiet path calls
  it after the worker's first turn when the env vars are set.
- Docs: orchestrator skill + kanban feature page.

Tests: DB roundtrip + legacy migration, spawn env gating, and the loop's
continuation/completion/budget-block/finalize-nudge branches. E2E run
against a real kanban DB confirms a budget-exhausted goal worker lands
in a sticky blocked state.

* feat(kanban/dashboard): goal-mode toggle in the create form

Wires the goal_mode card setting into the dashboard UI (the plugin's
hand-written IIFE bundle, no build step):

- InlineCreate: 'goal mode' checkbox after the skills field; checking it
  reveals an optional 'max turns' number input. Both reset on submit and
  only post goal_mode/goal_max_turns when enabled.
- TaskDrawer: a 'Goal mode: on (max N turns)' MetaRow so a card's
  goal-mode setting is visible after creation (auto-fed by asdict via the
  existing _task_dict).

Live-tested through the running dashboard with a browser: created a
goal-mode card with max-turns=8, confirmed it persisted to the kanban DB
(goal_mode=1, goal_max_turns=8) and rendered back in the drawer as
'on (max 8 turns)'. No JS console errors.
2026-05-31 01:16:33 -07:00
..
apple docs(skills): clarify Reminders alarm timing 2026-05-29 04:01:01 -07:00
autonomous-ai-agents docs(security): update redaction skill source 2026-05-29 12:06:22 -07:00
creative chore: prune unused imports and duplicate import redefinitions 2026-05-28 22:26:25 -07:00
data-science feat(skills): declare platforms frontmatter for all 79 undeclared built-in skills 2026-05-08 14:27:40 -07:00
devops feat(kanban): goal_mode cards run workers in a /goal loop (#35710) 2026-05-31 01:16:33 -07:00
diagramming refactor: reorganize skills into sub-categories 2026-03-09 03:35:53 -07:00
dogfood feat(skills): declare platforms frontmatter for all 79 undeclared built-in skills 2026-05-08 14:27:40 -07:00
domain refactor: reorganize skills into sub-categories 2026-03-09 03:35:53 -07:00
email docs(email): clarify gateway vs Himalaya setup 2026-05-28 05:42:09 -07:00
gaming feat(skills): declare platforms frontmatter for all 79 undeclared built-in skills 2026-05-08 14:27:40 -07:00
gifs refactor: reorganize skills into sub-categories 2026-03-09 03:35:53 -07:00
github feat(skills): declare platforms frontmatter for all 79 undeclared built-in skills 2026-05-08 14:27:40 -07:00
index-cache Release set of skills 2026-02-25 05:21:17 -08:00
inference-sh feat(gateway): skill-aware slash commands, paginated /commands, Telegram 100-cap (#3934) 2026-03-30 10:57:30 -07:00
mcp feat(skills): declare platforms frontmatter for all 79 undeclared built-in skills 2026-05-08 14:27:40 -07:00
media feat(skills): declare platforms frontmatter for all 79 undeclared built-in skills 2026-05-08 14:27:40 -07:00
mlops chore(skills): move heavy training skills + outlines to optional-skills (#22912) 2026-05-09 18:44:12 -07:00
note-taking feat(skills): declare platforms frontmatter for all 79 undeclared built-in skills 2026-05-08 14:27:40 -07:00
productivity fix(google-workspace): handle Gmail header casing case-insensitively 2026-05-30 02:38:18 -07:00
red-teaming/godmode feat(skills): declare platforms frontmatter for all 79 undeclared built-in skills 2026-05-08 14:27:40 -07:00
research docs: fix separate typo; hyphenate built-in trust wording 2026-05-29 12:06:22 -07:00
smart-home feat(skills): declare platforms frontmatter for all 79 undeclared built-in skills 2026-05-08 14:27:40 -07:00
social-media docs: clarify xurl auth HOME in Docker 2026-05-24 23:50:31 +08:00
software-development docs(s6): document container supervision; doctor + skill + user-guide updates 2026-05-24 18:05:33 -07:00
yuanbao feat(skills): declare platforms frontmatter for all 79 undeclared built-in skills 2026-05-08 14:27:40 -07:00