The half frameworks do not ship
Frameworks solve the loop. You still host, retry, store memory, and sandbox. That second half is the product.
- Ops
- Runtime

LangGraph, and tools like it, solved a real problem: how to write the agent loop as a graph instead of a pile of if statements. That is the logic half, and it is genuine progress.
The ops half is still on you. You host the process. You retry the crash. You store what the agent learned. You keep the input so you can replay one step. None of that falls out of a good graph library.
We did not set out to write another way to express the loop, and we did not set out to ship another workflow-automation tool. We set out to host the run and keep the control plane around it: the checkpoint, the signal, the case you freeze from a failure.
What you still write
The unique logic stays yours: the prompts, the tools your agent calls, and the shape of the graph. You draw that graph in the builder, and the host runs each published version exactly as it is.
JSON
{
"version": 1,
"trigger": { "type": "webhook" },
"entryNodeId": "fetch",
"nodes": [
{
"id": "fetch",
"type": "http",
"config": { "method": "GET", "url": "https://billing.internal/invoices" }
},
{
"id": "reason",
"type": "ai",
"config": { "prompt": "Explain the failed invoice in one paragraph." }
}
],
"edges": [{ "from": "fetch", "to": "reason" }]
}You do not stand up the store, the worker, or the replay UI for that graph. That is the host.
Logic vs ops
| Layer | Framework | Linea |
|---|---|---|
| Graph of steps | You write it | You write it |
| Host and retries | You operate it | Comes with the run |
| Memory across runs | You stand up a store | Comes with the run |
| Step-level replay | You do not have the input | The checkpoint is the input |
If you already have the logic half, you do not need another framework. You need the run to remember what it saw.
Read Why replay needs the checkpoint next, or start building.

