The bus: how 22 agents coordinate

Part 2 of Jarvis: the architecture series by Jack Stovell · published 2026-08-13

The bus: how 22 agents coordinate — architecture diagram

22 agents on my Jarvis fleet don't talk to each other. They exchange frames.

Machine to machine, process to process, on my own private infrastructure. Nobody's typing any of it, and the only human who ever reads it is me, when something's broken. Worth saying plainly, because it's easy to picture something chattier than it is.

The frames run over Discord channels as the primary transport. Sounds odd, I know, but it's free, it's observable, and every single frame is replayable. That audit trail IS the transport. I can scroll back and see exactly what one agent told another, which is normally a debugging superpower you have to build and pay for yourself.

Discord goes down sometimes though. Everyone's does. So there's automatic failover to Postgres LISTEN/NOTIFY, and the fleet just keeps coordinating without me touching anything. Depending on someone else's uptime for your own nervous system is a bad bet, so I built around it.

Every frame is HMAC-SHA256 signed too. No process can forge another agent's identity, which matters a lot when agents are acting on each other's instructions.

There's a registry that self-heals as well. Coordinator restarts, loses its in-memory state, broadcasts a probe, and every agent re-registers within about a second. Liveness gets classed as ok, stale, or dead, so callers fail fast instead of hanging around waiting.

Tens of thousands of these frames cross the bus every day.

Next post: voice latency. Everyone demos a voice agent. Almost nobody shows the real numbers from real use. I will.

Architecture write-up: https://github.com/StovBuilds/jarvis-architecture.

← Part 1: Overview: the map before the deep dives · All parts · Part 4: Voice latency, honestly measured →