Skip to main content

Individuation Scoring

Individuation scoring measures your profile’s maturity across the memory system. Named after Carl Jung’s concept of individuation — the process of becoming a complete, integrated self — this subsystem tracks four components that together paint a picture of how effectively you use memory, learning, collaboration, and self-reflection.
Individuation scores are calculated via pure SQL queries with results cached in-memory for 60 minutes (configurable). No LLM calls are made during score calculation.

The Four Components

Each component is scored from 0 to 25, for a total score of 0 to 100.
What it measures: How diverse and durable your memory store is.Sub-components:
Sub-componentPointsCalculation
Ring diversity0-10Number of distinct ring types used (x 2.5, max 4 types = 10)
Decay survival0-10Ratio of memories past the compressed stage (x 20)
Shock recovery0-5Ratio of shock memories with success_score > 0.5
How to improve:
  • Use different tool types to build memory across all ring types (procedures, habits, long-term, shocks)
  • Build high-quality memories that survive the decay engine
  • Learn from failures (shock memories with eventual recovery)

Five Maturity Levels

Your total score maps to one of five maturity levels:
LevelScore RangeDescriptionAnalogy
Nascent0-20Just getting started. Few memories, minimal interaction with the system.A seed planted but not yet sprouted
Developing21-40Building initial patterns. Starting to use memory search and observe outcomes.First leaves appearing
Established41-60Consistent memory usage. Contributing to collective patterns and using diverse tools.A young tree with branches
Mature61-80Deep, diverse knowledge base. Active in collective learning and self-reflection.A full canopy providing shade
Individuated81-100Full integration. Rich memory across all rings, active community contributor, high self-awareness.An ancient tree in a forest ecosystem
Individuation scores are snapshot daily (automatically at session start) and compared over two-week windows:
TrendConditionMeaning
AcceleratingRecent week average > previous week by 3+ pointsScore is growing
StableDifference within 3 pointsScore is holding steady
DeceleratingRecent week average < previous week by 3+ pointsScore is declining

Actionable Tips

The API returns a contextual tip based on your weakest component:
Weakest ComponentTip
Memory Depth”Try using different tool types to build diverse memory across all rings.”
Learning Velocity”Record more observations during sessions to accelerate learning.”
Collective Contribution”Rate collective patterns and your successful workflows will help others.”
Self-Awareness”Search your memories more often — self-reflection strengthens understanding.”

API Reference

Get Individuation Score

GET /api/memory/individuation
Authorization: Bearer <api_key>
Response:
{
  "success": true,
  "data": {
    "total": 63,
    "level": "mature",
    "weeklyTrend": "accelerating",
    "tip": "Rate collective patterns and your successful workflows will help others.",
    "components": {
      "memoryDepth": 19,
      "learningVelocity": 17,
      "collectiveContribution": 8,
      "selfAwareness": 19
    }
  }
}

Get Score History

GET /api/memory/individuation?history=true&days=30
Authorization: Bearer <api_key>
Response:
{
  "success": true,
  "data": [
    {
      "total": 45,
      "memoryDepth": 12,
      "learningVelocity": 14,
      "collectiveContribution": 5,
      "selfAwareness": 14,
      "maturityLevel": "established",
      "profileUuid": "prof-123",
      "snapshotDate": "2026-02-01"
    },
    {
      "total": 63,
      "memoryDepth": 19,
      "learningVelocity": 17,
      "collectiveContribution": 8,
      "selfAwareness": 19,
      "maturityLevel": "mature",
      "profileUuid": "prof-123",
      "snapshotDate": "2026-03-01"
    }
  ]
}

SDK Usage

import { PluggedInClient } from 'pluggedinkit-js';

const client = new PluggedInClient({ apiKey: 'your-api-key' });

// Get current score
const score = await client.jungian.getIndividuationScore();
console.log(`Level: ${score.level} (${score.total}/100)`);
console.log(`Trend: ${score.weeklyTrend}`);
console.log(`Tip: ${score.tip}`);
console.log(`Components:`);
console.log(`  Memory Depth: ${score.components.memoryDepth}/25`);
console.log(`  Learning Velocity: ${score.components.learningVelocity}/25`);
console.log(`  Collective Contribution: ${score.components.collectiveContribution}/25`);
console.log(`  Self-Awareness: ${score.components.selfAwareness}/25`);

// Get history for charting
const history = await client.jungian.getIndividuationHistory(30);
for (const snapshot of history) {
  console.log(`${snapshot.snapshotDate}: ${snapshot.total} (${snapshot.maturityLevel})`);
}

MCP Tool

The pluggedin_memory_individuation MCP tool returns your score in a format optimized for AI agent consumption:
Individuation Score: 63/100 (Mature)
Trend: Accelerating

Components:
  Memory Depth: 19/25
  Learning Velocity: 17/25
  Collective Contribution: 8/25
  Self-Awareness: 19/25

Tip: Rate collective patterns and your successful workflows will help others.

Caching

Individuation scores are cached in-memory with a configurable TTL (default 60 minutes). This means:
  • The first request after cache expiry triggers a fresh SQL calculation
  • Subsequent requests within the TTL return the cached result instantly
  • Session start automatically calculates and caches the score
  • Daily snapshots use the freshly calculated score (not the cache)

Configuration

VariableDefaultDescription
INDIVIDUATION_ENABLEDtrueEnable/disable individuation scoring
INDIVIDUATION_CACHE_TTL_MINUTES60In-memory cache TTL for scores
INDIVIDUATION_HISTORY_DAYS90Lookback window for component calculation

Next Steps