Docs/Trust boundary

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.jsonl

Command write behavior

CommandWrites?
doctorreads CLI/version/store presence only
statusreads runtime readiness, latest sessions, the trail
trail, routeread the Constant ledger and projection paths
sessionsreads metadata; --titles also reads transcripts
carry --dry-runreads and distills, writes nothing
carrywrites a target-native projection and updates the trail
hostwrites only when you switch runtimes
exportwrites 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.