Observability shows the run. State lets you act on it.
Observability and portable state answer different questions.
A trace is excellent at showing what happened: timing, spans, model calls, tool calls, errors, and aggregate behavior. Teams need that view.
A run artifact asks what you can do with the captured history after you understand it.
Read versus read-write
With opentine, supported runs are saved as local .tine artifacts. The CLI can inspect and verify them:
tine show result.tine
tine verify result.tine
It can also perform graph operations:
tine fork result.tine --from-step 3 --save retry.tine
tine replay result.tine --mode cache
tine diff result.tine retry.tine
That is more than a different trace viewer. The saved artifact carries graph structure, cache provenance, transcript state, manifest data, and an integrity boundary.
State has limits
Not every observed run is automatically resumable. A producer must record the state required by the runtime, and a compatible native agent or harness must exist to continue execution.
That is why opentine describes resumption as scoped. Cache replay can reuse recorded steps without making a provider call. A live rerun requires an explicit runtime or harness. The artifact makes those modes visible instead of treating them as interchangeable.
Complementary tools
Hosted observability remains useful for fleet-wide metrics, alerts, evaluation dashboards, and collaboration. A local artifact layer remains useful for portability, verification, offline inspection, controlled sharing, and graph operations.
Version 0.5 makes that relationship explicit rather than competitive. opentine can import supported OpenTelemetry and framework traces, then export a verified run as OpenTelemetry GenAI data for the backend already operating the system. The exporter returns data; the application still controls transport and credentials.
The useful distinction is not “observability bad, state good.” It is that a trace optimizes for looking, while a sufficiently complete artifact can also support intervention.
When the agent fails, you want both: enough visibility to locate the problem and enough preserved state to act from the point you found.