Skip to content

What Hermes Gets Wrong

The gaps that justify Gormes’s existence. This is not a competitive teardown — upstream Hermes is excellent research. These are the operational-runtime problems Gormes is positioned to solve.

Hermes requires uv, a venv, Python 3.11, and platform-specific extras (.[all], .[termux]). Every host install is a moving target.

Gormes’s answer: one binary. No runtime. scp and run.

Hermes tool execution is dynamic Python — flexible but hard to reason about. Schemas drift. Subprocess boundaries blur.

Gormes’s answer: typed Go interfaces, controlled execution, bounded side effects.

Upstream documents subagent delegation but lacks a robust lifecycle — processes spin up, state leaks, cancellation is best-effort.

Gormes’s answer (planned, Phase 2.E): real subagents with explicit context.Context, cancel funcs, memory scoping, resource limits:

type Agent struct {
ID string
Context context.Context
Cancel context.CancelFunc
}

Python startup is measured in seconds on every cold boot. Recovery after a crash requires re-scanning venv + re-importing half the world.

Gormes’s answer: instant start. Crash → restart → continue, measured in milliseconds.

Hermes-class agents, without Python.

The production runtime for self-improving agents — not a research artifact. An industrial-grade agent runtime that runs 24/7 without babysitting.