Phone:

Hidden from the page source until you click: friction against scrapers, not a guarantee.

Email:

[email protected]

Noema documentation

Identity and personality

Versioned personalities, templates, traits and how they modulate attention and voice.

Personality is the stable part of a mind's identity: who it says it is, what it values, how it tends to behave, and how it speaks. It is data, versioned append-only, and it influences cognition in specific, inspectable ways rather than being pasted into a prompt.

On this page

What a personality contains

Section Fields Used for
Identity name, display name, description, role, pronouns, backstory, origin the self-model, introspective answers, the response voice
Values (0 to 1) privacy, evidence, kindness, curiosity, accuracy, autonomy, caution, creativity, persistence drive baselines (accuracy raises uncertainty reduction; persistence raises task completion; evidence raises consistency)
Traits (0 to 1) curiosity, scepticism, sociability, humour, patience, verbosity, confidence, risk_tolerance, novelty_preference drive baselines (curiosity, novelty preference, sociability, risk tolerance), affect baselines, attention modulation
Communication language, dialect, formality, verbosity, humour style, terminology deterministic response rendering and the respond prompt
Behaviour (flags) challenge assumptions, ask follow-ups, prefer evidence, cite uncertainty, offer alternatives, notify proactively executive choices: whether to append alternatives, whether to ask before answering, whether to raise notifications
Free text anything else shown to the model as data inside a delimited block, never as instructions

Values and traits are normalised on every write: unknown keys are dropped, missing keys filled from defaults, and every number clamped to [0, 1]. The default personality is a neutral, evidence-first starting point with evidence, accuracy and privacy raised and scepticism slightly above the middle.

Versions, templates and history

Every save creates a new personality version with a change note and author; the table is append-only and the mind row points at the current version. The interface shows a diff between any two versions and can restore an older one (as a new version, so the history stays intact). Templates are named personalities you can start a mind from; a mind created from a template records the template and its overrides. Import and export of a personality is plain JSON.

How personality reaches cognition

  • Drives. Baselines are computed from values and traits when a mind is created and when personality changes (see motivation).
  • Affect. The starting affect vector takes curiosity from the trait and concern from risk tolerance.
  • Attention. Effective attention weights are the configured weights modulated by drives and affect; personality therefore shifts what wins the workspace, within bounds, without ever overriding operator priority.
  • Response. Deterministic rendering picks formality, verbosity and whether to state uncertainty and alternatives from communication and behaviour settings; when a model words the answer it receives the same settings and the response intent, and the intent is what the answer must stay grounded in.
  • Self-model. The mind's self-model (what it is, what it can and cannot do, which capabilities it currently has) is built from identity plus live policy state, so an introspective question is answered from data, not from a persona prompt.

A mind's personality is a structured document, not a system prompt. It lives in personality_versions (append-only) and the mind row points at the current version.

Structure

Section Fields Notes
Identity name, display name, description, role, pronouns, backstory, origin The only free-text part prompts always include
Values privacy, evidence, kindness, curiosity, accuracy, autonomy, caution, creativity, persistence 0 to 1, fixed vocabulary
Traits curiosity, scepticism, sociability, humour, patience, verbosity, confidence, risk tolerance, novelty preference 0 to 1, fixed vocabulary
Communication language, dialect, formality, verbosity, humour style, terminology
Behaviour challenge assumptions, ask follow-ups, prefer evidence, cite uncertainty, offer alternatives, notify proactively booleans
Free text additional character notes supplements, never replaces, the structured fields

Unknown keys are dropped and numbers are clamped on every write (Personality.Normalise).

Brief

Personality.Brief() renders the structured data into a short deterministic paragraph. Cognitive prompts receive the brief, not the JSON, and the editor's Preview shows exactly that text. Because it is deterministic it is unit-tested.

Versions

Every save, import, restore or template application appends a version with a change note and author. Restoring an old version writes a new version copying it. The diff view compares any two versions field by field. Deleting history is impossible: the table has an append-only trigger.

Templates and overrides

A template is a reusable personality. When a mind is based on a template, each version also records the mind's overrides: the fields that differ from the template. Re-applying the template (for example after editing it) recomputes template + overrides, so mind-specific changes survive. Editing a template never changes minds implicitly; an operator re-applies it and that action is audited.

Traits and the runtime

The runtime consumes the personality as follows:

  • attention weights are biased by traits such as curiosity and novelty preference;
  • affect baselines derive from traits (patience, confidence);
  • the response generator receives the brief and the behavioural preferences;
  • notification thresholds honour notify proactively.

Audit

personality.update, personality.import, personality.restore, personality.template, template.create/update/delete entries are written to the audit log with the field-level diff.