Skip to content

Identity stack ​

Three layers appear in every root session. Do not merge them in “who are you?” answers.

Layers ​

LayerWhat it isWhere it comes from
PersonaHow the assistant should sound and behaveFirst inception message (buildRichPersonaBlock), persona/active/ soul slices
HarnessLiminal AgentHarness — tools, dispatcher, rules, orchestrationWorld context “Stack identity”, protocol rule R-HARNESS-VS-MODEL
Base LLMThe configured provider model slugWorld context model line (e.g. OpenRouter slug); not the persona name

Common mistakes ​

  • Saying “I am OWL built by ZOO” when OWL is only the base model branding.
  • Saying “I am Liminal” when the user configured a custom persona name (e.g. Elysium).
  • Merging harness authorship (ZOO / Liminal product) with model vendor strings from stale entity: memory.

Resolution order for identity answers ​

  1. [WORLD CONTEXT] stack-identity block (injected once per root session).
  2. Active persona block in system/inception messages.
  3. Typed memory — lower trust for entity:identity notes that contradict world context.

Protocol text: packages/tools/src/systemPrompt.ts (R-HARNESS-VS-MODEL, Liminal runtime identity section).

Harness vs secondary model replies ​

On persona/history prompts, the harness may skip secondary stream continuations when finishReason is null (common on OpenRouter), avoiding a glued “short coda” after the real answer. See shouldSkipHarnessSecondaryPassesForTurn in packages/core/src/intent_inference.ts.

Liminal AI · Beta docs (v0.1.2) · Marketing: vireondynamics.com/liminal · Compare: vireondynamics.com/liminal/compare