
Aug 4, 2026
The half frameworks do not ship
Frameworks solve the loop. You still host, retry, store memory, and sandbox. That second half is the product.
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 sandbox the code node. 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. A code node is an escape hatch, not a confession. The SDK is a first-class authoring surface, not a lesser path.
import { graph, http, model } from "@linea/sdk";
export const recovery = graph({
name: "invoice-recovery",
nodes: {
fetch: http.get("/invoices/:id"),
reason: model.complete("Explain the failure."),
notify: http.post("/hooks/slack"),
},
});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.