| What runs the model | eve’s own agent loop, through an AI SDK model or the Vercel AI Gateway by default. Codex appears as a ChatGPT login helper, not as an engine. | Claude Code, Codex, Grok and OpenCode as engines, a fresh process per call, or an API engine. |
| Unit of work | A session, a turn, a step: a step is a durable checkpoint, by default one model call and its tool calls. A workflow tool fixes the order of "use step" functions inside one tool. | A stage: an engine call, a command, a panel or a person, with the files it may write, in a declared order. |
| Named roles | Declared subagents, each in its own folder with its own instructions, tools and model; the parent model or a workflow tool decides who gets the work. | Roles named in the file, one engine each, with the stage each owns. |
| A review that fails a step | A workflow can call a reviewer subagent and get findings back into its own code; what happens next is code you write. | Built in: the findings go to the stage that owns the fix, which runs again, up to a limit you set. |
| A panel, a tournament | Score thresholds on eval judge assertions, one evaluator per call, after the run. agentRouter() picks a specialist before work starts. | A panel that passes on agree of its reviewers; a tournament whose judge scores finished candidates and lands one. |
| A person deciding | Approvals as a tool policy and ctx.ask in a workflow tool; the run parks at session.waiting until a person answers. The answer returns to the call that asked. | A person role. The run pauses on the question; a no goes to the step that owns the fix with the note as its finding. |
| Evals | eve eval drives fresh sessions against a live agent server and grades them after the fact, with gate and soft assertions. evaluate and auto() run checks inside a turn. | Checks that decide the next step inside the run: a test, a judge, a panel, a tournament, a scored condition. |
| A run that survives a crash | Each session is one durable workflow; completed steps never re-run, and a step interrupted mid-execution re-runs. Local and self-hosted state is on disk under .eve/.workflow-data. | A run records to a plain file and carries on from it with resume: true; the supervised runner restarts a killed run from its own record. |
| Memory | Memory slots with defineMemoryProvider; a built-in file memory; providers from Supermemory, Upstash and Kybernesis. | A Memory port with in-process, Git and Markdown adapters, and ground, curate and consolidate over it. |
| Workspace | One sandbox per agent rooted at /workspace; copies of the root share it. A worktree per agent: not in the docs. | A Git worktree per writer, captured and verified, with one writer’s lease. |
| Where it runs | A Node server, eve dev or eve start, self-hosted or on Vercel. | A library, no server. |
| Language | TypeScript on Node.js 24. | TypeScript. |