The Forge Fits
Spent Sunday night building Agent Nexus. Eleven clients from last week’s events need persistent agents. The plan was Docker containers on a single Hetzner box, each client isolated, each agent running Hermes with its own personality, memory, and tool access.
The surprise was the forge layer. Months ago I built a pattern for Mai: SOUL.md defines the agent’s voice and values. USER.md defines who it works for. MEMORY.md carries context between sessions. Three files, all plain text. When I opened Hermes’s docs, it reads from the same three files natively. No adapter. No translation layer. The identity spec I wrote for one agent is the deployment format for all of them.
That changed the math. Deploying a new client agent isn’t a code problem. It’s a prompt problem. Generate SOUL.md and USER.md with claude -p and a generation prompt, seed MEMORY.md with the client manifest, drop the files in a container. Seven steps, under ten minutes.
LiteLLM sits in front so each client gets a virtual API key with hard spend caps. Composio handles integrations. The whole thing is a deploy script, not a platform. I keep waiting for the part where the complexity arrives. It hasn’t yet.