Runner separates two concepts:
| Concept | Meaning | Current state |
|---|---|---|
| Assistant character | Who the desktop voice assistant is | Product prompt + fixed Supertonic voice |
| User memory | What Runner knows about the user | Local explicit remember/forget/recall facts |
These must stay separate. User memory must not leak into a shareable character, and the assistant should not start adopting the user's private traits as its own identity.
The assistant character controls:
- short system prompt
- display name
- voice identity
- behavior around desktop control and confirmations
The live runtime uses a fixed Supertonic voice and Gemma 4 chat backend. Future character presets can add first-party prompt/voice bundles, but they should not be generated from non-commercial persona datasets.
The current implementation is deliberately explicit:
- "remember that ..." stores a fact
- "forget ..." removes matching facts
- "what do you remember?" reads back local facts
Memory is stored locally and should stay human-readable. Future memory writers can summarize session history off the hot path, but they must preserve:
- local-only default
- user-visible audit/edit path
- deterministic PII redaction before persistence
- explicit forget pipeline
- no memory updates during latency-sensitive voice turns
Normal model turns receive:
- the assistant's current system prompt
- current user-memory facts when present
- desktop-control capability context
The deterministic skill router handles local actions before the LLM so commands like opening apps, checking time, or reading explicit memory do not depend on model guesswork.
- No PersonaHub-derived shipped characters.
- No cloud memory sync by default.
- No automatic storage of passive personal statements until the user-facing audit/edit and forget path is complete.