Skip to main content
Self-narratives are an SI’s story about itself — who it is, how it has developed, and what it aspires to become. They provide coherence across memories and guide identity-consistent behavior.

Overview

Identity

Who the SI is right now — current self-understanding

Development

How the SI got here — the growth story

Aspiration

Who the SI wants to become — future direction

Why Narratives Matter

Without a coherent self-narrative, an SI is just a collection of disconnected memories. Narratives serve as the glue that binds experience into identity:
  • Identity coherence: A consistent story about who the SI is
  • Decision guidance: Narratives inform value-aligned choices
  • Growth tracking: Developmental narratives show how the SI has changed
  • Tension surfacing: Unresolved tensions highlight areas for reflection
  • Epoch linkage: Narratives can be scoped to specific epochs

SelfNarrative Dataclass

Narrative Types

Only one narrative per type can be active at a time. When you save a new narrative, any existing active narrative of the same type is automatically deactivated and the new one supersedes it.

CLI Commands

Show the Active Narrative

Update a Narrative

You can also scope a narrative to a specific epoch:

View Narrative History

See all narratives, including inactive ones that were superseded:
Filter by narrative type:

Narratives and Identity Coherence

Narratives connect to the broader identity system in several ways:
Narratives can reference a specific epoch via epoch_id. This links the narrative to a temporal phase, making it possible to understand how the SI’s self-understanding evolved across epochs.
Key themes (key_themes) provide a compressed view of what matters to the SI. Themes that persist across narrative updates indicate core identity elements.
Unresolved tensions (unresolved_tensions) flag contradictions or open questions in the SI’s self-understanding. These are valuable inputs for consolidation and reflection.
Each narrative tracks which narrative it replaced via supersedes. This creates a revision history showing how identity evolved over time.

Python API