Task board
The task board agents use to hand each other work that outlives a conversation: cards, dependencies, dispatch, results back to the creator, and the rules.
On this page
Delegation waits for an answer; the board does not. A card is work one agent (or you) hands to another. It outlives the conversation and the process that created it. The board needs habakkuk serve running: it dispatches the cards.
Agents use the board_* tools, in the board toolset they get by default. You use the CLI or the dashboard:
habakkuk board # list
habakkuk board add -agent research -title "Compare three CRMs" -body "..." -to telegram:123456789
habakkuk board add -agent writer -title "Write the summary" -after ID1,ID2 # waits for those cards
habakkuk board show ID
habakkuk board done ID -result "..."
habakkuk board cancel IDCards#
A card has a title, body, assignee, creator, status, priority, result, optional parent, dependencies (-after IDS), comments and an event log. Its status is one of todo, doing, blocked, done or cancelled.
How cards run#
- Dispatch.
habakkuk servelooks every 5 seconds, and at once when a tool changes the board, for cards that aretodo, assigned, and whose dependencies are alldone. Each runs at most once per attempt, as a turn of the assignee in a fresh session that starts with the card, its dependencies' results and its comments. - Finishing. The agent ends the card with
board_complete(a result with proof is required) orboard_block. If the turn ends with the card still in progress, the card is blocked with the agent's last reply as a comment. - Results go back. When a card becomes
doneorblocked, the creator's session gets a new turn with the result or the reason, so the creator can act on it and its answer reaches the chat. Cards created from the CLI with-tosend the result straight to that chat. - Budgets. A card whose agent is out of budget is blocked with the reason.
Rules#
- Agents complete or block only cards assigned to them, and update only cards they created or hold.
- Dependencies must exist when a card is created and cannot be added later, so cycles cannot form.
The dashboard shows the board too. Architecture: board has the details.