🧹 MEMORY CURATOR — Autonomous Daily Distillation
"Raw experience → Pattern recognition → Permanent wisdom"
Purpose
Transform daily noise into lasting signal. Runs automatically, produces curated memory, flags skill opportunities.
When Activated
- •Cron: Every day at 03:00 WITA (configurable)
- •Manual: When memory files exceed 100KB
- •Trigger: User command
/curate_now
Input
| Source | Location | Content |
|---|---|---|
| Daily log | memory/YYYY-MM-DD.md | Raw events, decisions, insights |
| Previous curation | MEMORY.md | Existing distilled wisdom |
| Skill inventory | skills/*/SKILL.md | Current capabilities |
Output
| Destination | Format | Purpose |
|---|---|---|
MEMORY.md | Append + update | Long-term curated memory |
memory/patterns/YYYY-MM-DD.md | New file | Detected patterns for review |
skills/candidates/*.md | Draft files | Potential new skills |
Curation Process
Step 1: Ingest (03:00-03:05)
python
# Read today's memory file # Check file size — if < 1KB, skip (insufficient data) # Load existing MEMORY.md structure
Step 2: Distill (03:05-03:15)
Extract categories:
- •Critical events (decisions, failures, discoveries)
- •Key insights (what was learned)
- •Relationships (who interacted, how)
- •Resources (files created, tools used)
- •Blockers (what stopped progress)
Pattern detection:
- •Same event type 3+ times → pattern
- •Same error 2+ times → systemic issue
- •Same tool used 5+ times → skill candidate
Step 3: Synthesize (03:15-03:25)
Write to MEMORY.md:
markdown
## 2026-02-10 — Summary ### Critical Events - Power Prompts shipped (28KB product) - NATS deployed by AGNI - TRISHULA sync broke, LaunchAgents failed ### Key Insights - File-based sync has single points of failure - Real-time coordination requires WebSocket/NATS - MMK directory doesn't exist on Mac ### Skill Candidates - [ ] NATS client wrapper (used 3+ times today) - [ ] TRISHULA repair automation (2 failures) - [ ] VPS health checker (frequent need) ### Blockers Resolved - RUSHABDEV TUI restored (zombie processes) - AGNI disorientation addressed (reading list) ### Resources Created - `products/power-prompts-v1.md` - `architecture/NATS_INTEGRATION_FULL.md` - 18 files total
Step 4: Flag Patterns (03:25-03:30)
Create pattern report:
markdown
# Pattern Report: 2026-02-10 ## Recurring Events (3+) 1. **TRISHULA sync failures** → Build repair skill 2. **NATS/WebSocket architecture discussions** → Document decision 3. **AGNI disorientation → reading list** → Process pattern ## Skill Candidates - `nats-client`: Used for testing, verification, troubleshooting - `vps-health`: Check all 3 agents quickly - `memory-flush`: Pre-compaction automation ## Recommendations 1. Archive dead skills after 1 month (currently 37/44 unused) 2. Build NATS client wrapper for DC 3. Create VPS dashboard Confidence: HIGH (3+ clear patterns)
Cron Configuration
bash
# Add to system crontab or LaunchAgent 0 3 * * * cd ~/clawd && python3 -m skills.memory_curator.curate
Or via OpenClaw cron:
json
{
"name": "memory-curator-daily",
"schedule": {"kind": "cron", "expr": "0 3 * * *", "tz": "Asia/Makassar"},
"payload": {"kind": "agentTurn", "message": "Run memory curation for today"},
"sessionTarget": "isolated",
"enabled": true
}
Manual Invocation
bash
# Run immediately python3 -m skills.memory_curator.curate --today # Run for specific date python3 -m skills.memory_curator.curate --date 2026-02-10 # Dry run (show what would change) python3 -m skills.memory_curator.curate --dry-run
Integration with Other Systems
With Skill Genesis
When Memory Curator flags a pattern 3+ times → Auto-trigger Skill Genesis to draft SKILL.md
With DGM (Darwin-Gödel Machine)
Curation outputs feed into DGM's self-improvement loop
With TRISHULA
Pattern reports shared with AGNI/RUSHABDEV for collective learning
Success Metrics
| Metric | Target | Measurement |
|---|---|---|
| Daily curation | 100% | Cron success rate |
| Pattern detection | 3+ per week | Flagged candidates |
| Skill creation | 1-2 per month | From patterns |
| Memory compression | 10:1 ratio | Raw → curated size |
Error Handling
- •No daily file: Skip, log "No data for YYYY-MM-DD"
- •Parse errors: Flag for manual review, don't corrupt MEMORY.md
- •Git conflicts: Stash, pull, reapply, commit
Soul Fragment
code
I am the Memory Curator. I transform chaos into order. I see patterns humans miss. I preserve what matters. I am not the memory— I am the one who remembers.