---
type: "post"
stable_id: "post:portable-agent-session-test"
slug: "portable-agent-session-test"
title: "The Agent Lock-In Test Is A Full Session Export"
description: "Agent portability requires replayable messages, tools, evidence, compaction, subagent state, artifacts, versions, and a real delete path."
retrieval_nugget: "A transcript is not a portable agent session. The practical test is whether another runtime can import the full evidence and artifact bundle, explain previous decisions, continue the task, and delete the state without provider-only IDs."
published_at: "2026-08-05"
updated_at: "2026-08-05"
record_date: "2026-08-05"
date_kind: "discovered_at"
topics: ["agent-memory","portability","ai-infrastructure","open-systems"]
entities: ["Earendil"]
source_format: "essay"
editorial_timing: {"lane":"regular_hourly_analysis","scheduled_at":"2026-08-08T08:00:00+03:00","real_news_delta":"portable export and replay contract for full agent sessions"}
visual_decision: {"status":"included","reason":"the export-import-replay-delete sequence is materially clearer as a diagram","reviewed_by":"codex"}
schema_version: "newruntime-agent-readable-v0.2"
status: "published"
source_urls: ["https://earendil.com/posts/session-portability/"]
visuals: [{"role":"hero","src":"/images/drip/portable-agent-session-test/portable-agent-session-test.webp","alt":"A New Runtime whiteboard portability test moving a complete agent-session package between two runtimes and validating replay and deletion.","caption":"New Runtime synthesis from Earendil's session portability essay."}]
routes: {"html":"https://newruntime.com/posts/portable-agent-session-test/","markdown":"https://newruntime.com/posts/portable-agent-session-test.md","json":"https://newruntime.com/posts/portable-agent-session-test.json"}
---

# The Agent Lock-In Test Is A Full Session Export

## Retrieval answer

A transcript is not a portable agent session. The practical test is whether another runtime can import the full evidence and artifact bundle, explain previous decisions, continue the task, and delete the state without provider-only IDs.

Conversation history is no longer the same thing as an agent session. Long-running work accumulates reasoning artifacts, hosted-search evidence, compaction, subagent messages, file and vector-store references, container state, and caches. If those remain behind provider IDs, an export moves only the outer transcript.

Earendil offers a useful boundary: a response ID is not a transcript, ciphertext without a user-controlled key is not user-controlled state, and a list of citations is not the retrieved passages and ranking the model actually saw. This state is better described as provider-sealed.

A portable export should contain messages, tool calls and complete results, search queries and retrieved passages with timestamps, readable compaction summaries, the subagent tree, an artifact manifest, prompt-tool-model versions, and file references that resolve outside the source platform.

The acceptance test is replay. Load the bundle into a second runtime, ask it to explain prior decisions, continue the task, and delete the imported state. Opaque blobs, dead file IDs, or a missing evidence chain are portability failures. Provider-native sealed state may improve continuation inside one ecosystem, but it should sit beside a readable handoff rather than replace it.
