Brokentooth.io / 05 Automation / Hermes Kanban Dispatch

Hermes Kanban Dispatch

Coordinating bounded agent jobs without giving every small task an expensive model.

An autonomous agent is perfectly capable of staying busy. Useful work requires a little more supervision than that.

Hermes Kanban is the dispatch system I use to give agent work a defined shape: a task, an assigned worker, dependencies, a workspace and a result someone can inspect. The board is useful because it makes those boundaries visible. A green card still needs actual files behind it.

Spend the expensive reasoning deliberately

Routine work can use local models, free-tier allowances or routes covered by an existing subscription. Those are different arrangements with different limits; calling the whole thing free would conceal the part that eventually stops working when a quota runs out.

The operating policy is to use the cheaper available capacity where it fits and reserve more expensive reasoning for deliberate decisions. Concurrency limits, execution budgets and retry limits put bounds around the work. They help contain failures; they do not make every task safe or every result correct.

An ordinary database detail with an outsized consequence

The dispatcher uses timestamps to decide whether a task is still cooling down or whether an earlier handoff should prevent another worker from starting. That logic becomes awkward when a database column contains more than one representation of time.

In the code history, commit 7cc3fb8cb5 addresses comparisons involving integer epochs and ISO-formatted timestamp text. SQLite's storage-class comparisons can produce the wrong result if the query treats those values as though they were already the same kind of thing.

The revised path uses SQL to narrow the rows and normalizes timestamps in Python before applying the guard. Unreadable values take a conservative fallback. Regression-test source covers mixed timestamp handling; this page does not claim a new historical test run or a measured concurrency benchmark.

Supervision is still work

The content on this site is one use of that dispatch process: bounded drafting, a separate review and corrections before publication. Task completion tells me a worker stopped with a result. Whether the result deserves to ship remains an editorial decision. Automating the former does not excuse skipping the latter.