Docs/What carries

What carries

Constant carries the conversation, not the machinery. The honest verdict is lossy-but-resumable: the conversation crosses cleanly, but the agentic substrate does not, because the schemas are not 1:1 across runtimes.

Carried

  • Every user and assistant turn, verbatim
  • The working directory recorded by the source runtime
  • A trail name, so the carried session is recognizable in /resume

For a pure thinking or conversation session, this is essentially complete.

Stripped on purpose

  • Runtime scaffold: system prompts, injected environment blocks, skill lists, plugin lists, memory blocks
  • Secrets: API keys, GitHub and Slack tokens, authorization headers, password/token assignments, and email addresses

This is not just tidiness. A naive transcode can dump an entire system prompt into the target session and leak a real token. Constant redacts and strips scaffold before anything crosses the boundary.

Not carried

  • Tool calls and tool results
  • Reasoning traces
  • Approvals, sandbox state, prompt-cache state, and hidden provider state

A Codex tool call is not a Claude tool call; the schemas are not 1:1, and reasoning is often an opaque payload. For coding sessions the narrative usually survives, because the assistant says what it did, but the machine-level tool history does not. This ceiling is physics, not a TODO.

See The alembic cartridge for how the carry works, and the Trust boundary for exactly what Constant writes.