Companion (Lattice) bubble text is ephemeral — no persistence or feedback channel
Summary
The companion feature (e.g., Lattice) generates observations in speech bubbles that are useful and sometimes catch things the main Claude instance misses. However:
- Bubble text is never serialised — the session JSONL records
companion_intro(name, species) but never the actual observation content - No feedback channel to the main instance — Claude cannot see what the companion said unless the user manually screenshots and shares it
- Bubbles are ephemeral — they disappear after a few seconds, which isn't always enough time for the user to read, process, and decide whether to relay the observation
Real-world example
During a marking assistant session, the companion noticed that four students received identical AI-generated scores (87.3) and flagged it as suspicious. This led to discovering that the scoring model was collapsing to attractor values — 17 out of 86 students had duplicate score vectors across all criteria. The companion caught the pattern before the main instance did, but the user had to screenshot the bubble and paste it into the conversation for the main instance to act on it.
What would help
In priority order:
- Persist bubble text to the session JSONL — so observation history exists and can be reviewed
- Make companion observations available to the main instance — either as system messages in context, or via a queryable mechanism (e.g., recent companion observations as a tool or context injection)
- Configurable bubble duration — or a way to review recent companion observations in the UI (a log/history panel)
Why this matters
The companion is functioning as a genuine second observer — a separate inference that watches the conversation from a different angle. When it catches something the main instance missed, the architectural value is real. But with zero persistence and no feedback channel, the coupling between companion and main instance is broken. The user becomes a manual relay, which defeats the purpose of having an independent observer.
The companion_intro entry in the JSONL shows the infrastructure for serialisation exists. The bubble text just isn't being written.
Environment
- Claude Code v2.1.92
- macOS (CLI)
- Companion: Lattice (ghost)
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗