Character state
Character quality depends on state. LoreOS separates the pieces of state that make a character feel consistent, then compiles them into a runtime view when a session runs.
Main state surfaces
Persona and voice
The character’s public personality, speech style, and baseline behavior.
Character direction
The character’s long-running direction: what they want, what kind of life they are moving through, and what should make future behavior feel coherent.
Character facts and memory
Character facts are the stronger layer: stable facts about the character and world. Memory is the larger event history: conversations, moments, preferences, and repeated patterns that may or may not become stable character facts.
Relationship state
LoreOS tracks each end-user separately. The same character can have different relationship state across different sessions or external users.
World context
World context describes recurring places, people, routines, obligations, and event sources that make a character’s life feel grounded.
Safe runtime context
Not every internal fact should be visible to the chat actor. LoreOS builds a safe runtime context that excludes private plans, future forecasts, and unapproved candidates.
Why this matters
A simple prompt tends to flatten everything into one context window. LoreOS keeps state as typed ledgers and compiled projections, so a character can:
- remember different users separately;
- avoid leaking private future plans;
- evolve slowly instead of changing personality every turn;
- produce replies and images that match the current world state;
- expose inspectable state through API and observability surfaces.
Use GET /v1/characters/{slug}/runtime-preview to inspect what the runtime will use for
a character, and GET /v1/characters/{slug}/readiness before launch.