The easiest reliable starting point is not a complex multi-lane swarm. It is: create 2-3 real Hermes profiles with clear role names, start the gateway so the embedded dispatcher is alive, create one assigned task on the default board, and watch it move from ready to running to done or blocked. Kanban is durable and operator-friendly once that loop works, but it is unforgiving about one thing: the assignee must resolve to a real profile, and something must actually be dispatching.
backend-dev or researcher), optionally one reviewer, optionally one orchestrator later.hermes kanban tail <id> until it either completes or blocks.task.assignee to a profile name by default, and leaves unresolved assignees sitting in ready.kanban.dispatch_in_gateway: true.Practical minimum command set:
hermes profile create backend-dev --clonehermes profile create reviewer --clone (optional at first)hermes kanban inithermes gateway starthermes dashboardWhy this is the minimum:
hermes kanban init is optional because the CLI auto-inits, but it is a clean explicit first step.backend-dev is enough for the first end-to-end proof.reviewer is only needed once Brian wants a review-required loop.The important fact is simple: assignee strings are identities. For the default lane shape, those identities are Hermes profile names.
That means Brian should start with role-shaped profile names he will actually want to assign:
backend-devresearcherreviewerorchestratorThis naming matters because:
hermes profile list,ready.The shortest recommendation: start with one worker profile and use that exact same string in --assignee.
The shortest credible first card is one task with one assignee and no dependencies:
hermes kanban create "Sanity-check Kanban worker" --assignee backend-dev --body "Read the task, write a short summary comment, then complete the task."Why this exact shape works:
ready,If Brian wants a coding-flavored first task instead:
hermes kanban create "Document the current repo layout" --assignee backend-dev --body "Inspect the repo, summarize the main directories, and complete the task with changed_files or findings metadata."For day one, Brian should avoid:
--parent dependencies,worktree workspaces,dir:<path> workspaces,--tenant, unless he already truly needs tenant namespacing,The current system behavior is:
ready,ready task,hermes -p <assignee> chat -q <prompt> in the task workspace,HERMES_KANBAN_TASK, HERMES_KANBAN_RUN_ID, HERMES_KANBAN_WORKSPACE, and board/db pointers,kanban_complete(...) or kanban_block(...).Operator consequence: if Brian creates a card and nothing is running the gateway/dispatcher, the card will just sit in ready. The CLI literally warns about this when it can detect no gateway.
Current defaults worth treating as real:
So the shortest expectation is: create a task, then either wait up to a minute or manually nudge/dispatch if using the dashboard/CLI.
Best operator surfaces, from simplest to richest:
hermes kanban tail <task_id>: best terminal-native live view.hermes kanban show <task_id>: best compact forensic view after the fact.hermes kanban runs <task_id>: best for retry / crash / completion history.What Brian should expect to see:
ready → dispatcher has not claimed yet,running → a worker process owns it,blocked → worker asked for human input or circuit breaker tripped,done → worker completed cleanly.The healthy first success is not fancy. It is simply: the card leaves ready, gains run history, and either lands in done or produces a legible blocked reason.
Symptom:
ready forever.Most likely cause:
kanban.dispatch_in_gateway was turned off.Fast fix:
hermes gateway startkanban.dispatch_in_gateway back on and restart the gateway.Symptom:
ready.Most likely cause:
--assignee backend-dev was used but no backend-dev profile exists.Fast fix:
hermes profile listSymptom:
Most likely cause:
Fast fix:
Symptom:
What the code says:
Practical read:
Symptom:
ready, then eventually lands in blocked / gave_up.What the code says:
Practical read:
Symptom:
Fast fix:
worktree and dir:<path> for after the core loop is proven.Fastest path:
This proves Kanban works with the least cognitive overhead.
Durable path:
Brian should prefer the fastest path first, because Kanban's biggest early failure mode is not missing features — it is operator ambiguity about who is supposed to pick up the card. Once the assignee→profile→dispatcher chain is real, the rest becomes much easier.
hermes kanban, hermes profile).hermes_cli/kanban.py dispatcher guidance and defaults.hermes_cli/kanban_db.py claim TTL, crash handling, and worker env wiring.tools/kanban_tools.py tool gating and worker heartbeat behavior.