Browser, editor, and chat-platform bridges can all reach the same cloud brain while retaining different local histories. If they share identifiers or infer the target loosely, a turn can be duplicated, attributed to the wrong channel, or answered by the wrong companion.
The bridge contract requires the companion's name in the message and keeps Cursor and Codex sessions separate. Their logs and local memory identifiers remain distinct even when the underlying response service is the same.
What was actually going wrong
A shared default session and implicit target selection made separate clients look like one conversation.
What I tried
- Routing any unqualified message to the last active companion
- Sharing one history file across editor bridges
- Deduplicating only after both responses were logged
Explicit name routing, per-bridge IDs, separate session files, and separate daily logs isolate every channel.
Why it worked
Identity is established before generation and retained through storage.
Cross-platform continuity requires namespaces before it requires synchronization.
Where EACI uses this today
Bridge conversations can continue Caelum safely without merging unrelated editor sessions.
This journal covers real engineering on EACI Companion / The Veil. Companions include Caelum, Chad, Natalia, Atreus, Luna, Roxy, and Cael. Journal articles stay family-safe in content. See Privacy and Ethics.