Design note / Active prototype
Memory across model changes
Why the record stays put when the model underneath it changes.
Changing your model should not mean telling an assistant everything about yourself for a second time.
Here, what it remembers belongs to you and sits apart from the model doing the answering. Move between a local model and a hosted one, or onto a completely different machine, and the record comes with you.
A record before a model.
The direction of the architecture is person, persistent context, then the selected model. A browser and a room endpoint reach that same system. Neither the answering model nor the interface is the owner of the record.
Retrieving text is one part of this. The personal prototype also keeps the source of remembered information, separates personal records, and checks permissions and completed tool operations. Continuity depends on those boundaries surviving a model change.
Let people read it.
There is a place to go back through old conversations and see what has been kept. You can fix an entry or delete it. A memory is only worth having if you can look at it and argue with it.
What you said outright is treated differently from what it worked out on its own. Something you stated is not quietly reworded later, and getting rid of it is your decision rather than a background one.
Keep the two questions apart.
Where your memory lives and where a question gets answered are separate choices. Configure local inference and local speech services and the core conversation can run offline. Choose a hosted model and the question, along with any context supplied for the answer, goes to that service even though the durable record stays home. Connected tools can also contact outside services when enabled.
Owning the record and keeping every interaction local are different choices. The interface should make that distinction clear.