Sessions stay in Zeus
Ogun’s engine is built with a session provider and proxy-fetch port that always answer no. Browser-session sources go through zeusd, the only process that ever holds them.


Ogun is a separate process with its own state, built directly on the zeus-core engine. Browser sessions stay with Zeus; code runs out of process; everything is journaled.
| Component | Owns | Never does |
|---|---|---|
ogund | Workflow IR validation, run state machine, scheduler and triggers, approvals for its domain, the artifact store, lineage, the cost ledger | Hold browser cookies; run user code in-process; open a network listener (ogun-server, a separate process, is the hub’s listener) |
| zeus-core (embedded) | Segmented, resumable transfers; the journal and commit protocol; verification; filesystem safety; the artifact store format | Product policy, UI or configuration |
| Operators | One unit of work each. Core operators run inside ogund; adapters, code and model operators run in a child process with declared inputs, outputs and network policy, sandboxed with bubblewrap on Linux (none yet on Windows) | See Ogun’s state directory or credentials they were not given |
ogun CLI | validate, hash, diff, put, run, backfill, partition-status, show; approvals on your terminal | Approve from a pipe or on an agent’s behalf |
MCP server (ogun mcp) | Sixteen tools over stdio: validate, diff, plan a backfill and list operators without a daemon; store workflows, start runs and read status, partitions, approvals and streams with one | Decide approvals, extend permissions, return credentials |
| Ogun Studio | Overview, workflows, runs, partitions, approvals, artifacts and lineage, streams, edges, connectors and an agent screen; desktop for Windows and Linux, and Studio-web served by ogun-server | Hide the agent’s words inside approval facts |
| A2A bridge (planned) | A workflow agent other agents can delegate to; off by default; localhost and token | Run inside the daemon |
| Zeus session bridge | Session-gated acquisition through zeusd as a service client | Carry cookies to Ogun: files and provenance come back, secrets do not |
Ogun’s engine is built with a session provider and proxy-fetch port that always answer no. Browser-session sources go through zeusd, the only process that ever holds them.
Approvals are bound to request hashes and decided only on trust surfaces (terminal, Studio). MCP, A2A and the scheduler can raise them, never answer them.
Python, shell, dbt and every external tool run in child processes with declared filesystem and network access, never in ogund. The sandbox is bubblewrap on Linux and sandbox-exec on macOS; Windows has none yet.
ogund listens only on a local IPC endpoint: a Unix socket or a named pipe. HTTP surfaces (ogun-server for a hub, MCP over HTTP, A2A) are separate bridge processes.
| Record | Decision | Status |
|---|---|---|
| ADR 0002 | Ogun is a separate product built on zeus-core; sessions only through zeusd as a service client; two GUIs; each product owns its LLM ladder, A2A and approvals | Accepted |
| ADR 0003 | The workflow IR is data, not code; every authoring layer compiles to it | Accepted |
| ADR 0004 | Integrate, do not replace: tools are operators; Ogun is embeddable in orchestrators | Accepted |
| ADR 0005 | Benchmark runs are a run profile with environments and evaluators | Accepted |
| ADR 0007 | Continuous streams are windowed partitions | Accepted |
| ADR 0009 and 0010 | The platform support matrix (O-12); a self-hosted server mode with OIDC and roles | Accepted |
| ADR 0013 and 0014 | Connectors are manifests that hold names, never secrets; agent threads over a closed tool set | Proposed |
| Zeus ADR 0011 | zeus-core is shared with Ogun; Zeus keeps its consumer scope; the service client kind | Accepted |
Specifications come before code. Ogun’s contracts (O-00 to O-17, all drafts) build on the Zeus specifications for conventions, the daemon API, approvals and the artifact store, so both products share one vocabulary.
Write to info@vernesystems.com. The records are accepted, and the specifications are drafts that feedback can still change.