Ring 0 is open to design partners running agents against production systems. Request access

Platform · 01 · sessions

Identity that survives the machine.

A session is the agent's durable name. It outlives the process, the host, the context window, and the model that happened to be answering when it started.

session lifecycleone identity, many processes
IMG 10velone-session-timeline.pngSessions page hero

01 / the problem

Most agents are a process pretending to be a worker.

In a normal harness, the agent is whatever is currently in memory. Kill the process and the worker is gone: the task, the filesystem, the half-finished migration, the knowledge of what it already tried. Restart it and you have a new stranger with the same prompt.

That is survivable in a demo and unacceptable for work that takes three hours, waits on a human overnight, or spans a model deprecation. A workforce needs workers with names.

8h+

single session length

Long-running jobs, not request/response.

0

state lost on crash

Filesystem and cursor restored on resume.

02 / what a session holds

Identity
A stable principal — agent:claims-bot — plus the human or service it acts on behalf of. Both travel with every call the agent makes.
Delegation chain
When an agent spawns a child, the child gets its own principal with the parent recorded. Authority can narrow down the chain, never widen.
Execution state
Filesystem, working directory, environment, installed packages, and open handles, captured as a resumable snapshot.
Policy binding
The ring and the policy version in force. A session cannot silently gain privilege mid-run; a change is a new, recorded decision.
Evidence cursor
The position in the hash chain, so the record continues across a resume instead of starting a second, unlinked story.
Budget
Tokens, wall-clock time, spend, and tool-call counts consumed so far, enforced as hard ceilings.

03 / model swaps

The brain is replaceable. The worker is not.

Swap Claude for GPT mid-session and nothing else moves. The identity, the policy, the filesystem, and the evidence chain are all properties of the session, not of the model.

# the session outlives the model it started on
session = velone.sessions.resume("session/7f3a")

session.model = "claude-opus-4"      # started here
session.model = "gpt-5.2"            # deprecation, same worker
session.model = "llama-4-70b-local"  # cost cut, same worker

session.identity     # agent:claims-bot  (unchanged)
session.ring         # 2                 (unchanged)
session.evidence.at  # 4,812             (continues)

04 / questions

Is a session just a thread of conversation?

No. A conversation is one thing a session may contain. The session is the execution identity: the box, the credentials it can request, the ring it runs at, and the record it writes. You can run a session with no conversation at all.

How long can a session live?

Indefinitely. Sessions idle to a snapshot and cost nothing while suspended; resume rehydrates the filesystem. Long waits on human approval are the normal case, not an edge case.

What happens when the host dies?

The session is rescheduled onto another host from its last snapshot. Work since the snapshot is replayed from the evidence log where it is safe to do so, and flagged where it is not.

Can two agents share a session?

No, and deliberately so. Shared identity destroys attribution. Use a parent session with child sessions instead — you keep one story with separate, provable actors.

keep reading

Ring 0

Give your agents names that outlive the process.

Sessions are the first thing we turn on with a design partner, because everything else hangs off them.

curl -fsSL velone.in/install.sh | sh