Trust boundary
Constant does not claim shared native memory between agent CLIs. It reads visible local session evidence and authors a new session that the target runtime can resume. It still moves conversation content across a trust boundary, so read this before using it on sessions you care about.
Originals are seeds, never targets (F1)
A switch never overwrites your original session. Constant reads it as a seed and maintains its own Constant-owned projection pair per thread, kept in sync as you switch back and forth. A codex to claude to codex round trip leaves your untouched original plus exactly two stable projections: no proliferation, no silent data loss.
What Constant writes
~/.claude/projects/<cwd-slug>/<id>.jsonl
~/.claude/history.jsonl
~/.codex/sessions/YYYY/MM/DD/rollout-<timestamp>-<id>.jsonl
~/.codex/session_index.jsonl
~/.codex/state_5.sqlite
~/.constant/trail.jsonlCommand write behavior
| Command | Writes? |
|---|---|
doctor | reads CLI/version/store presence only |
status | reads runtime readiness, latest sessions, the trail |
trail, route | read the Constant ledger and projection paths |
sessions | reads metadata; --titles also reads transcripts |
carry --dry-run | reads and distills, writes nothing |
carry | writes a target-native projection and updates the trail |
host | writes only when you switch runtimes |
export | writes only the requested --out file, or stdout |
Redaction
Constant redacts common secrets from carried text and strips runtime scaffold (system prompts, skill/plugin/memory blocks). See What carries. It does not display raw secrets.
Limits
Constant is early, alpha software. Session formats are private and can change between runtime releases; Constant has round-trip tests for the current shapes, but a runtime update can require a codec refresh. Validated against codex 0.137.x and claude 2.1.x.