Hermes runs the agents so your product doesn't have to. Register your tools, hand it goals, and receive back actions, escalations, and confidence signals — with the safety machinery built in, not bolted on.
Powering Ettaché · kampaign.ai · Liame.ai · aixsdr.com
// Before any external-effect action: POST /v1/kernel/evaluate { "action": { "type": "email.send", "target": "agent:first-choice", "idempotency_key": "a7f3…" }, "weight_vector": { "novelty": 0.9, "stakes": 0.95 } }
// Kernel decides. Score can't override the ceiling. { "decision": "escalate", "reason": "stakes_ceiling", "confidence": 0.87, "escalation_id": "esc_5512" // → your review UI }
A runtime that knows about outreach is a runtime every consumer has to fork. Hermes draws the line hard: it knows how to run agents and how to gate autonomy — never what a "target" is or what good outreach looks like.
Your projects, targets, domain logic, drafting, and UI. Calls down over REST, receives webhooks back. Ettaché is one consumer; yours is another.
Trust ladder, confidence engine, escalation queue, stakes-ceiling enforcement. The machinery every agent product re-wants — built once, gated at execution time.
Agent runs, tool registry and dispatch, durable state, event bus. Knows nothing about your domain. Even kernel-optional consumers get a global send-cap floor.
Register manifests where your APIs already expose tool-calling — no MCP wrapper required. Every state change emits an event; your dashboard subscribes to the same bus the kernel does.
POST /v1/tools/manifestsRegister your tool manifest with the Runtime. Versioned; breaking changes require a new major.
POST /v1/runsStart an agent run against a goal. Returns a run id; progress arrives as events.
POST /v1/kernel/evaluateThe gate call. Submit an action plus weight vector; get approve, hold, or escalate. Ceiling enforced here, always.
GET /v1/kernel/escalationsFetch the escalation queue for your consumer. Render it, resolve it, and the kernel learns from the resolution.
POST /v1/webhooksSubscribe to run events, escalation events, and confidence-signal updates. Delivery is at-least-once; dedupe on idempotency key.
Stakes-ceiling enforcement happens at gate time, in the kernel, at the execution layer. No confidence score, however high, can route around it.
All state changes emit onto the bus. Autonomous action is acceptable exactly because it's auditable — the ledger is the system of record, not a report about it.
Counterparty replies and ingested content cross a hard boundary. They inform runs; they don't command them.
When Hermes is down, every consumer is down. That's the honest cost of consolidation — which is why the /v1 contract is versioned strictly and breaking changes ship as new majors, never in place.
Hermes v1 serves OnePgr-portfolio apps under shared trust. The contract is designed so external consumers can come later without a rewrite.
See it working in Ettaché →