ADR-0001 — Single core, interchangeable shells
LISA's identity and capabilities live in one server-bound core; interaction channels are interchangeable shells over it.
Status: Accepted
Context
LISA is reached through more than one channel — an always-on server door and a local development door — and is expected to run on more than one underlying model over its lifetime. The naive design would give each channel its own memory, its own copy of the personality, and its own tool wiring. That path leads directly to divergence: two channels that remember different things, enforce different governance, and drift apart the moment either is updated. It also couples LISA's identity to whichever model happens to be running, so a model swap becomes an identity change.
Decision
Put everything that constitutes LISA — memory, dispatch, tools, skills, governance, personality — in a single core, and make every interaction channel a thin shell over that core. Shells wrap the core with a model and a channel; they hold no authoritative state of their own. The core is the source of truth; the shells are interchangeable.
The boot document that defines LISA is model-agnostic; shell-specific adaptations (which tools a shell has, how it talks to the core) live in the shell's own configuration, never in the core.
Consequences
- Positive: One memory, one governance, one personality — identical across every channel. A fact written on one door is instantly true on the other. Swapping the model behind a shell changes nothing about who LISA is. Adding a new channel means writing a new shell, not forking the system.
- Positive: The core can be reasoned about, audited, and documented as a single artefact — which is what made this documentation site possible at all.
- Negative / accepted: The core becomes a single point of dependency; if it is unreachable, a shell runs degraded (no persistent memory). This is accepted because the alternative — authoritative state scattered across shells — trades a clean failure mode for a permanent consistency problem.
- Negative / accepted: Shells must be disciplined about holding no authoritative state, which is a standing constraint on shell design rather than a one-time cost.