EACI Development Journal · Personality

How Do You Isolate AI Companion Thought Streams Per Character?

Thought-stream state must be keyed by companion, not just by the open panel. Labels, storage, and updates all use the active identity.

Personality ~7 min issue-tagged
Issue this fixes

A shared interface can display internal-style reflections for several companions. If the state behind that panel is global, switching tabs can show one companion's text under another companion's name.

The consciousness view derives its label and stream from a companion key. Updates should be ignored or routed when they do not match the active identity, while stored streams remain separate.

What was actually going wrong

One global stream variable followed UI focus but did not preserve ownership.

What I tried

What finally worked

Per-companion state objects and explicit identity keys connect generation, storage, and rendering.

Why it worked

The same stable key travels through every stage instead of being reconstructed from presentation.

What I learned

Character isolation is data partitioning, not just different colors and prompts.

Where EACI uses this today

Main keeps Caelum, Chad, Natalia, Atreus, Luna, Roxy, and Cael streams tied to their own identities.

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.