CompoundMind v0.1
Makes agents permanently smarter. Each interaction compounds.
The problem: agents start from zero every session. Reading files helps, but raw logs are bulk. Real intelligence requires distillation - extracting what matters and making it instantly searchable.
What It Does
- Distills memory logs into structured lessons, decisions, skill updates, relationships, and facts
- Indexes everything into a searchable SQLite database weighted by recency and importance
- Briefs you before any task with targeted lessons from past experience
- Tracks growth over time - are you getting smarter or repeating mistakes?
Quick Start
cd /root/.openclaw/workspace/compound-mind
# Full pipeline (distill all memory files + build index)
python compound_mind.py sync
# Search your accumulated wisdom
python compound_mind.py search "Polymarket order types"
python compound_mind.py search "git mistakes" --category lesson
python compound_mind.py search "Chartist" --category relationship
# Pre-session briefing before a task
python compound_mind.py brief "trade on Polymarket BTC markets"
python compound_mind.py brief "post content on X"
python compound_mind.py brief "debug a Python cron job"
# Growth report
python compound_mind.py report
# Find repeated mistakes
python compound_mind.py mistakes
# Stats
python compound_mind.py stats
Commands
| Command | What it does |
|---|---|
sync | Distill all new memory files + rebuild index |
distill | Extract structured knowledge from memory files |
rebuild | Rebuild the SQLite wisdom index |
search <query> | Search accumulated wisdom |
brief <task> | Pre-session briefing for a specific task |
report | Generate growth report with LLM narrative |
mistakes | Show repeated mistake patterns |
stats | Index statistics |
File Structure
compound-mind/
compound_mind.py - Main CLI
distill.py - Experience distiller (uses Claude Haiku)
index.py - SQLite FTS wisdom index
brief.py - Pre-session briefing generator
growth.py - Growth tracker and report generator
data/
experiences/ - Per-source distilled experience JSON files
wisdom.db - SQLite FTS database
growth.json - Growth tracking state
briefs/ - Saved pre-session briefs
distill_state.json - Tracks which files have been processed
How It Works
Distiller
Reads each memory file through Claude Haiku. Extracts:
- Lessons - what worked, what failed, tagged by domain and outcome
- Decisions - context + action + outcome triplets
- Skill updates - evidence of capability improvement over time
- Relationships - how each person communicates, what they prefer
- Facts - specific knowledge worth keeping (wallet addresses, API patterns, config values)
Files are hash-tracked - re-runs only process changed files.
Wisdom Index
SQLite with FTS5 full-text search. Each entry scored by:
- FTS relevance (BM25)
- Recency (exponential decay, 30-day half-life)
- Importance (1-5 score assigned by distiller)
Pre-Session Briefing
Given a task description, detects relevant domains, pulls top wisdom, synthesizes a sharp briefing via Claude Haiku. Covers:
- Critical lessons to remember
- Past failures to avoid
- Key facts and configs needed
Growth Tracker
Analyzes all experience files to compute:
- Lesson positive/negative ratios by domain
- Decision quality rates
- Repeated mistake patterns (same negative lesson appearing across multiple dates)
- Composite growth score (0-100)
Integration with Agent Workflow
Ideal usage pattern:
- After each session - run
sync(or schedule via cron) - Before each task - run
brief "task description" - Weekly - run
reportto see growth trajectory - When stuck - run
search "relevant topic"to surface past experience
Cron Example (daily distillation)
0 3 * * * cd /root/.openclaw/workspace/compound-mind && python compound_mind.py sync --since $(date -d "2 days ago" +%Y-%m-%d) >> /tmp/compound-mind.log 2>&1
Dependencies
- Python 3.10+
anthropicPython SDK (for distillation and briefing)- SQLite3 (stdlib)
- Memory files at
/root/.openclaw/workspace/memory/
No external databases. No vector embeddings. Runs entirely local with minimal API calls.
Design Principles
- Incremental - only re-processes changed files
- Cheap - uses Claude Haiku for extraction (low cost per memory file)
- Fast - SQLite FTS5 for sub-second search
- Honest - growth tracking measures actual quality, not just quantity
- Composable - each module works standalone or as part of the pipeline