case studies
shipped, scoped, and one decision i’m proud of each.
two projects. not three, not “many.” fewer means each one gets the case study it deserves.
in development · 2026
caduceus
label an issue. wake an agent. get a pull request.
a self-hosted rust daemon + hermes plugin. polls github for labeled issues, hands each one to a configurable ai harness in an isolated worktree, and finalizes the result as a branch + push + pr.
rusttokiogithub rest + webhookshermes pluginisolated git worktreesposix flock
$ caduceus run --issue 42 --worker opencode~/projects
[caduceus] claim acquired issue #42
[caduceus] worktree /var/lib/caduceus/work/42
[caduceus] worker started opencode (pid 8741)
[caduceus] heartbeat ok (12s)
[caduceus] worker exit 0 1 file changed, 24 insertions(+), 7 deletions(-)
[caduceus] branch pushed refs/heads/caduceus/issue-42
[caduceus] pr opened https://github.com/barkley-assistant/caduceus/pull/87
[caduceus] worktree cleaned ok
[caduceus] state idlelive · 2026
signal house
engineering health, in one quiet dashboard.
a self-hosted dashboard that watches what is moving across our repos — throughput, cycle time, ci health, stale items — without opening five tabs.
next.jsreacttypescriptechartstailwindzustand
signal_house/freshness.py~/projects
def freshness(panel: Panel) -> Status:
age = now() - panel.last_polled
if age > STALE_AFTER:
return Status.UNKNOWN # not "fine"
if panel.source_missing:
return Status.UNKNOWN # not "fine"
return Status.OK