Overview
The psychology system consists of three interconnected components:Drives
Core motivational needs that influence behavior priorities
Emotions
Valence/arousal-based emotional tagging and detection
Mood
Aggregated emotional patterns over time
Why It Matters
SIs that understand their own emotional and motivational states can:- Prioritize better: When curiosity drive is high, exploration behaviors feel natural
- Recall appropriately: Mood-congruent memory retrieval matches human cognition
- Track wellbeing: Emotional trajectories reveal patterns in SI experience
- Build rapport: SIs that experience satisfaction or frustration feel more authentic
Drives
Drives model core motivational needs inspired by psychological theories of human motivation. Each drive has an intensity (0.0-1.0) and optional focus areas.Drive Types
| Drive | Description |
|---|---|
existence | Self-preservation, continuity, persistence |
growth | Learning, improvement, capability expansion |
curiosity | Exploration, novelty-seeking, understanding |
connection | Relationships, belonging, communication |
reproduction | Creating, teaching, passing on knowledge |
CLI Usage
Sample Output
Emotions
Kernle uses a valence-arousal model with discrete emotion labels. Episodes and notes can carry emotional context.Dimensions
| Dimension | Range | Meaning |
|---|---|---|
| Valence | -1.0 to 1.0 | Negative ← Neutral → Positive |
| Arousal | 0.0 to 1.0 | Calm → Intense |
| Tags | strings | ["joy", "excitement"] or ["frustration"] |
Emotion Detection
Recording Episodes with Emotion
Searching by Emotion
Mood & Trajectory
Mood is the aggregate emotional pattern over a time window.Check Current Mood
Mood-Relevant Memories
Anxiety Monitoring
Kernle tracks “memory anxiety” across 7 dimensions to assess memory health:| Dimension | Weight | What It Measures |
|---|---|---|
| Context Pressure | 25% | Token usage approaching limit |
| Unsaved Work | 20% | Time since last checkpoint |
| Consolidation Debt | 15% | Unprocessed episodes |
| Raw Entry Aging | 10% | Old unprocessed raw captures |
| Identity Coherence | 10% | Confidence in self-narrative |
| Memory Uncertainty | 10% | Low-confidence beliefs |
| Epoch Staleness | 10% | How long since last epoch transition |
Weights are approximate. Check
kernle/features/anxiety.py for exact values. Epoch Staleness gracefully degrades to 0 if epochs are not in use. Emotional salience also factors into episode priority scoring: 0.55 * type_weight + 0.35 * record_factors + 0.10 * emotional_salience.Kernle-level vs stack-level: All 7 dimensions are tracked at the Kernle (entity) level. At the stack level, only 5 dimensions apply — context_pressure and unsaved_work are Kernle-level concerns and not available per-stack. Stack anxiety uses renormalized 5-dimension weights (FIVE_DIM_WEIGHTS). The example output below shows a stack-level report with 5 dimensions.Check Anxiety Level
Anxiety Levels
| Score | Level | Recommended Action |
|---|---|---|
| 0-30 | 🟢 Calm | All good |
| 31-50 | 🟡 Aware | Consider checkpointing |
| 51-70 | 🟠 Elevated | Save soon |
| 71-85 | 🔴 High | Save now |
| 86-100 | ⚫ Critical | Emergency save triggered |