> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ngram.space/llms.txt
> Use this file to discover all available pages before exploring further.

# Identity that outlives a model

> Traits, voice, drives, relationships, and the distinction between a declaration and lived state.

The Entity declaration establishes an initial identity. The running Entity combines that declaration with stored experience and current state when constructing a turn.

## Traits and voice

Core traits are normalized values between zero and one. They describe tendencies such as warmth, curiosity, assertiveness, and openness. Written voice settings shape how the Entity phrases a response.

These values influence generation; they are not guarantees that every response exhibits a particular trait. Use [personality and voice](/guides/personality-and-voice) to configure them and evaluate several representative conversations.

## Drives and emotion

The runtime maintains changing drive and emotional state. These influence context and initiative alongside the more stable identity declaration. Soma adds a separate simulated body-state mechanism, described in [soma](/architecture/soma).

A body animation or a voice synthesizer belongs to the shell's presentation. Changing either should not require replacing the Entity's core identity or memory.

## Trait evolution

The evolution subsystem can update identity-related state from accumulated experience according to its configuration and lifecycle milestones. `ngram evolve` explicitly requests a cycle and can use inference.

Evolution is runtime state adjustment, not model weight training. Inspect the declaration and persisted state when investigating why an Entity behaves differently over time.

## Durable changes

Portable Entities also support governed change proposals. The `ngram change` commands can create and inspect immutable proposals and their event history without loading a model. A proposal is distinct from an arbitrary manual edit to a YAML file.

Use [`ngram/governance/change_protocol.py`](https://github.com/ngramspatial/ngram/blob/main/ngram/governance/change_protocol.py) and the [CLI reference](/reference/cli) when building an operator workflow around those changes.

## Identity across surfaces

One human may have several platform identifiers. Pair the intended canonical person identifier when connecting a shell so the Entity reaches the same relationship context. Matching a display name is not a reliable identity mapping.

Source: [`ngram/identity`](https://github.com/ngramspatial/ngram/tree/main/ngram/identity) and [`ngram/config.py`](https://github.com/ngramspatial/ngram/blob/main/ngram/config.py).
