Character state

Memory, character facts, relationship, and runtime context for believable characters.

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.